Skip to content
  • Daniel Dunbar's avatar
    Change EmitConstantExpr to allow failure. · 38ad1e61
    Daniel Dunbar authored
    IRgen no longer relies on isConstantInitializer, instead we just try
    to emit the constant. If that fails then in C we emit an error
    unsupported (this occurs when Sema accepted something that it doesn't
    know how to fold, and IRgen doesn't know how to emit) and in C++ we
    emit a guarded initializer.
    
    This ends up handling a few more cases, because IRgen was actually
    able to emit some of the constants Sema accepts but can't Evaluate().
    For example, PR3398.
    
    llvm-svn: 64780
    38ad1e61
Loading