The right way to deal with this is to expand initializers like `{ "foo" }` to
`{ 'f', 'o', 'o' }` in the structured form of the `InitListExpr` if a
designator tries to replace an element of the list.
================
Comment at: llvm/tools/clang/include/clang/AST/Expr.h:3784
@@ +3783,3 @@
+ // evaluation results will be stored into their PrevInitConstant members.
+ llvm::Constant *PrevInitConstant;
+ Expr *PrevInitExpr;
----------------
This is a huge and unacceptable layering violation. It is not OK for the AST to
refer to IR-level constructs.
http://reviews.llvm.org/D5789
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits