[clang] [clang-tools-extra] [lldb] Reland [clang] Unify `SourceLocation` and `IdentifierInfo*` pair-like data structures to `IdentifierLoc` (PR #136077)
llvmbot wrote: @llvm/pr-subscribers-clang-tools-extra Author: None (yronglin) Changes This PR reland https://github.com/llvm/llvm-project/pull/135808, fixed some missed changes in LLDB. I found this issue when I working on https://github.com/llvm/llvm-project/pull/107168. Currently we have many similiar data structures like: - std::pair. - Element type of ModuleIdPath. - IdentifierLocPair. - IdentifierLoc. This PR unify these data structures to IdentifierLoc, moved IdentifierLoc definition to SourceLocation.h, and deleted other similer data structures. --- Patch is 110.90 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/136077.diff 47 Files Affected: - (modified) clang-tools-extra/pp-trace/PPCallbacksTracker.cpp (+2-2) - (modified) clang/include/clang/AST/OpenACCClause.h (+10-10) - (modified) clang/include/clang/Basic/IdentifierTable.h (+23-3) - (modified) clang/include/clang/Lex/ModuleLoader.h (+2-1) - (modified) clang/include/clang/Lex/PPCallbacks.h (+1) - (modified) clang/include/clang/Lex/Preprocessor.h (+4-5) - (modified) clang/include/clang/Parse/LoopHint.h (+1-1) - (modified) clang/include/clang/Parse/Parser.h (+5-8) - (modified) clang/include/clang/Sema/ParsedAttr.h (-10) - (modified) clang/include/clang/Sema/Sema.h (+1-1) - (modified) clang/include/clang/Sema/SemaCodeCompletion.h (+1-2) - (modified) clang/include/clang/Sema/SemaObjC.h (+2-2) - (modified) clang/include/clang/Sema/SemaOpenACC.h (+1-1) - (modified) clang/lib/AST/OpenACCClause.cpp (+2-2) - (modified) clang/lib/AST/TextNodeDumper.cpp (+2-2) - (modified) clang/lib/Frontend/CompilerInstance.cpp (+28-25) - (modified) clang/lib/Frontend/FrontendActions.cpp (+2-2) - (modified) clang/lib/Lex/PPDirectives.cpp (+11-11) - (modified) clang/lib/Lex/PPLexerChange.cpp (+3-3) - (modified) clang/lib/Lex/Pragma.cpp (+35-38) - (modified) clang/lib/Lex/Preprocessor.cpp (+8-8) - (modified) clang/lib/Parse/ParseDecl.cpp (+14-14) - (modified) clang/lib/Parse/ParseExpr.cpp (+4-3) - (modified) clang/lib/Parse/ParseHLSL.cpp (+1-1) - (modified) clang/lib/Parse/ParseObjc.cpp (+18-20) - (modified) clang/lib/Parse/ParseOpenACC.cpp (+7-5) - (modified) clang/lib/Parse/ParsePragma.cpp (+7-8) - (modified) clang/lib/Parse/ParseStmt.cpp (+3-3) - (modified) clang/lib/Parse/Parser.cpp (+9-10) - (modified) clang/lib/Sema/ParsedAttr.cpp (-8) - (modified) clang/lib/Sema/SemaARM.cpp (+1-1) - (modified) clang/lib/Sema/SemaCodeComplete.cpp (+4-4) - (modified) clang/lib/Sema/SemaDeclAttr.cpp (+65-59) - (modified) clang/lib/Sema/SemaDeclObjC.cpp (+19-16) - (modified) clang/lib/Sema/SemaHLSL.cpp (+6-6) - (modified) clang/lib/Sema/SemaModule.cpp (+23-19) - (modified) clang/lib/Sema/SemaObjC.cpp (+23-22) - (modified) clang/lib/Sema/SemaOpenACCClause.cpp (+6-5) - (modified) clang/lib/Sema/SemaStmtAttr.cpp (+16-13) - (modified) clang/lib/Sema/SemaSwift.cpp (+12-12) - (modified) clang/lib/Sema/SemaTemplateVariadic.cpp (+5-5) - (modified) clang/lib/Sema/SemaType.cpp (+6-7) - (modified) clang/lib/Serialization/ASTReader.cpp (+1-1) - (modified) clang/lib/Serialization/ASTWriter.cpp (+4-4) - (modified) clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp (+1-1) - (modified) lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp (+4-2) - (modified) lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp (+8-9) ``diff diff --git a/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp b/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp index 3bb30fd15b2e1..4c916fa30685b 100644 --- a/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp +++ b/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp @@ -547,8 +547,8 @@ void PPCallbacksTracker::appendArgument(const char *Name, ModuleIdPath Value) { if (I) SS << ", "; SS << "{" - << "Name: " << Value[I].first->getName() << ", " - << "Loc: " << getSourceLocationString(PP, Value[I].second) << "}"; + << "Name: " << Value[I].getIdentifierInfo()->getName() << ", " + << "Loc: " << getSourceLocationString(PP, Value[I].getLoc()) << "}"; } SS << "]"; appendArgument(Name, SS.str()); diff --git a/clang/include/clang/AST/OpenACCClause.h b/clang/include/clang/AST/OpenACCClause.h index 681567228cbb0..f18a6cf62f2c5 100644 --- a/clang/include/clang/AST/OpenACCClause.h +++ b/clang/include/clang/AST/OpenACCClause.h @@ -258,7 +258,7 @@ inline bool operator!=(const OpenACCBindClause &LHS, return !(LHS == RHS); } -using DeviceTypeArgument = std::pair; +using DeviceTypeArgument = IdentifierLoc; /// A 'device_type' or 'dtype' clause, takes a list of either an 'asterisk' or /// an identifier. The 'asterisk' means 'the rest'. class OpenACCDeviceTypeClause final @@ -280,16 +280,16 @@ class OpenACCDeviceTypeClause final "Invalid clause kind for device-type"); assert(!llvm::any_of(Archs, [](const DeviceTypeArgument &Arg) {
[clang] [clang-tools-extra] [lldb] Reland [clang] Unify `SourceLocation` and `IdentifierInfo*` pair-like data structures to `IdentifierLoc` (PR #136077)
https://github.com/zyn0217 approved this pull request. https://github.com/llvm/llvm-project/pull/136077 ___ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang-tools-extra] [lldb] Reland [clang] Unify `SourceLocation` and `IdentifierInfo*` pair-like data structures to `IdentifierLoc` (PR #136077)
yronglin wrote: Thanks for the review! https://github.com/llvm/llvm-project/pull/136077 ___ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang-tools-extra] [lldb] Reland [clang] Unify `SourceLocation` and `IdentifierInfo*` pair-like data structures to `IdentifierLoc` (PR #136077)
https://github.com/yronglin closed https://github.com/llvm/llvm-project/pull/136077 ___ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang-tools-extra] [lldb] Reland [clang] Unify `SourceLocation` and `IdentifierInfo*` pair-like data structures to `IdentifierLoc` (PR #136077)
https://github.com/erichkeane approved this pull request. https://github.com/llvm/llvm-project/pull/136077 ___ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang-tools-extra] [lldb] Reland [clang] Unify `SourceLocation` and `IdentifierInfo*` pair-like data structures to `IdentifierLoc` (PR #136077)
llvmbot wrote: @llvm/pr-subscribers-clang @llvm/pr-subscribers-backend-arm Author: None (yronglin) Changes This PR reland https://github.com/llvm/llvm-project/pull/135808, fixed some missed changes in LLDB. I found this issue when I working on https://github.com/llvm/llvm-project/pull/107168. Currently we have many similiar data structures like: - std::pair. - Element type of ModuleIdPath. - IdentifierLocPair. - IdentifierLoc. This PR unify these data structures to IdentifierLoc, moved IdentifierLoc definition to SourceLocation.h, and deleted other similer data structures. --- Patch is 110.90 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/136077.diff 47 Files Affected: - (modified) clang-tools-extra/pp-trace/PPCallbacksTracker.cpp (+2-2) - (modified) clang/include/clang/AST/OpenACCClause.h (+10-10) - (modified) clang/include/clang/Basic/IdentifierTable.h (+23-3) - (modified) clang/include/clang/Lex/ModuleLoader.h (+2-1) - (modified) clang/include/clang/Lex/PPCallbacks.h (+1) - (modified) clang/include/clang/Lex/Preprocessor.h (+4-5) - (modified) clang/include/clang/Parse/LoopHint.h (+1-1) - (modified) clang/include/clang/Parse/Parser.h (+5-8) - (modified) clang/include/clang/Sema/ParsedAttr.h (-10) - (modified) clang/include/clang/Sema/Sema.h (+1-1) - (modified) clang/include/clang/Sema/SemaCodeCompletion.h (+1-2) - (modified) clang/include/clang/Sema/SemaObjC.h (+2-2) - (modified) clang/include/clang/Sema/SemaOpenACC.h (+1-1) - (modified) clang/lib/AST/OpenACCClause.cpp (+2-2) - (modified) clang/lib/AST/TextNodeDumper.cpp (+2-2) - (modified) clang/lib/Frontend/CompilerInstance.cpp (+28-25) - (modified) clang/lib/Frontend/FrontendActions.cpp (+2-2) - (modified) clang/lib/Lex/PPDirectives.cpp (+11-11) - (modified) clang/lib/Lex/PPLexerChange.cpp (+3-3) - (modified) clang/lib/Lex/Pragma.cpp (+35-38) - (modified) clang/lib/Lex/Preprocessor.cpp (+8-8) - (modified) clang/lib/Parse/ParseDecl.cpp (+14-14) - (modified) clang/lib/Parse/ParseExpr.cpp (+4-3) - (modified) clang/lib/Parse/ParseHLSL.cpp (+1-1) - (modified) clang/lib/Parse/ParseObjc.cpp (+18-20) - (modified) clang/lib/Parse/ParseOpenACC.cpp (+7-5) - (modified) clang/lib/Parse/ParsePragma.cpp (+7-8) - (modified) clang/lib/Parse/ParseStmt.cpp (+3-3) - (modified) clang/lib/Parse/Parser.cpp (+9-10) - (modified) clang/lib/Sema/ParsedAttr.cpp (-8) - (modified) clang/lib/Sema/SemaARM.cpp (+1-1) - (modified) clang/lib/Sema/SemaCodeComplete.cpp (+4-4) - (modified) clang/lib/Sema/SemaDeclAttr.cpp (+65-59) - (modified) clang/lib/Sema/SemaDeclObjC.cpp (+19-16) - (modified) clang/lib/Sema/SemaHLSL.cpp (+6-6) - (modified) clang/lib/Sema/SemaModule.cpp (+23-19) - (modified) clang/lib/Sema/SemaObjC.cpp (+23-22) - (modified) clang/lib/Sema/SemaOpenACCClause.cpp (+6-5) - (modified) clang/lib/Sema/SemaStmtAttr.cpp (+16-13) - (modified) clang/lib/Sema/SemaSwift.cpp (+12-12) - (modified) clang/lib/Sema/SemaTemplateVariadic.cpp (+5-5) - (modified) clang/lib/Sema/SemaType.cpp (+6-7) - (modified) clang/lib/Serialization/ASTReader.cpp (+1-1) - (modified) clang/lib/Serialization/ASTWriter.cpp (+4-4) - (modified) clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp (+1-1) - (modified) lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp (+4-2) - (modified) lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp (+8-9) ``diff diff --git a/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp b/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp index 3bb30fd15b2e1..4c916fa30685b 100644 --- a/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp +++ b/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp @@ -547,8 +547,8 @@ void PPCallbacksTracker::appendArgument(const char *Name, ModuleIdPath Value) { if (I) SS << ", "; SS << "{" - << "Name: " << Value[I].first->getName() << ", " - << "Loc: " << getSourceLocationString(PP, Value[I].second) << "}"; + << "Name: " << Value[I].getIdentifierInfo()->getName() << ", " + << "Loc: " << getSourceLocationString(PP, Value[I].getLoc()) << "}"; } SS << "]"; appendArgument(Name, SS.str()); diff --git a/clang/include/clang/AST/OpenACCClause.h b/clang/include/clang/AST/OpenACCClause.h index 681567228cbb0..f18a6cf62f2c5 100644 --- a/clang/include/clang/AST/OpenACCClause.h +++ b/clang/include/clang/AST/OpenACCClause.h @@ -258,7 +258,7 @@ inline bool operator!=(const OpenACCBindClause &LHS, return !(LHS == RHS); } -using DeviceTypeArgument = std::pair; +using DeviceTypeArgument = IdentifierLoc; /// A 'device_type' or 'dtype' clause, takes a list of either an 'asterisk' or /// an identifier. The 'asterisk' means 'the rest'. class OpenACCDeviceTypeClause final @@ -280,16 +280,16 @@ class OpenACCDeviceTypeClause final "Invalid clause kind for device-type"); assert(!llvm::any_of(Archs, [](const Device
[clang] [clang-tools-extra] [lldb] Reland [clang] Unify `SourceLocation` and `IdentifierInfo*` pair-like data structures to `IdentifierLoc` (PR #136077)
llvmbot wrote: @llvm/pr-subscribers-hlsl Author: None (yronglin) Changes This PR reland https://github.com/llvm/llvm-project/pull/135808, fixed some missed changes in LLDB. I found this issue when I working on https://github.com/llvm/llvm-project/pull/107168. Currently we have many similiar data structures like: - std::pair. - Element type of ModuleIdPath. - IdentifierLocPair. - IdentifierLoc. This PR unify these data structures to IdentifierLoc, moved IdentifierLoc definition to SourceLocation.h, and deleted other similer data structures. --- Patch is 110.90 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/136077.diff 47 Files Affected: - (modified) clang-tools-extra/pp-trace/PPCallbacksTracker.cpp (+2-2) - (modified) clang/include/clang/AST/OpenACCClause.h (+10-10) - (modified) clang/include/clang/Basic/IdentifierTable.h (+23-3) - (modified) clang/include/clang/Lex/ModuleLoader.h (+2-1) - (modified) clang/include/clang/Lex/PPCallbacks.h (+1) - (modified) clang/include/clang/Lex/Preprocessor.h (+4-5) - (modified) clang/include/clang/Parse/LoopHint.h (+1-1) - (modified) clang/include/clang/Parse/Parser.h (+5-8) - (modified) clang/include/clang/Sema/ParsedAttr.h (-10) - (modified) clang/include/clang/Sema/Sema.h (+1-1) - (modified) clang/include/clang/Sema/SemaCodeCompletion.h (+1-2) - (modified) clang/include/clang/Sema/SemaObjC.h (+2-2) - (modified) clang/include/clang/Sema/SemaOpenACC.h (+1-1) - (modified) clang/lib/AST/OpenACCClause.cpp (+2-2) - (modified) clang/lib/AST/TextNodeDumper.cpp (+2-2) - (modified) clang/lib/Frontend/CompilerInstance.cpp (+28-25) - (modified) clang/lib/Frontend/FrontendActions.cpp (+2-2) - (modified) clang/lib/Lex/PPDirectives.cpp (+11-11) - (modified) clang/lib/Lex/PPLexerChange.cpp (+3-3) - (modified) clang/lib/Lex/Pragma.cpp (+35-38) - (modified) clang/lib/Lex/Preprocessor.cpp (+8-8) - (modified) clang/lib/Parse/ParseDecl.cpp (+14-14) - (modified) clang/lib/Parse/ParseExpr.cpp (+4-3) - (modified) clang/lib/Parse/ParseHLSL.cpp (+1-1) - (modified) clang/lib/Parse/ParseObjc.cpp (+18-20) - (modified) clang/lib/Parse/ParseOpenACC.cpp (+7-5) - (modified) clang/lib/Parse/ParsePragma.cpp (+7-8) - (modified) clang/lib/Parse/ParseStmt.cpp (+3-3) - (modified) clang/lib/Parse/Parser.cpp (+9-10) - (modified) clang/lib/Sema/ParsedAttr.cpp (-8) - (modified) clang/lib/Sema/SemaARM.cpp (+1-1) - (modified) clang/lib/Sema/SemaCodeComplete.cpp (+4-4) - (modified) clang/lib/Sema/SemaDeclAttr.cpp (+65-59) - (modified) clang/lib/Sema/SemaDeclObjC.cpp (+19-16) - (modified) clang/lib/Sema/SemaHLSL.cpp (+6-6) - (modified) clang/lib/Sema/SemaModule.cpp (+23-19) - (modified) clang/lib/Sema/SemaObjC.cpp (+23-22) - (modified) clang/lib/Sema/SemaOpenACCClause.cpp (+6-5) - (modified) clang/lib/Sema/SemaStmtAttr.cpp (+16-13) - (modified) clang/lib/Sema/SemaSwift.cpp (+12-12) - (modified) clang/lib/Sema/SemaTemplateVariadic.cpp (+5-5) - (modified) clang/lib/Sema/SemaType.cpp (+6-7) - (modified) clang/lib/Serialization/ASTReader.cpp (+1-1) - (modified) clang/lib/Serialization/ASTWriter.cpp (+4-4) - (modified) clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp (+1-1) - (modified) lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp (+4-2) - (modified) lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp (+8-9) ``diff diff --git a/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp b/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp index 3bb30fd15b2e1..4c916fa30685b 100644 --- a/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp +++ b/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp @@ -547,8 +547,8 @@ void PPCallbacksTracker::appendArgument(const char *Name, ModuleIdPath Value) { if (I) SS << ", "; SS << "{" - << "Name: " << Value[I].first->getName() << ", " - << "Loc: " << getSourceLocationString(PP, Value[I].second) << "}"; + << "Name: " << Value[I].getIdentifierInfo()->getName() << ", " + << "Loc: " << getSourceLocationString(PP, Value[I].getLoc()) << "}"; } SS << "]"; appendArgument(Name, SS.str()); diff --git a/clang/include/clang/AST/OpenACCClause.h b/clang/include/clang/AST/OpenACCClause.h index 681567228cbb0..f18a6cf62f2c5 100644 --- a/clang/include/clang/AST/OpenACCClause.h +++ b/clang/include/clang/AST/OpenACCClause.h @@ -258,7 +258,7 @@ inline bool operator!=(const OpenACCBindClause &LHS, return !(LHS == RHS); } -using DeviceTypeArgument = std::pair; +using DeviceTypeArgument = IdentifierLoc; /// A 'device_type' or 'dtype' clause, takes a list of either an 'asterisk' or /// an identifier. The 'asterisk' means 'the rest'. class OpenACCDeviceTypeClause final @@ -280,16 +280,16 @@ class OpenACCDeviceTypeClause final "Invalid clause kind for device-type"); assert(!llvm::any_of(Archs, [](const DeviceTypeArgument &Arg) { - return
