Anders Carlsson
|
ac2f681777
|
More RTTI cleanup, test that RTTI classes have the correct vtables.
llvm-svn: 92284
|
2009-12-30 01:00:12 +00:00 |
Anders Carlsson
|
79c184e975
|
Match gcc and treat vector types as fundamental types.
llvm-svn: 92278
|
2009-12-29 22:30:11 +00:00 |
Anders Carlsson
|
ef88695860
|
Handle enum types as well.
llvm-svn: 92276
|
2009-12-29 22:13:01 +00:00 |
Anders Carlsson
|
0e4151c685
|
Test linkage of RTTI descriptors of array types.
llvm-svn: 92274
|
2009-12-29 21:58:32 +00:00 |
Anders Carlsson
|
26cf4ab8e2
|
Fix function type RTTI linkage and add tests.
llvm-svn: 92266
|
2009-12-29 20:20:19 +00:00 |
Mike Stump
|
bb2f57dd39
|
Don't set hidden for a non-external symbol as that would make it extenal.
Refine codegen for visibility and hidden. WIP.
llvm-svn: 92118
|
2009-12-24 02:33:48 +00:00 |
Mike Stump
|
a8a2a33af9
|
Fix recent regression caught by g++.old-deja/g++.mike/eh19.C.
llvm-svn: 92109
|
2009-12-24 01:10:27 +00:00 |
Mike Stump
|
f3c23c0cd4
|
Fix regression found by g++.dg/eh/alias1.C.
llvm-svn: 92072
|
2009-12-23 22:48:20 +00:00 |
Anders Carlsson
|
2b7f444366
|
Incomplete structs should also have internal linkage.
llvm-svn: 91805
|
2009-12-21 00:41:42 +00:00 |
Anders Carlsson
|
18e6ee1b20
|
Correcly handle pointers to member pointer types where the class or the pointee is incomplete.
llvm-svn: 91804
|
2009-12-20 23:37:55 +00:00 |
Anders Carlsson
|
d008129f34
|
Rework the way pointer types are handled by the RTTI builder. We now get the right linkage for indirect pointers to incomplete structs.
llvm-svn: 91799
|
2009-12-20 22:30:54 +00:00 |
Daniel Dunbar
|
e017ecc9e2
|
Remove ';' after method definition. Noticed by clang++, which one would think
would have a higher respect for its own code. This is getting old, is this
warning really adding value?
llvm-svn: 91779
|
2009-12-19 17:50:07 +00:00 |
Anders Carlsson
|
3f4336cb1f
|
Rename GetAddrOfRTTI to GetAddrOfRTTIDescriptor. Remove the overload that takes a CXXRecordDecl since we were just creating a QualType from it anyway.
llvm-svn: 91590
|
2009-12-17 07:09:17 +00:00 |
Anders Carlsson
|
1fd734276d
|
Simplify RTTIBuilder::finish.
llvm-svn: 91585
|
2009-12-17 05:10:59 +00:00 |
Anders Carlsson
|
e5a94105eb
|
Move the Info vector into the RTTIBuilder struct. No functionality change.
llvm-svn: 91583
|
2009-12-17 05:06:03 +00:00 |
Anders Carlsson
|
07863b8b6e
|
Use GetAddrOfRTTI everywhere and remove GenerateRTTI and GenerateRTTIRef. With this change, we can now compile and link TableGen.
llvm-svn: 91520
|
2009-12-16 07:05:41 +00:00 |
Anders Carlsson
|
c67974ccb1
|
Simplify BuildSimpleType in the RTTBuilder to avoid using an std::vector.
llvm-svn: 91255
|
2009-12-13 23:47:29 +00:00 |
Anders Carlsson
|
e7025c55a4
|
Change the RTTIBuilder's finish member function to take a pointer to the constants array + the length of the array.
llvm-svn: 91241
|
2009-12-13 16:38:01 +00:00 |
Eli Friedman
|
3ace52b3a7
|
Fix linkage of type info and vtable for classes without linkage.
llvm-svn: 91152
|
2009-12-11 20:48:18 +00:00 |
Anders Carlsson
|
1d6ad50826
|
Move info vectors and add assertions in preparation of moving the vector directly into RTTIBuilder.
llvm-svn: 91129
|
2009-12-11 16:41:51 +00:00 |
Anders Carlsson
|
a0b98f083a
|
Use GetAddrOfRTTI when getting the RTTI pointer for a base class.
llvm-svn: 91127
|
2009-12-11 16:37:06 +00:00 |
Anders Carlsson
|
fd7dfeb779
|
Improve linkage of RTTI data structures. Introduce CodeGenModule::GetAddrOfRTTI which figures out the right linkage of the RTTI information for the given type and whether it should be defined or not. I will migrate clients over to GetAddrOfRTTI in subsequent commits (with tests).
llvm-svn: 91098
|
2009-12-11 02:46:30 +00:00 |
Anders Carlsson
|
c988201417
|
Use named flags in RTTIBuilder::BuildPointerType.
llvm-svn: 91088
|
2009-12-11 01:27:37 +00:00 |
Mike Stump
|
afe4764fa5
|
Be sure to instantiate rtti for non-polymorphic bases.
llvm-svn: 90586
|
2009-12-04 20:55:13 +00:00 |
Mike Stump
|
ae1b85d984
|
Put the Builder classes into the anonymous namespace.
llvm-svn: 90335
|
2009-12-02 19:07:44 +00:00 |
Mike Stump
|
c01c2b87e8
|
Change rtti/Rtti to RTTI, as it is an acronym.
llvm-svn: 90334
|
2009-12-02 18:57:08 +00:00 |
Mike Stump
|
d6eb364b31
|
Rename CGRtti.cpp to CGRTTI.cpp.
llvm-svn: 90331
|
2009-12-02 18:32:08 +00:00 |