[PATCH] D130620: Fix lack of cc1 flag in llvmcmd sections when assertions are enabled
Mircea Trofin via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Jul 29 18:52:03 PDT 2022
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rGafb4efd3bcc6: Fix lack of cc1 flag in llvmcmd sections when assertions are enabled (authored by aidengrossman, committed by mtrofin).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D130620/new/
https://reviews.llvm.org/D130620
Files:
clang/lib/Frontend/CompilerInvocation.cpp
clang/unittests/Frontend/CompilerInvocationTest.cpp
Index: clang/unittests/Frontend/CompilerInvocationTest.cpp
===================================================================
--- clang/unittests/Frontend/CompilerInvocationTest.cpp
+++ clang/unittests/Frontend/CompilerInvocationTest.cpp
@@ -23,6 +23,7 @@
using ::testing::Contains;
using ::testing::HasSubstr;
using ::testing::StrEq;
+using ::testing::StartsWith;
namespace {
class CommandLineTest : public ::testing::Test {
@@ -145,6 +146,26 @@
ASSERT_THAT(GeneratedArgs, Contains(StrEq("-fno-temp-file")));
}
+TEST_F(CommandLineTest, CC1FlagPresentWhenDoingRoundTrip) {
+ const char *Args[] = {"-cc1", "-round-trip-args"};
+
+ ASSERT_TRUE(CompilerInvocation::CreateFromArgs(Invocation, Args, *Diags));
+
+ ASSERT_THAT(std::string(Invocation.getCodeGenOpts().CmdArgs.begin(),
+ Invocation.getCodeGenOpts().CmdArgs.end()),
+ StartsWith("-cc1"));
+}
+
+TEST_F(CommandLineTest, CC1FlagPresentWhenNotDoingRoundTrip) {
+ const char *Args[] = {"-cc1", "-no-round-trip-args"};
+
+ ASSERT_TRUE(CompilerInvocation::CreateFromArgs(Invocation, Args, *Diags));
+
+ ASSERT_THAT(std::string(Invocation.getCodeGenOpts().CmdArgs.begin(),
+ Invocation.getCodeGenOpts().CmdArgs.end()),
+ StartsWith("-cc1"));
+}
+
TEST_F(CommandLineTest, BoolOptionDefaultTrueSingleFlagUnknownPresent) {
const char *Args[] = {"-ftemp-file"};
Index: clang/lib/Frontend/CompilerInvocation.cpp
===================================================================
--- clang/lib/Frontend/CompilerInvocation.cpp
+++ clang/lib/Frontend/CompilerInvocation.cpp
@@ -4544,7 +4544,10 @@
return CreateFromArgsImpl(Invocation, CommandLineArgs, Diags, Argv0);
},
[](CompilerInvocation &Invocation, SmallVectorImpl<const char *> &Args,
- StringAllocator SA) { Invocation.generateCC1CommandLine(Args, SA); },
+ StringAllocator SA) {
+ Args.push_back("-cc1");
+ Invocation.generateCC1CommandLine(Args, SA);
+ },
Invocation, DummyInvocation, CommandLineArgs, Diags, Argv0);
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D130620.448760.patch
Type: text/x-patch
Size: 2093 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220730/4858f083/attachment.bin>
More information about the cfe-commits
mailing list