From cf25fe23c6aec0c5bcc8b8bf84e3bd35a60b981c Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Wed, 16 Jul 2014 23:25:44 +0000 Subject: [PATCH] DebugInfo: Ensure the ASTConsumer "HandleTagDeclRequireDefinition" callback path is tested. By having the two variables 'a' and 'b' in this test in a namespace, the type was required to be complete before any debug info was ever emitted (the entire namespace is parsed before the variables were emitted), this meant that the codepath in which a declaration is emitted, then later on the type is required to be complete and the debug info must be upgraded to a definition was not used. Moving the variables outside a namespace fixes this test coverage bug. (interestingly, code coverage didn't help here - HandleTagDeclRequireDefinition is fully covered because it's called even in cases where the type hasn't been emitted for debug info at all (further down in CGDebugInfo this no-ops) - so CC wouldn't've helped catch this test coverage problem) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213211 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGenCXX/debug-info-class-limited.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/test/CodeGenCXX/debug-info-class-limited.cpp b/test/CodeGenCXX/debug-info-class-limited.cpp index 8936af756f..82b2fecfd3 100644 --- a/test/CodeGenCXX/debug-info-class-limited.cpp +++ b/test/CodeGenCXX/debug-info-class-limited.cpp @@ -1,17 +1,15 @@ // RUN: %clang_cc1 -emit-llvm -fno-standalone-debug -g -o - %s | FileCheck %s // RUN: %clang_cc1 -emit-llvm -fno-standalone-debug -g -o - -load %llvmshlibdir/PrintFunctionNames%pluginext %s 2>&1 | FileCheck %s -namespace PR16214_1 { -// CHECK-DAG: [ DW_TAG_structure_type ] [foo] [line [[@LINE+1]], {{.*}} [def] -struct foo { +// CHECK-DAG: [ DW_TAG_structure_type ] [PR16214] [line [[@LINE+1]], {{.*}} [def] +struct PR16214 { int i; }; -typedef foo bar; +typedef PR16214 bar; bar *a; bar b; -} namespace PR14467 { // CHECK-DAG: [ DW_TAG_structure_type ] [foo] [line [[@LINE+1]], {{.*}} [def] -- 2.50.1