================ @@ -7639,6 +7639,8 @@ def warn_param_mismatched_alignment : Warning< def err_objc_object_assignment : Error< "cannot assign to class object (%0 invalid)">; +def err_typecheck_array_prvalue_operand : Error< + "array prvalue is not permitted">; ---------------- AaronBallman wrote:
It's better than "array prvalue" but if you're coming from a C background, that's not going to look like a temporary array to you, either. What kind of diagnostic would we get for: ``` #define X ({(int[10]){};}) void func() { (void)(X + 0); } ``` IIRC there's no rvalue conversion on the statement expression result so I think that ends up being a prvalue of array type (not a decayed pointer) plus an integer, so the type information would actually be helpful. https://github.com/llvm/llvm-project/pull/140702 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits