r244266 - [ItaniumCXXABI] Don't import RTTI data for classes with key functions

Hans Wennborg via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 14 11:27:55 PDT 2015


On Tue, Aug 11, 2015 at 1:41 PM, Hans Wennborg <hans at chromium.org> wrote:
> On Thu, Aug 6, 2015 at 1:56 PM, David Majnemer via cfe-commits
> <cfe-commits at lists.llvm.org> wrote:
>> Author: majnemer
>> Date: Thu Aug  6 15:56:55 2015
>> New Revision: 244266
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=244266&view=rev
>> Log:
>> [ItaniumCXXABI] Don't import RTTI data for classes with key functions
>>
>> MinGW has some pretty strange behvaior around RTTI and
>> dllimport/dllexport:
>> - RTTI data is never imported
>> - RTTI data is only exported if the class has no key function.
>>
>> Modified:
>>     cfe/trunk/lib/CodeGen/ItaniumCXXABI.cpp
>>     cfe/trunk/test/CodeGenCXX/dllimport-rtti.cpp
>
> I tried to merge this to 3.7 (as discussed on the commit thread for
> r244488), but the test doesn't pass:
>
> --
> /usr/local/google/work/llvm-3.7/cfe.src/test/CodeGenCXX/dllimport-rtti.cpp:22:13:
> error: expected string not found in input
> // GNU-DAG: @_ZTV1V = available_externally dllimport
>             ^
> <stdin>:1:1: note: scanning from here
> ; ModuleID = '/usr/local/google/work/llvm-3.7/cfe.src/test/CodeGenCXX/dllimport-rtti.cpp'
> ^
> <stdin>:15:1: note: possible intended match here
> @_ZTV1S = available_externally dllimport unnamed_addr constant [3 x
> i8*] [i8* null, i8* bitcast (i8** @_ZTI1S to i8*), i8* bitcast (void
> (%struct.S*)* @_ZN1S1fEv to i8*)], align 4
> ^
> --
>
> I assume there's some other commit this depends on, but I haven't been
> able to figure out which. Can you take a look?

Ping?


More information about the cfe-commits mailing list