[PATCH] Inherit dll attributes to static locals

Reid Kleckner rnk at google.com
Tue Jun 17 19:49:37 PDT 2014


lgtm

================
Comment at: lib/Sema/SemaDecl.cpp:9108
@@ -9107,1 +9107,3 @@
 
+  // Static locals inherit dll attributes from their function.
+  if (VD->isStaticLocal()) {
----------------
Hans Wennborg wrote:
> Reid Kleckner wrote:
> > Should this go before checkAttributesAfterMerging?  Consider this obnoxious test case:
> >   int f();
> >   inline __declspec(dllexport) int g() {
> >     static __declspec(dllimport) int x = f();
> >     return x;
> >   }
> Local variables cannot have explicit dll attributes. They can only get them by inheriting from the function they're part of, so calling checkAttributesAfterMerging to check up on the attribute we just added seems redundant.
OK.  I assume this is covered by Nico's extensive test cases.  :)

http://reviews.llvm.org/D4136






More information about the cfe-commits mailing list