Author: CHIANG, YU-HSUN (Tommy Chiang, oToToT) Date: 2022-06-03T19:29:59+08:00 New Revision: 8df2b1a866800b41984bd7721b244a9821810764
URL: https://github.com/llvm/llvm-project/commit/8df2b1a866800b41984bd7721b244a9821810764 DIFF: https://github.com/llvm/llvm-project/commit/8df2b1a866800b41984bd7721b244a9821810764.diff LOG: [pp-trace] Print HashLoc in InclusionDirective callback The HashLoc in InclusionDirective callback is an unused parameter. Since pp-trace is also used as a test of Clang’s PPCallbacks interface, add it to the output of pp-trace could avoid some unintended change on it. This shuold resolves PR52673 Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D125373 Added: Modified: clang-tools-extra/docs/ReleaseNotes.rst clang-tools-extra/docs/pp-trace.rst clang-tools-extra/pp-trace/PPCallbacksTracker.cpp clang-tools-extra/test/pp-trace/pp-trace-include.cpp Removed: ################################################################################ diff --git a/clang-tools-extra/docs/ReleaseNotes.rst b/clang-tools-extra/docs/ReleaseNotes.rst index 7e8ef092fad1..b8321dd0c365 100644 --- a/clang-tools-extra/docs/ReleaseNotes.rst +++ b/clang-tools-extra/docs/ReleaseNotes.rst @@ -239,7 +239,7 @@ The improvements are... Improvements to pp-trace ------------------------ -The improvements are... +- Added `HashLoc` information to `InclusionDirective` callback output. Clang-tidy Visual Studio plugin ------------------------------- diff --git a/clang-tools-extra/docs/pp-trace.rst b/clang-tools-extra/docs/pp-trace.rst index 84a5ae6ed6c6..7339d8084c34 100644 --- a/clang-tools-extra/docs/pp-trace.rst +++ b/clang-tools-extra/docs/pp-trace.rst @@ -223,6 +223,7 @@ Imported ((module name)|(null)) const Modu Example::: - Callback: InclusionDirective + HashLoc: "D:/Clang/llvmnewmod/clang-tools-extra/test/pp-trace/pp-trace-include.cpp:4:1" IncludeTok: include FileName: "Input/Level1B.h" IsAngled: false diff --git a/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp b/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp index 63a07914f207..c1434558698d 100644 --- a/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp +++ b/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp @@ -137,6 +137,7 @@ void PPCallbacksTracker::InclusionDirective( llvm::StringRef SearchPath, llvm::StringRef RelativePath, const Module *Imported, SrcMgr::CharacteristicKind FileType) { beginCallback("InclusionDirective"); + appendArgument("HashLoc", HashLoc); appendArgument("IncludeTok", IncludeTok); appendFilePathArgument("FileName", FileName); appendArgument("IsAngled", IsAngled); diff --git a/clang-tools-extra/test/pp-trace/pp-trace-include.cpp b/clang-tools-extra/test/pp-trace/pp-trace-include.cpp index d5578cf16f59..96b4014025b7 100644 --- a/clang-tools-extra/test/pp-trace/pp-trace-include.cpp +++ b/clang-tools-extra/test/pp-trace/pp-trace-include.cpp @@ -51,6 +51,7 @@ // CHECK-NEXT: FileType: C_User // CHECK-NEXT: PrevFID: (getFileEntryForID failed) // CHECK-NEXT: - Callback: InclusionDirective +// CHECK-NEXT: HashLoc: "{{.*}}{{[/\\]}}pp-trace-include.cpp:3:1" // CHECK-NEXT: IncludeTok: include // CHECK-NEXT: FileName: "Inputs/Level1A.h" // CHECK-NEXT: IsAngled: false @@ -65,6 +66,7 @@ // CHECK-NEXT: FileType: C_User // CHECK-NEXT: PrevFID: (invalid) // CHECK-NEXT: - Callback: InclusionDirective +// CHECK-NEXT: HashLoc: "{{.*}}{{[/\\]}}Inputs/Level1A.h:1:1" // CHECK-NEXT: IncludeTok: include // CHECK-NEXT: FileName: "Level2A.h" // CHECK-NEXT: IsAngled: false @@ -95,6 +97,7 @@ // CHECK-NEXT: FileType: C_User // CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}Inputs/Level1A.h" // CHECK-NEXT: - Callback: InclusionDirective +// CHECK-NEXT: HashLoc: "{{.*}}{{[/\\]}}pp-trace-include.cpp:4:1" // CHECK-NEXT: IncludeTok: include // CHECK-NEXT: FileName: "Inputs/Level1B.h" // CHECK-NEXT: IsAngled: false @@ -109,6 +112,7 @@ // CHECK-NEXT: FileType: C_User // CHECK-NEXT: PrevFID: (invalid) // CHECK-NEXT: - Callback: InclusionDirective +// CHECK-NEXT: HashLoc: "{{.*}}{{[/\\]}}Inputs/Level1B.h:1:1" // CHECK-NEXT: IncludeTok: include // CHECK-NEXT: FileName: "Level2B.h" // CHECK-NEXT: IsAngled: false _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits