eugenis added a comment.

In http://reviews.llvm.org/D13925#276626, @majnemer wrote:

> No diagnostic is issued for the following C test case:
>
>   int x __attribute__((internal_linkage));
>   int x __attribute__((common));
>   int *f() { return &x; }


Thanks for noticing! Added missing attribute merging logic in SemaAttr.cpp.


================
Comment at: include/clang/Basic/Attr.td:2112
@@ +2111,3 @@
+
+def InternalLinkage : InheritableAttr {
+  let Spellings = [GCC<"internal_linkage">];
----------------
Because the list of subjects is long and unusual, and Subjects field does not 
support arbitrary lists - all combinations must have a specific diagnostic line 
elsewhere in the code.

This is checked in handleInternalLinkageAttr instead.


Repository:
  rL LLVM

http://reviews.llvm.org/D13925



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to