diff options
| author | John McCall <rjmccall@apple.com> | 2010-02-17 03:52:49 +0000 |
|---|---|---|
| committer | John McCall <rjmccall@apple.com> | 2010-02-17 03:52:49 +0000 |
| commit | 67cea74745f6b7767fc6681eac58d152c383b6c2 (patch) | |
| tree | ac79fda2c0cec629f1f990c9b3d4c067666619e5 /clang/test/CodeGenCXX/virtual-bases.cpp | |
| parent | 5734217c8493dd4f034482a0df2ad48826408032 (diff) | |
| download | bcm5719-llvm-67cea74745f6b7767fc6681eac58d152c383b6c2.tar.gz bcm5719-llvm-67cea74745f6b7767fc6681eac58d152c383b6c2.zip | |
Emit complete constructors and destructors as aliases to base constructors
and destructors when the two entities are semantically identical, i.e. when
the class has no virtual base classes. We only do this for linkage types
for which aliases are supported, i.e. internal and external, i.e. not linkonce.
llvm-svn: 96451
Diffstat (limited to 'clang/test/CodeGenCXX/virtual-bases.cpp')
| -rw-r--r-- | clang/test/CodeGenCXX/virtual-bases.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/test/CodeGenCXX/virtual-bases.cpp b/clang/test/CodeGenCXX/virtual-bases.cpp index 200f21a5da7..bd29b8d9d38 100644 --- a/clang/test/CodeGenCXX/virtual-bases.cpp +++ b/clang/test/CodeGenCXX/virtual-bases.cpp @@ -4,7 +4,7 @@ struct A { A(); }; -// CHECK: define void @_ZN1AC1Ev(%struct.A* %this) +// CHECK: @_ZN1AC1Ev = alias {{.*}} @_ZN1AC2Ev // CHECK: define void @_ZN1AC2Ev(%struct.A* %this) A::A() { } @@ -12,14 +12,14 @@ struct B : virtual A { B(); }; -// CHECK: define void @_ZN1BC1Ev(%struct.B* %this) // CHECK: define void @_ZN1BC2Ev(%struct.B* %this, i8** %vtt) +// CHECK: define void @_ZN1BC1Ev(%struct.B* %this) B::B() { } struct C : virtual A { C(bool); }; -// CHECK: define void @_ZN1CC1Eb(%struct.B* %this, i1 zeroext) // CHECK: define void @_ZN1CC2Eb(%struct.B* %this, i8** %vtt, i1 zeroext) +// CHECK: define void @_ZN1CC1Eb(%struct.B* %this, i1 zeroext) C::C(bool) { } |

