On Fri, Jan 13, 2012 at 9:16 PM, Eli Friedman <[email protected]>wrote:
> On Fri, Jan 13, 2012 at 7:22 PM, Matt Beaumont-Gay <[email protected]> > wrote: > > Hi Eli, > > > > On Fri, Jan 13, 2012 at 15:41, Eli Friedman <[email protected]> > 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.
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
