Author: Mital Ashok Date: 2024-08-12T20:30:40+02:00 New Revision: c6428162c13b330b26b1916a9d6c45ee41ff4a1e
URL: https://github.com/llvm/llvm-project/commit/c6428162c13b330b26b1916a9d6c45ee41ff4a1e DIFF: https://github.com/llvm/llvm-project/commit/c6428162c13b330b26b1916a9d6c45ee41ff4a1e.diff LOG: [NFC] Deduplicate clang::AccessKinds to diagnostic strings (#102030) Added: Modified: clang/include/clang/Basic/DiagnosticASTKinds.td Removed: ################################################################################ diff --git a/clang/include/clang/Basic/DiagnosticASTKinds.td b/clang/include/clang/Basic/DiagnosticASTKinds.td index a024f9b2a9f8c0..eb82e0159b56ed 100644 --- a/clang/include/clang/Basic/DiagnosticASTKinds.td +++ b/clang/include/clang/Basic/DiagnosticASTKinds.td @@ -166,15 +166,22 @@ def note_constexpr_heap_alloc_limit_exceeded : Note< def note_constexpr_this : Note< "%select{|implicit }0use of 'this' pointer is only allowed within the " "evaluation of a call to a 'constexpr' member function">; -def note_constexpr_lifetime_ended : Note< +def access_kind : TextSubstitution< "%select{read of|read of|assignment to|increment of|decrement of|" "member call on|dynamic_cast of|typeid applied to|construction of|" - "destruction of}0 %select{temporary|variable}1 whose " - "%plural{8:storage duration|:lifetime}0 has ended">; -def note_constexpr_access_uninit : Note< + "destruction of}0">; +def access_kind_subobject : TextSubstitution< "%select{read of|read of|assignment to|increment of|decrement of|" "member call on|dynamic_cast of|typeid applied to|" - "construction of subobject of|destruction of}0 " + "construction of subobject of|destruction of}0">; +def access_kind_volatile : TextSubstitution< + "%select{read of|read of|assignment to|increment of|decrement of|" + "<ERROR>|<ERROR>|<ERROR>|<ERROR>|<ERROR>}0">; +def note_constexpr_lifetime_ended : Note< + "%sub{access_kind}0 %select{temporary|variable}1 whose " + "%plural{8:storage duration|:lifetime}0 has ended">; +def note_constexpr_access_uninit : Note< + "%sub{access_kind_subobject}0 " "%select{object outside its lifetime|uninitialized object}1 " "is not allowed in a constant expression">; def note_constexpr_use_uninit_reference : Note< @@ -184,20 +191,16 @@ def note_constexpr_modify_const_type : Note< "modification of object of const-qualified type %0 is not allowed " "in a constant expression">; def note_constexpr_access_volatile_type : Note< - "%select{read of|read of|assignment to|increment of|decrement of|" - "<ERROR>|<ERROR>|<ERROR>|<ERROR>}0 " + "%sub{access_kind_volatile}0 " "volatile-qualified type %1 is not allowed in a constant expression">; def note_constexpr_access_volatile_obj : Note< - "%select{read of|read of|assignment to|increment of|decrement of|" - "<ERROR>|<ERROR>|<ERROR>|<ERROR>}0 " + "%sub{access_kind_volatile}0 " "volatile %select{temporary|object %2|member %2}1 is not allowed in " "a constant expression">; def note_constexpr_volatile_here : Note< "volatile %select{temporary created|object declared|member declared}0 here">; def note_constexpr_access_mutable : Note< - "%select{read of|read of|assignment to|increment of|decrement of|" - "member call on|dynamic_cast of|typeid applied to|construction of|" - "destruction of}0 " + "%sub{access_kind}0 " "mutable member %1 is not allowed in a constant expression">; def note_constexpr_ltor_non_const_int : Note< "read of non-const variable %0 is not allowed in a constant expression">; @@ -209,47 +212,28 @@ def note_constexpr_ltor_non_constexpr : Note< def note_constexpr_ltor_incomplete_type : Note< "read of incomplete type %0 is not allowed in a constant expression">; def note_constexpr_access_null : Note< - "%select{read of|read of|assignment to|increment of|decrement of|" - "member call on|dynamic_cast of|typeid applied to|construction of|" - "destruction of}0 " + "%sub{access_kind}0 " "dereferenced null pointer is not allowed in a constant expression">; def note_constexpr_access_past_end : Note< - "%select{read of|read of|assignment to|increment of|decrement of|" - "member call on|dynamic_cast of|typeid applied to|construction of|" - "destruction of}0 " - "dereferenced one-past-the-end pointer is not allowed " - "in a constant expression">; + "%sub{access_kind}0 dereferenced one-past-the-end pointer " + "is not allowed in a constant expression">; def note_constexpr_access_unsized_array : Note< - "%select{read of|read of|assignment to|increment of|decrement of|" - "member call on|dynamic_cast of|typeid applied to|construction of|" - "destruction of}0 " - "element of array without known bound " + "%sub{access_kind}0 element of array without known bound " "is not allowed in a constant expression">; def note_constexpr_access_inactive_union_member : Note< - "%select{read of|read of|assignment to|increment of|decrement of|" - "member call on|dynamic_cast of|typeid applied to|" - "construction of subobject of|destruction of}0 " + "%sub{access_kind_subobject}0 " "member %1 of union with %select{active member %3|no active member}2 " "is not allowed in a constant expression">; def note_constexpr_union_member_change_during_init : Note< "assignment would change active union member during the initialization of " "a diff erent member of the same union">; def note_constexpr_access_static_temporary : Note< - "%select{read of|read of|assignment to|increment of|decrement of|" - "member call on|dynamic_cast of|typeid applied to|reconstruction of|" - "destruction of}0 temporary " - "is not allowed in a constant expression outside the expression that " - "created the temporary">; + "%sub{access_kind}0 temporary is not allowed in a constant expression " + "outside the expression that created the temporary">; def note_constexpr_access_unreadable_object : Note< - "%select{read of|read of|assignment to|increment of|decrement of|" - "member call on|dynamic_cast of|typeid applied to|construction of|" - "destruction of}0 " - "object '%1' whose value is not known">; + "%sub{access_kind}0 object '%1' whose value is not known">; def note_constexpr_access_deleted_object : Note< - "%select{read of|read of|assignment to|increment of|decrement of|" - "member call on|dynamic_cast of|typeid applied to|construction of|" - "destruction of}0 " - "heap allocated object that has been deleted">; + "%sub{access_kind}0 heap allocated object that has been deleted">; def note_constexpr_modify_global : Note< "a constant expression cannot modify an object that is visible outside " "that expression">; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits