]> granicus.if.org Git - clang/commitdiff
Do not repeat debug info for file variable constants.
authorDevang Patel <dpatel@apple.com>
Fri, 8 Oct 2010 17:02:40 +0000 (17:02 +0000)
committerDevang Patel <dpatel@apple.com>
Fri, 8 Oct 2010 17:02:40 +0000 (17:02 +0000)
This is tested by file-statics.exp in gdb testsuite.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116060 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGExprScalar.cpp

index 62433a178141f2ab6fa4411e25806f5213bb79f3..8e01b7c2124b8d2b143cbb0b139ded878c9dc3e9 100644 (file)
@@ -165,7 +165,11 @@ public:
       assert(!Result.HasSideEffects && "Constant declref with side-effect?!");
       llvm::ConstantInt *CI 
         = llvm::ConstantInt::get(VMContext, Result.Val.getInt());
-      CGF.EmitDeclRefExprDbgValue(E, CI);
+      if (VarDecl *VD = dyn_cast<VarDecl>((E->getDecl()))) {
+        if (!VD->isFileVarDecl()) {
+          CGF.EmitDeclRefExprDbgValue(E, CI);
+        }
+      }
       return CI;
     }
     return EmitLoadOfLValue(E);