On Thu, May 19, 2016 at 11:15 AM, David Majnemer via cfe-commits < cfe-commits@lists.llvm.org> wrote:
> Author: majnemer > Date: Thu May 19 13:15:53 2016 > New Revision: 270089 > > URL: http://llvm.org/viewvc/llvm-project?rev=270089&view=rev > Log: > [MS ABI] Ignore transparent contexts when determining the effective context > > We didn't skip over extern "C++" contexts, causing us to mangle things > which don't need to be mangled. > Hah, I guess I should have checked MS ABI when I fixed the same bug for Itanium a week or two ago :) > Modified: > cfe/trunk/lib/AST/MicrosoftMangle.cpp > cfe/trunk/test/CodeGenCXX/mangle-ms.cpp > > Modified: cfe/trunk/lib/AST/MicrosoftMangle.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/MicrosoftMangle.cpp?rev=270089&r1=270088&r2=270089&view=diff > > ============================================================================== > --- cfe/trunk/lib/AST/MicrosoftMangle.cpp (original) > +++ cfe/trunk/lib/AST/MicrosoftMangle.cpp Thu May 19 13:15:53 2016 > @@ -94,7 +94,7 @@ static const DeclContext *getEffectiveDe > return getEffectiveDeclContext(cast<Decl>(DC)); > } > > - return DC; > + return DC->getRedeclContext(); > } > > static const DeclContext *getEffectiveParentContext(const DeclContext > *DC) { > > Modified: cfe/trunk/test/CodeGenCXX/mangle-ms.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/mangle-ms.cpp?rev=270089&r1=270088&r2=270089&view=diff > > ============================================================================== > --- cfe/trunk/test/CodeGenCXX/mangle-ms.cpp (original) > +++ cfe/trunk/test/CodeGenCXX/mangle-ms.cpp Thu May 19 13:15:53 2016 > @@ -4,6 +4,11 @@ > int a; > // CHECK-DAG: @"\01?a@@3HA" > > +extern "C++" { > +static int __attribute__((used)) ignore_transparent_context; > +// CHECK-DAG: @ignore_transparent_context > +} > + > namespace N { > int b; > // CHECK-DAG: @"\01?b@N@@3HA" > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits