diff options
Diffstat (limited to 'clang/unittests/Lex/DependencyDirectivesScannerTest.cpp')
| -rw-r--r-- | clang/unittests/Lex/DependencyDirectivesScannerTest.cpp | 82 |
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 |
