[PATCH] Itanium ABI: Update getAddrOfVTable to set the DLL storage class for vtables

Reid Kleckner rnk at google.com
Mon Jun 2 14:29:13 PDT 2014


lgtm

================
Comment at: test/CodeGenCXX/dllimport.cpp:530
@@ -529,2 +529,3 @@
 // MO1-DAG: @"\01??_7W@@6B@" = available_externally dllimport unnamed_addr constant [1 x i8*] [i8* bitcast (void (%struct.W*)* @"\01?foo at W@@UAEXXZ" to i8*)]
+// GO1-DAG: @_ZTV1W = available_externally dllimport unnamed_addr constant [3 x i8*] [i8* null, i8* null, i8* bitcast (void (%struct.W*)* @_ZN1W3fooEv to i8*)]
 
----------------
Can you test the case where the vtable is external?  A class with a key function at -O0 should do.

In related news, we don't appear to emit available_externally vtables for classes with key functions at -O1.  That seems like a bad missed optimization.

http://reviews.llvm.org/D3993






More information about the cfe-commits mailing list