Lines Matching defs:Out

18     StringRef Input, SmallVectorImpl<char> &Out,
21 Out.clear();
27 raw_svector_ostream OS(Out);
29 if (!Out.empty() && Out.back() != '\n')
30 Out.push_back('\n');
31 Out.push_back('\0');
32 Out.pop_back();
38 SmallVectorImpl<char> &Out) {
41 return minimizeSourceToDependencyDirectives(Input, Out, Tokens, Directives);
47 SmallVector<char, 128> Out;
52 minimizeSourceToDependencyDirectives("", Out, Tokens, Directives));
53 EXPECT_TRUE(Out.empty());
58 ASSERT_FALSE(minimizeSourceToDependencyDirectives("abc def\nxyz", Out, Tokens,
60 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
68 SmallVector<char, 128> Out;
95 Out, Tokens, Directives));
122 SmallVector<char, 128> Out;
125 minimizeSourceToDependencyDirectives("#\n#define MACRO a\n", Out));
126 EXPECT_STREQ("#define MACRO a\n", Out.data());
130 SmallVector<char, 128> Out;
140 ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out));
141 EXPECT_STREQ("#define S\n#if 0\n#endif\n#define E\n", Out.data());
145 SmallVector<char, 128> Out;
149 ASSERT_FALSE(minimizeSourceToDependencyDirectives("#define MACRO", Out,
151 EXPECT_STREQ("#define MACRO\n", Out.data());
158 SmallVector<char, 128> Out;
161 minimizeSourceToDependencyDirectives("#define MACRO\n\n\n", Out));
162 EXPECT_STREQ("#define MACRO\n", Out.data());
165 minimizeSourceToDependencyDirectives("#define MACRO \n\n\n", Out));
166 EXPECT_STREQ("#define MACRO\n", Out.data());
169 minimizeSourceToDependencyDirectives("#define MACRO a \n\n\n", Out));
170 EXPECT_STREQ("#define MACRO a\n", Out.data());
173 minimizeSourceToDependencyDirectives("#define MACRO\n\n\n", Out));
174 EXPECT_STREQ("#define MACRO\n", Out.data());
178 SmallVector<char, 128> Out;
180 ASSERT_FALSE(minimizeSourceToDependencyDirectives("#define MACRO()", Out));
181 EXPECT_STREQ("#define MACRO()\n", Out.data());
184 minimizeSourceToDependencyDirectives("#define MACRO(a, b...)", Out));
185 EXPECT_STREQ("#define MACRO(a,b...)\n", Out.data());
188 minimizeSourceToDependencyDirectives("#define MACRO content", Out));
189 EXPECT_STREQ("#define MACRO content\n", Out.data());
192 "#define MACRO con tent ", Out));
193 EXPECT_STREQ("#define MACRO con tent\n", Out.data());
196 "#define MACRO() con tent ", Out));
197 EXPECT_STREQ("#define MACRO() con tent\n", Out.data());
201 SmallVector<char, 128> Out;
203 ASSERT_FALSE(minimizeSourceToDependencyDirectives("#define MACRO((a))", Out));
204 EXPECT_STREQ("#define MACRO((a))\n", Out.data());
206 ASSERT_FALSE(minimizeSourceToDependencyDirectives("#define MACRO(", Out));
207 EXPECT_STREQ("#define MACRO(\n", Out.data());
210 minimizeSourceToDependencyDirectives("#define MACRO(a * b)", Out));
211 EXPECT_STREQ("#define MACRO(a*b)\n", Out.data());
215 SmallVector<char, 128> Out;
218 "#define MACRO(\t)\tcon \t tent\t", Out));
219 EXPECT_STREQ("#define MACRO() con tent\n", Out.data());
222 "#define MACRO(\f)\fcon \f tent\f", Out));
223 EXPECT_STREQ("#define MACRO() con tent\n", Out.data());
226 "#define MACRO(\v)\vcon \v tent\v", Out));
227 EXPECT_STREQ("#define MACRO() con tent\n", Out.data());
230 "#define MACRO \t\v\f\v\t con\f\t\vtent\v\f \v", Out));
231 EXPECT_STREQ("#define MACRO con tent\n", Out.data());
235 SmallVector<char, 128> Out;
240 Out));
241 EXPECT_STREQ("#define MACRO(a)\n", Out.data());
248 Out));
249 EXPECT_STREQ("#define MACRO(a,b) call((a), (b))\n", Out.data());
254 SmallVector<char, 128> Out;
261 Out));
262 EXPECT_STREQ("#define MACRO(a,b) call((a), (b))\n", Out.data());
266 SmallVector<char, 128> Out;
271 Out));
272 EXPECT_STREQ("#define MACRO(a,b) #a #b\n", Out.data());
277 SmallVector<char, 128> Out;
284 Out));
285 EXPECT_STREQ("#define MACRO(a,b) call((a), (b))\n", Out.data());
290 SmallVector<char, 128> Out;
297 Out));
298 EXPECT_STREQ("#define MACRO(a,b) call((a), (b))\n", Out.data());
302 SmallVector<char, 128> Out;
304 ASSERT_FALSE(minimizeSourceToDependencyDirectives("#define 0\n", Out));
308 SmallVector<char, 128> Out;
310 ASSERT_FALSE(minimizeSourceToDependencyDirectives("#define &\n", Out));
314 SmallVector<char, 128> Out;
316 ASSERT_FALSE(minimizeSourceToDependencyDirectives("#define AND&\n", Out));
317 EXPECT_STREQ("#define AND&\n", Out.data());
321 Out));
324 Out.data());
328 SmallVector<char, 128> Out;
337 Out));
340 Out.data());
344 SmallVector<char, 128> Out;
348 Out));
351 Out.data());
355 SmallVector<char, 128> Out;
358 "#define MACRO 1 //* blah */\n", Out));
359 EXPECT_STREQ("#define MACRO 1\n", Out.data());
363 SmallVector<char, 128> Out;
368 Out));
372 Out.data());
383 Out));
393 Out.data());
397 SmallVector<char, 128> Out;
404 Out));
410 Out.data());
421 Out));
431 Out.data());
435 SmallVector<char, 128> Out;
443 Out));
448 Out.data());
452 SmallVector<char, 128> Out;
460 Out));
465 Out.data());
469 SmallVector<char, 128> Out;
471 ASSERT_FALSE(minimizeSourceToDependencyDirectives("#pragma A\n", Out));
472 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
475 "#pragma push_macro(\"MACRO\")\n", Out));
476 EXPECT_STREQ("#pragma push_macro(\"MACRO\")\n", Out.data());
479 "#pragma pop_macro(\"MACRO\")\n", Out));
480 EXPECT_STREQ("#pragma pop_macro(\"MACRO\")\n", Out.data());
483 "#pragma include_alias(\"A\", \"B\")\n", Out));
484 EXPECT_STREQ("#pragma include_alias(\"A\", \"B\")\n", Out.data());
487 "#pragma include_alias(<A>, <B>)\n", Out));
488 EXPECT_STREQ("#pragma include_alias(<A>, <B>)\n", Out.data());
490 ASSERT_FALSE(minimizeSourceToDependencyDirectives("#pragma clang\n", Out));
491 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
494 minimizeSourceToDependencyDirectives("#pragma clang module\n", Out));
495 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
498 "#pragma clang module impor\n", Out));
499 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
502 "#pragma clang module import\n", Out));
503 EXPECT_STREQ("#pragma clang module import\n", Out.data());
507 SmallVector<char, 128> Out;
509 ASSERT_FALSE(minimizeSourceToDependencyDirectives(R"(_)", Out));
510 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
511 ASSERT_FALSE(minimizeSourceToDependencyDirectives(R"(_Pragma)", Out));
512 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
513 ASSERT_FALSE(minimizeSourceToDependencyDirectives(R"(_Pragma()", Out));
514 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
515 ASSERT_FALSE(minimizeSourceToDependencyDirectives(R"(_Pragma())", Out));
516 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
517 ASSERT_FALSE(minimizeSourceToDependencyDirectives(R"(_Pragma(")", Out));
518 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
519 ASSERT_FALSE(minimizeSourceToDependencyDirectives(R"(_Pragma("A"))", Out));
520 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
523 R"x(_Pragma("push_macro(\"MACRO\")"))x", Out));
526 Out.data());
529 R"x(_Pragma("pop_macro(\"MACRO\")"))x", Out));
532 Out.data());
535 R"x(_Pragma("include_alias(\"A\", \"B\")"))x", Out));
538 Out.data());
541 R"x(_Pragma("include_alias(<A>, <B>)"))x", Out));
544 Out.data());
547 minimizeSourceToDependencyDirectives(R"(_Pragma("clang"))", Out));
548 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
551 minimizeSourceToDependencyDirectives(R"(_Pragma("clang module"))", Out));
552 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
555 R"(_Pragma("clang module impor"))", Out));
556 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
559 R"(_Pragma("clang module import"))", Out));
562 Out.data());
568 Out));
573 Out.data());
576 R"(_Pragma(L"clang module import"))", Out));
579 Out.data());
583 R"(_Pragma(u"clang module import"))", Out));
584 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
588 R"(_Pragma(R"abc(clang module import)abc"))", Out));
591 Out.data());
595 SmallVector<char, 128> Out;
597 ASSERT_FALSE(minimizeSourceToDependencyDirectives("#include \"A\"\n", Out));
598 EXPECT_STREQ("#include \"A\"\n", Out.data());
600 ASSERT_FALSE(minimizeSourceToDependencyDirectives("#include <A>\n", Out));
601 EXPECT_STREQ("#include <A>\n", Out.data());
604 minimizeSourceToDependencyDirectives("#include <A//A.h>\n", Out));
605 EXPECT_STREQ("#include <A//A.h>\n", Out.data());
608 minimizeSourceToDependencyDirectives("#include \"A//A.h\"\n", Out));
609 EXPECT_STREQ("#include \"A//A.h\"\n", Out.data());
612 minimizeSourceToDependencyDirectives("#include_next <A>\n", Out));
613 EXPECT_STREQ("#include_next <A>\n", Out.data());
615 ASSERT_FALSE(minimizeSourceToDependencyDirectives("#import <A>\n", Out));
616 EXPECT_STREQ("#import <A>\n", Out.data());
618 ASSERT_FALSE(minimizeSourceToDependencyDirectives("#import <A//A.h>\n", Out));
619 EXPECT_STREQ("#import <A//A.h>\n", Out.data());
622 minimizeSourceToDependencyDirectives("#import \"A//A.h\"\n", Out));
623 EXPECT_STREQ("#import \"A//A.h\"\n", Out.data());
626 minimizeSourceToDependencyDirectives("#__include_macros <A>\n", Out));
627 EXPECT_STREQ("#__include_macros <A>\n", Out.data());
629 ASSERT_FALSE(minimizeSourceToDependencyDirectives("#include MACRO\n", Out));
630 EXPECT_STREQ("#include MACRO\n", Out.data());
634 SmallVector<char, 128> Out;
636 ASSERT_FALSE(minimizeSourceToDependencyDirectives("@import A;\n", Out));
637 EXPECT_STREQ("@import A;\n", Out.data());
639 ASSERT_FALSE(minimizeSourceToDependencyDirectives(" @ import A;\n", Out));
640 EXPECT_STREQ("@import A;\n", Out.data());
642 ASSERT_FALSE(minimizeSourceToDependencyDirectives("@import A\n;", Out));
643 EXPECT_STREQ("@import A;\n", Out.data());
645 ASSERT_FALSE(minimizeSourceToDependencyDirectives("@import A.B;\n", Out));
646 EXPECT_STREQ("@import A.B;\n", Out.data());
649 "@import /*x*/ A /*x*/ . /*x*/ B /*x*/ \n /*x*/ ; /*x*/", Out));
650 EXPECT_STREQ("@import A.B;\n", Out.data());
654 SmallVector<char, 128> Out;
656 ASSERT_FALSE(minimizeSourceToDependencyDirectives("#import\n", Out));
657 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
659 ASSERT_FALSE(minimizeSourceToDependencyDirectives("#include\n", Out));
660 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
665 Out));
667 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
673 Out));
677 Out.data());
681 SmallVector<char, 128> Out;
683 ASSERT_TRUE(minimizeSourceToDependencyDirectives("@import A\n", Out));
685 minimizeSourceToDependencyDirectives("@import MACRO(A);\n", Out));
686 ASSERT_FALSE(minimizeSourceToDependencyDirectives("@import \" \";\n", Out));
690 SmallVector<char, 128> Out;
696 Out));
700 Out.data());
708 Out);
713 Out.data());
721 Out);
726 Out.data());
730 SmallVector<char, 128> Out;
736 Out));
741 Out.data());
745 Out));
748 Out.data());
752 Out));
755 Out.data());
759 Out));
760 EXPECT_STREQ("#define GUA RD\n", Out.data());
765 SmallVector<char, 128> Out;
770 Out));
774 Out.data());
778 SmallVector<char, 128> Out;
790 ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out));
791 EXPECT_STREQ("#include <t.h>\n", Out.data());
798 ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out));
799 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
810 ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out));
811 EXPECT_STREQ("#if MACRO\n#endif\n", Out.data());
816 SmallVector<char, 128> Out;
825 ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out));
826 EXPECT_STREQ("#include <bob>\n#include <foo>\n", Out.data());
830 SmallVector<char, 128> Out;
838 ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out));
839 EXPECT_STREQ("#if DEBUG\n#endif\n#include <test.h>\n", Out.data());
843 SmallVector<char, 128> Out;
849 ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out));
850 EXPECT_STREQ("#include <test.h>\n", Out.data());
854 SmallVector<char, 128> Out;
862 ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out));
863 EXPECT_STREQ("#include <test.h>\n", Out.data());
867 SmallVector<char, 128> Out;
878 minimizeSourceToDependencyDirectives(Source, Out, Tokens, Directives));
880 Out.data());
891 ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out));
894 Out.data());
899 SmallVector<char, 128> Out;
907 ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out));
911 Out.data());
919 ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out));
923 Out.data());
928 SmallVector<char, 128> Out;
933 Out));
934 EXPECT_STREQ("#define FOO(BAR) #BAR baz\n", Out.data());
939 SmallVector<char, 128> Out;
942 ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out));
943 EXPECT_STREQ("#define X '\\ \t\nx'\n<TokBeforeEOF>\n", Out.data());
946 ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out));
947 EXPECT_STREQ("#define X \"\\ \r\nx\"\n<TokBeforeEOF>\n", Out.data());
950 ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out));
951 EXPECT_STREQ("#define X\"\\ \r\nx\n#include <x>\n", Out.data());
955 SmallVector<char, 128> Out;
987 minimizeSourceToDependencyDirectives(Source, Out, Tokens, Directives));
994 Out.data());
1001 SmallVector<char, 128> Out;
1011 ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out));
1014 EXPECT_STREQ("<TokBeforeEOF>\n", Out.data());
1018 SmallString<128> Out;
1026 ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out));
1027 EXPECT_STREQ("#define A\n<TokBeforeEOF>\n", Out.data());
1036 ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out));
1037 EXPECT_STREQ("#ifndef A\n#define A\n#endif\n", Out.data());
1046 ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out));
1047 EXPECT_STREQ("#ifndef A\n#define A\n#endif\n", Out.data());
1057 ASSERT_FALSE(minimizeSourceToDependencyDirectives(Source, Out));
1058 EXPECT_STREQ("#ifndef A\n#define A\n#endif\n<TokBeforeEOF>\n", Out.data());