Fix a couple of mangling canonicalizer corner case bugs.
authorRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 13 Sep 2018 20:00:21 +0000 (20:00 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 13 Sep 2018 20:00:21 +0000 (20:00 +0000)
commit8d8c057eabf56d9f83b14334c8107fc7217f67c7
treef3eeaaeecf7e701471cc86f27e1300e26976e874
parentf9ca6dd8f76ec9047938fd37746611948814edf3
Fix a couple of mangling canonicalizer corner case bugs.

Summary:
The hash computed for an ArrayType was different when first constructed
versus when later profiled due to the constructor default argument, and
we were not tracking constructor / destructor variant as part of the
mangled name AST, leading to incorrect equivalences.

Reviewers: erik.pilkington

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D51463

llvm-svn: 342166
llvm/include/llvm/Demangle/ItaniumDemangle.h
llvm/unittests/Support/ItaniumManglingCanonicalizerTest.cpp