diff options
| author | Jordan Rose <jordan_rose@apple.com> | 2013-06-25 01:55:59 +0000 |
|---|---|---|
| committer | Jordan Rose <jordan_rose@apple.com> | 2013-06-25 01:55:59 +0000 |
| commit | b3b976f0615db228547bb4e538b876722e090552 (patch) | |
| tree | 870dc5c21c2c978ab54bf2074e366fa2ae00b5b1 /clang/lib/Driver/Tool.cpp | |
| parent | 5a8738ffe0170e2ffd9f08fa3c9fb93288070c2f (diff) | |
| download | bcm5719-llvm-b3b976f0615db228547bb4e538b876722e090552.tar.gz bcm5719-llvm-b3b976f0615db228547bb4e538b876722e090552.zip | |
[analyzer] Don't initialize virtual base classes more than once.
In order to make sure virtual base classes are always initialized once,
the AST contains initializers for the base class in /all/ of its
descendents, not just the immediate descendents. However, at runtime,
the most-derived object is responsible for initializing all the virtual
base classes; all the other initializers will be ignored.
The analyzer now checks to see if it's being called from another base
constructor, and if so does not perform virtual base initialization.
<rdar://problem/14236851>
llvm-svn: 184814
Diffstat (limited to 'clang/lib/Driver/Tool.cpp')
0 files changed, 0 insertions, 0 deletions

