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
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits