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

Reply via email to