On Sat, Jan 14, 2012 at 4:14 PM, Chandler Carruth <[email protected]> wrote: > 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.
Oh, wait, nevermind, I was misreading the standard. It's just that our code for this stuff appears a bit circular because our linkage-computation code distinguishes between UniqueExternal and External, while the standard doesn't. -Eli _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
