Fix PR14321, a crash when Clang is built with GCC 4.7 at -O1 or greater.
authorMatt Beaumont-Gay <matthewbg@google.com>
Fri, 16 Nov 2012 01:14:52 +0000 (01:14 +0000)
committerMatt Beaumont-Gay <matthewbg@google.com>
Fri, 16 Nov 2012 01:14:52 +0000 (01:14 +0000)
GCC 4.7 reuses stack slots fairly aggressively, which exposes more temporary
lifetime bugs.

No new test, this was caught by the existing CodeGenCXX/mangle-ms-templates.cpp.

llvm-svn: 168124

clang/lib/AST/MicrosoftMangle.cpp

index 98da920..7a12c4d 100644 (file)
@@ -373,7 +373,7 @@ isTemplate(const NamedDecl *ND,
       dyn_cast<ClassTemplateSpecializationDecl>(ND)) {
     TypeSourceInfo *TSI = Spec->getTypeAsWritten();
     if (TSI) {
-      TemplateSpecializationTypeLoc &TSTL =
+      TemplateSpecializationTypeLoc TSTL =
         cast<TemplateSpecializationTypeLoc>(TSI->getTypeLoc());
       TemplateArgumentListInfo LI(TSTL.getLAngleLoc(), TSTL.getRAngleLoc());
       for (unsigned i = 0, e = TSTL.getNumArgs(); i != e; ++i)