From fbd17e17f53c07e410a1c53908579a7070080d9f Mon Sep 17 00:00:00 2001 From: Alex Lorenz Date: Wed, 25 Oct 2017 22:01:23 +0000 Subject: [PATCH] Handle PragmaDebug in PPChainedCallbacks The test is in clang-tools-extra/test/pp-trace llvm-svn: 316621 --- clang-tools-extra/test/pp-trace/pp-trace-pragma-general.cpp | 11 +++++++++++ clang/include/clang/Lex/PPCallbacks.h | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/clang-tools-extra/test/pp-trace/pp-trace-pragma-general.cpp b/clang-tools-extra/test/pp-trace/pp-trace-pragma-general.cpp index ade06c9..6caef0b 100644 --- a/clang-tools-extra/test/pp-trace/pp-trace-pragma-general.cpp +++ b/clang-tools-extra/test/pp-trace/pp-trace-pragma-general.cpp @@ -14,6 +14,11 @@ #pragma GCC diagnostic error "-Wformat" #pragma GCC diagnostic fatal "-Wformat" +void foo() { +#pragma clang __debug captured +{ } +} + // CHECK: --- // CHECK-NEXT: - Callback: PragmaDirective // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-general.cpp:3:1" @@ -103,5 +108,11 @@ // CHECK-NEXT: Namespace: GCC // CHECK-NEXT: Mapping: MAP_FATAL // CHECK-NEXT: Str: -Wformat +// CHECK-NEXT: - Callback: PragmaDirective +// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-general.cpp:18:1" +// CHECK-NEXT: Introducer: PIK_HashPragma +// CHECK-NEXT: - Callback: PragmaDebug +// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-general.cpp:18:23" +// CHECK-NEXT: DebugType: captured // CHECK-NEXT: - Callback: EndOfMainFile // CHECK-NEXT: ... diff --git a/clang/include/clang/Lex/PPCallbacks.h b/clang/include/clang/Lex/PPCallbacks.h index 8cb1656..19bce4d 100644 --- a/clang/include/clang/Lex/PPCallbacks.h +++ b/clang/include/clang/Lex/PPCallbacks.h @@ -410,6 +410,11 @@ public: Second->PragmaDetectMismatch(Loc, Name, Value); } + void PragmaDebug(SourceLocation Loc, StringRef DebugType) override { + First->PragmaDebug(Loc, DebugType); + Second->PragmaDebug(Loc, DebugType); + } + void PragmaMessage(SourceLocation Loc, StringRef Namespace, PragmaMessageKind Kind, StringRef Str) override { First->PragmaMessage(Loc, Namespace, Kind, Str); -- 2.7.4