[PATCH] D130620: Fix lack of cc1 flag in llvmcmd sections when assertions are enabled
Aiden Grossman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 27 13:47:59 PDT 2022
aidengrossman updated this revision to Diff 448152.
aidengrossman marked an inline comment as done.
aidengrossman added a comment.
Added two unit tests to ensure functionality is correct in both
the assertion case and the default case. Should be sufficient
to ensure correct functionality without utilizing regression tests.
However, if regression tests are also desired, let me know and I can
add one in.
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
@@ -145,6 +145,22 @@
ASSERT_THAT(GeneratedArgs, Contains(StrEq("-fno-temp-file")));
}
+TEST_F(CommandLineTest, CC1FlagPresentWhenDoingRoundTrip) {
+ const char *Args[] = {"-round-trip-args"};
+
+ ASSERT_TRUE(CompilerInvocation::CreateFromArgs(Invocation, Args, *Diags));
+
+ ASSERT_THAT(GeneratedArgs, Contains(StrEq("-cc1")));
+}
+
+TEST_F(CommandLineTest, CC1FlagPresentWhenNotDoingRoundTrip) {
+ const char *Args[] = {"-no-round-trip-args", "-cc1"};
+
+ ASSERT_TRUE(CompilerInvocation::CreateFromArgs(Invocation, Args, *Diags));
+
+ ASSERT_THAT(GeneratedArgs, Contains(StrEq("-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.448152.patch
Type: text/x-patch
Size: 1644 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220727/1d5e53be/attachment.bin>
More information about the cfe-commits
mailing list