@@ -174,12 +174,10 @@ class IdentifierArgument<string name, bit opt = 0> : Argument<name, opt>;
174
174
class IntArgument<string name, bit opt = 0> : Argument<name, opt>;
175
175
class StringArgument<string name, bit opt = 0> : Argument<name, opt>;
176
176
class ExprArgument<string name, bit opt = 0> : Argument<name, opt>;
177
- class FunctionArgument<string name, bit opt = 0, bit fake = 0> : Argument<name,
178
- opt,
179
- fake>;
180
- class NamedArgument<string name, bit opt = 0, bit fake = 0> : Argument<name,
181
- opt,
182
- fake>;
177
+ class DeclArgument<DeclNode kind, string name, bit opt = 0, bit fake = 0>
178
+ : Argument<name, opt, fake> {
179
+ DeclNode Kind = kind;
180
+ }
183
181
184
182
// An argument of a OMPDeclareVariantAttr that represents the `match`
185
183
// clause of the declare variant by keeping the information (incl. nesting) in
@@ -956,7 +954,7 @@ def OSConsumesThis : InheritableAttr {
956
954
957
955
def Cleanup : InheritableAttr {
958
956
let Spellings = [GCC<"cleanup">];
959
- let Args = [FunctionArgument< "FunctionDecl">];
957
+ let Args = [DeclArgument<Function, "FunctionDecl">];
960
958
let Subjects = SubjectList<[LocalVar]>;
961
959
let Documentation = [Undocumented];
962
960
}
@@ -2382,7 +2380,7 @@ def DiagnoseIf : InheritableAttr {
2382
2380
["error", "warning"],
2383
2381
["DT_Error", "DT_Warning"]>,
2384
2382
BoolArgument<"ArgDependent", 0, /*fake*/ 1>,
2385
- NamedArgument< "Parent", 0, /*fake*/ 1>];
2383
+ DeclArgument<Named, "Parent", 0, /*fake*/ 1>];
2386
2384
let InheritEvenIfAlreadyPresent = 1;
2387
2385
let LateParsed = 1;
2388
2386
let AdditionalMembers = [{
0 commit comments