summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-05-04 18:47:54 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-05-04 18:47:54 +0000
commitab1309252cd8dc0bded3b2292a7ccdeb676fb9d4 (patch)
tree58e52cb1293dd08c87ab2aa02bfaeae6ed8d0920 /clang/lib/Basic/Targets.cpp
parentc9c55a26bd7fe1962ea1529ee0d0ccd0ea9f90da (diff)
downloadbcm5719-llvm-ab1309252cd8dc0bded3b2292a7ccdeb676fb9d4.tar.gz
bcm5719-llvm-ab1309252cd8dc0bded3b2292a7ccdeb676fb9d4.zip
[MS ABI] Fix a crash in vptr path calculation
I discovered a case where the old algorithm would crash. Instead of trying to patch the algorithm, rewrite it. The new algorithm operates in three phases: 1. Find all paths to the subobject with the vptr. 2. Remove paths which are subsets of other paths. 3. Select the best path where 'best' is defined as introducing the most covariant overriders. If two paths introduce different overriders, raise a diagnostic. llvm-svn: 236444
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud