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

Reply via email to