aaron.ballman added inline comments. ================ Comment at: include/clang/Basic/Attr.td:1674 @@ +1673,3 @@ + TargetSpecificAttr<TargetAnyX86> { + let Spellings = [GNU<"no_caller_saved_registers">]; + let Subjects = SubjectList<[FunctionLike], WarnDiag, "ExpectedFunction">; ---------------- aaboud wrote: > aaron.ballman wrote: > > Yes, though interrupt should be handled in a separate patch since it's a > > logically separate change. > How about using GCC Spelling instead of GNU and C++? > > 1. These attributes are compatible with GCC. > 2. This is what is said about GCC class: > > ``` > // The GCC spelling implies GNU<name, "GNU"> and CXX11<"gnu", name> and also > // sets KnownToGCC to 1. This spelling should be used for any GCC-compatible > // attributes. > class GCC<string name> : Spelling<name, "GCC"> { > let KnownToGCC = 1; > } > ``` The GCC spelling should only be used if the attribute is also supported by GCC, which this one is not. So the spelling should be `GNU<"no_caller_saved_registers">`, and `CXX11<"clang", "no_caller_saved_registers">`.
https://reviews.llvm.org/D22045 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits