summaryrefslogtreecommitdiff
path: root/clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/unittests/Lex/DependencyDirectivesScannerTest.cpp')
-rw-r--r--clang/unittests/Lex/DependencyDirectivesScannerTest.cpp82
1 files changed, 13 insertions, 69 deletions
diff --git a/clang/unittests/Lex/DependencyDirectivesScannerTest.cpp b/clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
index 044c3d65ec6f..59fef9ecbb9c 100644
--- a/clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
+++ b/clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
@@ -7,7 +7,6 @@
//===----------------------------------------------------------------------===//
#include "clang/Lex/DependencyDirectivesScanner.h"
-#include "clang/Basic/TokenKinds.h"
#include "llvm/ADT/SmallString.h"
#include "gtest/gtest.h"
@@ -18,11 +17,11 @@ using namespace clang::dependency_directives_scan;
static bool minimizeSourceToDependencyDirectives(
StringRef Input, SmallVectorImpl<char> &Out,
SmallVectorImpl<dependency_directives_scan::Token> &Tokens,
- SmallVectorImpl<Directive> &Directives, const LangOptions &LangOpts) {
+ SmallVectorImpl<Directive> &Directives) {
Out.clear();
Tokens.clear();
Directives.clear();
- if (scanSourceForDependencyDirectives(Input, Tokens, Directives, LangOpts))
+ if (scanSourceForDependencyDirectives(Input, Tokens, Directives))
return true;
raw_svector_ostream OS(Out);
@@ -39,9 +38,7 @@ static bool minimizeSourceToDependencyDirectives(StringRef Input,
SmallVectorImpl<char> &Out) {
SmallVector<dependency_directives_scan::Token, 16> Tokens;
SmallVector<Directive, 32> Directives;
- LangOptions LangOpts;
- return minimizeSourceToDependencyDirectives(Input, Out, Tokens, Directives,
- LangOpts);
+ return minimizeSourceToDependencyDirectives(Input, Out, Tokens, Directives);
}
namespace {
@@ -50,17 +47,16 @@ TEST(MinimizeSourceToDependencyDirectivesTest, Empty) {
SmallVector<char, 128> Out;
SmallVector<dependency_directives_scan::Token, 4> Tokens;
SmallVector<Directive, 4> Directives;
- LangOptions LangOpts;
- ASSERT_FALSE(minimizeSourceToDependencyDirectives("", Out, Tokens, Directives,
- LangOpts));
+ ASSERT_FALSE(
+ minimizeSourceToDependencyDirectives("", Out, Tokens, Directives));
EXPECT_TRUE(Out.empty());
EXPECT_TRUE(Tokens.empty());
ASSERT_EQ(1u, Directives.size());
ASSERT_EQ(pp_eof, Directives.back().Kind);
ASSERT_FALSE(minimizeSourceToDependencyDirectives("abc def\nxyz", Out, Tokens,
- Directives, LangOpts));
+ Directives));
EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
EXPECT_TRUE(Tokens.empty());
ASSERT_EQ(2u, Directives.size());
@@ -72,7 +68,6 @@ TEST(MinimizeSourceToDependencyDirectivesTest, AllTokens) {
SmallVector<char, 128> Out;
SmallVector<dependency_directives_scan::Token, 4> Tokens;
SmallVector<Directive, 4> Directives;
- LangOptions LangOpts;
ASSERT_FALSE(
minimizeSourceToDependencyDirectives("#define A\n"
@@ -97,7 +92,7 @@ TEST(MinimizeSourceToDependencyDirectivesTest, AllTokens) {
"export module m;\n"
"import m;\n"
"#pragma clang system_header\n",
- Out, Tokens, Directives, LangOpts));
+ Out, Tokens, Directives));
EXPECT_EQ(pp_define, Directives[0].Kind);
EXPECT_EQ(pp_undef, Directives[1].Kind);
EXPECT_EQ(pp_endif, Directives[2].Kind);
@@ -150,10 +145,9 @@ TEST(MinimizeSourceToDependencyDirectivesTest, Define) {
SmallVector<char, 128> Out;
SmallVector<dependency_directives_scan::Token, 4> Tokens;
SmallVector<Directive, 4> Directives;
- LangOptions LangOpts;
- ASSERT_FALSE(minimizeSourceToDependencyDirectives(
- "#define MACRO", Out, Tokens, Directives, LangOpts));
+ ASSERT_FALSE(minimizeSourceToDependencyDirectives("#define MACRO", Out,
+ Tokens, Directives));
EXPECT_STREQ("#define MACRO\n", Out.data());
ASSERT_EQ(4u, Tokens.size());
ASSERT_EQ(2u, Directives.size());
@@ -844,7 +838,6 @@ TEST(MinimizeSourceToDependencyDirectivesTest, PragmaOnce) {
SmallVector<char, 128> Out;
SmallVector<dependency_directives_scan::Token, 4> Tokens;
SmallVector<Directive, 4> Directives;
- LangOptions LangOpts;
StringRef Source = R"(// comment
#pragma once
@@ -852,8 +845,8 @@ TEST(MinimizeSourceToDependencyDirectivesTest, PragmaOnce) {
#include <test.h>
_Pragma("once")
)";
- ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out, Tokens,
- Directives, LangOpts));
+ ASSERT_FALSE(
+ minimizeSourceToDependencyDirectives(Source, Out, Tokens, Directives));
EXPECT_STREQ("#pragma once\n#include <test.h>\n_Pragma(\"once\")\n",
Out.data());
ASSERT_EQ(Directives.size(), 4u);
@@ -933,7 +926,6 @@ TEST(MinimizeSourceToDependencyDirectivesTest, CxxModules) {
SmallVector<char, 128> Out;
SmallVector<dependency_directives_scan::Token, 4> Tokens;
SmallVector<Directive, 4> Directives;
- LangOptions LangOpts;
StringRef Source = R"(
module;
@@ -962,8 +954,8 @@ ort \
import f(->a = 3);
}
)";
- ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out, Tokens,
- Directives, LangOpts));
+ ASSERT_FALSE(
+ minimizeSourceToDependencyDirectives(Source, Out, Tokens, Directives));
EXPECT_STREQ("#include \"textual-header.h\"\nexport module m;"
"exp\\\nort import:l[[rename]];"
"import<<=3;import a b d e d e f e;"
@@ -1020,52 +1012,4 @@ TEST(MinimizeSourceToDependencyDirectivesTest, TokensBeforeEOF) {
EXPECT_STREQ("#ifndef A\n#define A\n#endif\n<TokBeforeEOF>\n", Out.data());
}
-TEST(MinimizeSourceToDependencyDirectivesTest, CPlusPlus14PPNumber) {
- SmallVector<char, 128> Out;
- SmallVector<dependency_directives_scan::Token, 4> Tokens;
- SmallVector<Directive, 4> Directives;
- LangOptions LangOpts;
-
- StringRef Source = R"(
-#if 123'124
-#endif
-)";
-
- LangOpts.CPlusPlus14 = true;
- ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out, Tokens,
- Directives, LangOpts));
- EXPECT_STREQ("#if 123'124\n#endif\n", Out.data());
- ASSERT_EQ(Directives.size(), 3u);
- EXPECT_EQ(Directives[0].Kind, dependency_directives_scan::pp_if);
- EXPECT_EQ(Directives[1].Kind, dependency_directives_scan::pp_endif);
- EXPECT_EQ(Directives[2].Kind, dependency_directives_scan::pp_eof);
- ASSERT_EQ(Tokens.size(), 7u);
-
- ASSERT_TRUE(Tokens[0].is(tok::hash));
- ASSERT_TRUE(Tokens[1].is(tok::raw_identifier)); // "if"
- ASSERT_TRUE(Tokens[2].is(tok::numeric_constant)); // 123'124
- ASSERT_TRUE(Tokens[3].is(tok::eod));
- ASSERT_TRUE(Tokens[4].is(tok::hash));
- ASSERT_TRUE(Tokens[5].is(tok::raw_identifier)); // #endif
- ASSERT_TRUE(Tokens[6].is(tok::eod));
-
- LangOpts.CPlusPlus14 = false;
- ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out, Tokens,
- Directives, LangOpts));
- EXPECT_STREQ("#if 123'124\n#endif\n", Out.data());
- ASSERT_EQ(Directives.size(), 3u);
- EXPECT_EQ(Directives[0].Kind, dependency_directives_scan::pp_if);
- EXPECT_EQ(Directives[1].Kind, dependency_directives_scan::pp_endif);
- EXPECT_EQ(Directives[2].Kind, dependency_directives_scan::pp_eof);
- ASSERT_EQ(Tokens.size(), 8u);
- ASSERT_TRUE(Tokens[0].is(tok::hash));
- ASSERT_TRUE(Tokens[1].is(tok::raw_identifier)); // "if"
- ASSERT_TRUE(Tokens[2].is(tok::numeric_constant)); // 123
- ASSERT_TRUE(Tokens[3].is(tok::unknown)); // '124
- ASSERT_TRUE(Tokens[4].is(tok::eod));
- ASSERT_TRUE(Tokens[5].is(tok::hash));
- ASSERT_TRUE(Tokens[6].is(tok::raw_identifier)); // #endif
- ASSERT_TRUE(Tokens[7].is(tok::eod));
-}
-
} // end anonymous namespace