@@ -6113,6 +6113,8 @@ def note_deleted_special_member_class_subobject : Note<
61136113 "destructor}5"
61146114 "%select{||s||}4"
61156115 "|is an ObjC pointer}6">;
6116+ def note_default_constructed_field
6117+ : Note<"default constructed field %0 declared here">;
61166118def note_deleted_default_ctor_uninit_field : Note<
61176119 "%select{default constructor of|constructor inherited by}0 "
61186120 "%1 is implicitly deleted because field %2 of "
@@ -12903,6 +12905,48 @@ def err_acc_update_as_body
1290312905 : Error<"OpenACC 'update' construct may not appear in place of the "
1290412906 "statement following a%select{n if statement| while statement| do "
1290512907 "statement| switch statement| label statement}0">;
12908+ def err_acc_invalid_atomic
12909+ : Error<"statement associated with OpenACC 'atomic%select{| "
12910+ "%1}0' directive is invalid">;
12911+ def note_acc_atomic_expr_must_be
12912+ : Note<"expected "
12913+ "%enum_select<OACCAtomicExpr>{%Assign{assignment}|%UnaryCompAssign{"
12914+ "assignment, compound assignment, increment, or decrement}}0 "
12915+ "expression">;
12916+ def note_acc_atomic_unsupported_unary_operator
12917+ : Note<"unary operator not supported, only increment and decrement "
12918+ "operations permitted">;
12919+ def note_acc_atomic_unsupported_binary_operator
12920+ : Note<"binary operator not supported, only +, *, -, /, &, ^, |, <<, or >> "
12921+ "are permitted">;
12922+ def note_acc_atomic_unsupported_compound_binary_operator
12923+ : Note<"compound binary operator not supported, only +=, *=, -=, /=, &=, "
12924+ "^=, |=, <<=, or >>= are permitted">;
12925+
12926+ def note_acc_atomic_operand_lvalue_scalar
12927+ : Note<"%select{left |right |}0operand to "
12928+ "%enum_select<OACCAtomicOpKind>{%Assign{assignment}|%CompoundAssign{"
12929+ "compound assignment}|%Inc{increment}|"
12930+ "%Dec{decrement}}1 "
12931+ "expression must be "
12932+ "%enum_select<OACCLValScalar>{%LVal{an l-value}|%Scalar{of scalar "
12933+ "type (was %3)}}2">;
12934+ def note_acc_atomic_too_many_stmts
12935+ : Note<"'atomic capture' with a compound statement only supports two "
12936+ "statements">;
12937+ def note_acc_atomic_expected_binop : Note<"expected binary operation on right "
12938+ "hand side of assignment operator">;
12939+ def note_acc_atomic_mismatch_operand
12940+ : Note<"left hand side of assignment operation('%0') must match one side "
12941+ "of the sub-operation on the right hand side('%1' and '%2')">;
12942+ def note_acc_atomic_mismatch_compound_operand
12943+ : Note<"variable %select{|in unary expression|on right hand side of "
12944+ "assignment|on left hand side of assignment|on left hand side of "
12945+ "compound assignment|on left hand side of assignment}2('%3') must "
12946+ "match variable used %select{|in unary expression|on right hand "
12947+ "side of assignment|<not possible>|on left hand side of compound "
12948+ "assignment|on left hand side of assignment}0('%1') from the first "
12949+ "statement">;
1290612950
1290712951// AMDGCN builtins diagnostics
1290812952def err_amdgcn_global_load_lds_size_invalid_value : Error<"invalid size value">;
0 commit comments