[PATCH] D78202: [FileCheck] - Refactor the code related to string arrays. NFCI.
Thomas Preud'homme via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 15 07:37:34 PDT 2020
thopre added a comment.
Thanks for doing this. Looks much nicer, especially in the unit tests. A few suggestions to go further in that area.
================
Comment at: llvm/unittests/Support/FileCheckTest.cpp:813
FileCheckPatternContext Cxt;
- std::vector<std::string> GlobalDefines;
+ std::vector<StringRef> GlobalDefines;
SourceMgr SM;
----------------
Move this below (see comment)
================
Comment at: llvm/unittests/Support/FileCheckTest.cpp:820-822
+ GlobalDefines.emplace_back("LocalVar");
expectDiagnosticError("missing equal sign in global definition",
Cxt.defineCmdlineVariables(GlobalDefines, SM));
----------------
Fold first line into the second as you did above.
================
Comment at: llvm/unittests/Support/FileCheckTest.cpp:823-826
GlobalDefines.clear();
- GlobalDefines.emplace_back(std::string("#LocalNumVar"));
+ GlobalDefines.emplace_back("#LocalNumVar");
expectDiagnosticError("missing equal sign in global definition",
Cxt.defineCmdlineVariables(GlobalDefines, SM));
----------------
Ditto and remove the clear
================
Comment at: llvm/unittests/Support/FileCheckTest.cpp:829-832
GlobalDefines.clear();
- GlobalDefines.emplace_back(std::string("=18"));
+ GlobalDefines.emplace_back("=18");
expectDiagnosticError("empty variable name",
Cxt.defineCmdlineVariables(GlobalDefines, SM));
----------------
Ditto
================
Comment at: llvm/unittests/Support/FileCheckTest.cpp:833-836
GlobalDefines.clear();
- GlobalDefines.emplace_back(std::string("#=18"));
+ GlobalDefines.emplace_back("#=18");
expectDiagnosticError("empty variable name",
Cxt.defineCmdlineVariables(GlobalDefines, SM));
----------------
Ditto
================
Comment at: llvm/unittests/Support/FileCheckTest.cpp:839-842
GlobalDefines.clear();
- GlobalDefines.emplace_back(std::string("18LocalVar=18"));
+ GlobalDefines.emplace_back("18LocalVar=18");
expectDiagnosticError("invalid variable name",
Cxt.defineCmdlineVariables(GlobalDefines, SM));
----------------
Ditto
================
Comment at: llvm/unittests/Support/FileCheckTest.cpp:843-846
GlobalDefines.clear();
- GlobalDefines.emplace_back(std::string("#18LocalNumVar=18"));
+ GlobalDefines.emplace_back("#18LocalNumVar=18");
expectDiagnosticError("invalid variable name",
Cxt.defineCmdlineVariables(GlobalDefines, SM));
----------------
Ditto
================
Comment at: llvm/unittests/Support/FileCheckTest.cpp:849-853
GlobalDefines.clear();
- GlobalDefines.emplace_back(std::string("LocalVar=18"));
- GlobalDefines.emplace_back(std::string("#LocalVar=36"));
+ GlobalDefines.emplace_back("LocalVar=18");
+ GlobalDefines.emplace_back("#LocalVar=36");
expectDiagnosticError("string variable with name 'LocalVar' already exists",
Cxt.defineCmdlineVariables(GlobalDefines, SM));
----------------
Ditto
================
Comment at: llvm/unittests/Support/FileCheckTest.cpp:855-860
GlobalDefines.clear();
- GlobalDefines.emplace_back(std::string("#LocalNumVar=18"));
- GlobalDefines.emplace_back(std::string("LocalNumVar=36"));
+ GlobalDefines.emplace_back("#LocalNumVar=18");
+ GlobalDefines.emplace_back("LocalNumVar=36");
expectDiagnosticError(
"numeric variable with name 'LocalNumVar' already exists",
Cxt.defineCmdlineVariables(GlobalDefines, SM));
----------------
Ditto
================
Comment at: llvm/unittests/Support/FileCheckTest.cpp:864-866
GlobalDefines.clear();
- GlobalDefines.emplace_back(std::string("#LocalNumVar=x"));
+ GlobalDefines.emplace_back("#LocalNumVar=x");
expectUndefErrors({"x"}, Cxt.defineCmdlineVariables(GlobalDefines, SM));
----------------
Ditto
================
Comment at: llvm/unittests/Support/FileCheckTest.cpp:869
// Define local variables from command-line.
GlobalDefines.clear();
// Clear local variables to remove dummy numeric variable x that
----------------
Remove and move the declaration of GlobalDefines here.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D78202/new/
https://reviews.llvm.org/D78202
More information about the llvm-commits
mailing list