[cfe-commits] r148158 - in /cfe/trunk: lib/Sema/SemaDecl.cpp lib/Sema/SemaExpr.cpp lib/Serialization/ASTWriterDecl.cpp test/SemaCXX/linkage.cpp

Chandler Carruth chandlerc at google.com
Sat Jan 14 16:14:29 PST 2012


On Fri, Jan 13, 2012 at 9:16 PM, Eli Friedman <eli.friedman at gmail.com>wrote:

> On Fri, Jan 13, 2012 at 7:22 PM, Matt Beaumont-Gay <matthewbg at google.com>
> wrote:
> > Hi Eli,
> >
> > On Fri, Jan 13, 2012 at 15:41, Eli Friedman <eli.friedman at gmail.com>
> wrote:
> >> Modified: cfe/trunk/test/SemaCXX/linkage.cpp
> >> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/linkage.cpp?rev=148158&r1=148157&r2=148158&view=diff
> >>
> ==============================================================================
> >> --- cfe/trunk/test/SemaCXX/linkage.cpp (original)
> >> +++ cfe/trunk/test/SemaCXX/linkage.cpp Fri Jan 13 17:41:25 2012
> >> @@ -76,13 +76,15 @@
> >>     struct X {
> >>       int f() {
> >>         extern int g();
> >> -        extern int a;
> >> +        // FIXME: We don't compute the correct linkage for this
> variable
> >> +        // at the moment
> >> +        // extern int a;
> >
> > Are you planning on addressing this FIXME soon? We have some code
> > which looks roughly like this, and now Clang is producing a warning
> > "variable 'a' has internal linkage but is not defined".
>
> Per the C++11 rules, this variable clearly has internal linkage, but
> the C++98 rules aren't very clear, and I'm not sure what the
> gcc-compatible rules are.  If you can point me to some description, I
> can implement it.


I'm not sure what C++11 rules you're referring to (I just haven't read that
part of the standard), but these definitely don't actually have internal
linkage... Both Clang and GCC give them external linkage and C mangling.
This is true even in C++11 mode, both with GCC and Clang in my tests... So
this warning looks like a false positive.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120114/9f547118/attachment.html>


More information about the cfe-commits mailing list