|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
tools/clang/unittests/Format/FormatTest.cpp 94 verifyFormat(Code, getGoogleStyle());
98 verifyFormat(text);
99 verifyFormat(llvm::Twine("void f() { " + text + " }").str());
152 verifyFormat("Method(f1, f2(f3));");
153 verifyFormat("Method(f1(f2, f3()));");
154 verifyFormat("Method(f1(f2, (f3())));");
158 verifyFormat("vector<::Type> v;");
159 verifyFormat("::ns::SomeFunction(::ns::SomeOtherFunction())");
160 verifyFormat("static constexpr bool Bar = decltype(bar())::value;");
161 verifyFormat("bool a = 2 < ::SomeFunction();");
162 verifyFormat("ALWAYS_INLINE ::std::string getName();");
163 verifyFormat("some::string getName();");
255 verifyFormat("extern \"C\" int f() { return 42; }", getGoogleStyle());
399 verifyFormat("x = (a) and (b);");
400 verifyFormat("x = (a) or (b);");
401 verifyFormat("x = (a) bitand (b);");
402 verifyFormat("x = (a) bitor (b);");
403 verifyFormat("x = (a) not_eq (b);");
404 verifyFormat("x = (a) and_eq (b);");
405 verifyFormat("x = (a) or_eq (b);");
406 verifyFormat("x = (a) xor (b);");
410 verifyFormat("x = compl(a);");
411 verifyFormat("x = not(a);");
412 verifyFormat("x = bitand(a);");
414 verifyFormat("x = compl a;");
415 verifyFormat("x = not a;");
416 verifyFormat("x = bitand a;");
424 verifyFormat("if (true)\n f();\ng();");
425 verifyFormat("if (a)\n if (b)\n if (c)\n g();\nh();");
426 verifyFormat("if (a)\n if (b) {\n f();\n }\ng();");
427 verifyFormat("if constexpr (true)\n"
429 verifyFormat("if CONSTEXPR (true)\n"
431 verifyFormat("if constexpr (a)\n"
436 verifyFormat("if CONSTEXPR (a)\n"
441 verifyFormat("if constexpr (a)\n"
446 verifyFormat("if CONSTEXPR (a)\n"
456 verifyFormat("if (a)\n"
460 verifyFormat("{\n"
466 verifyFormat("#define A \\\n"
471 verifyFormat("if (a)\n"
474 verifyFormat("if (a)\n"
478 verifyFormat("if (a) // Can't merge this\n"
481 verifyFormat("if (a) /* still don't merge */\n"
484 verifyFormat("if (a) { // Never merge this\n"
488 verifyFormat("if (a) { /* Never merge this */\n"
494 verifyFormat("if (a) return;", AllowsMergedIf);
495 verifyFormat("if (aaaaaaaaa)\n"
500 verifyFormat("if (a)\n return;", AllowsMergedIf);
508 verifyFormat("if (a)\n"
514 verifyFormat("if (a)\n"
522 verifyFormat("if (a) f();\n"
527 verifyFormat("if (a) f();\n"
541 verifyFormat("while (true) continue;", AllowsMergedLoops);
542 verifyFormat("for (;;) continue;", AllowsMergedLoops);
543 verifyFormat("for (int &v : vec) v *= 2;", AllowsMergedLoops);
544 verifyFormat("while (true)\n"
547 verifyFormat("for (;;)\n"
550 verifyFormat("for (;;)\n"
553 verifyFormat("for (;;) // Can't merge this\n"
556 verifyFormat("for (;;) /* still don't merge */\n"
575 verifyFormat("if (true) {}", AllowSimpleBracedStatements);
576 verifyFormat("if constexpr (true) {}", AllowSimpleBracedStatements);
577 verifyFormat("if CONSTEXPR (true) {}", AllowSimpleBracedStatements);
578 verifyFormat("while (true) {}", AllowSimpleBracedStatements);
579 verifyFormat("for (;;) {}", AllowSimpleBracedStatements);
580 verifyFormat("if (true) { f(); }", AllowSimpleBracedStatements);
581 verifyFormat("if constexpr (true) { f(); }", AllowSimpleBracedStatements);
582 verifyFormat("if CONSTEXPR (true) { f(); }", AllowSimpleBracedStatements);
583 verifyFormat("while (true) { f(); }", AllowSimpleBracedStatements);
584 verifyFormat("for (;;) { f(); }", AllowSimpleBracedStatements);
585 verifyFormat("if (true) {\n"
589 verifyFormat("if (true) { //\n"
593 verifyFormat("if (true) {\n"
598 verifyFormat("if (true) {\n"
605 verifyFormat("struct A2 {\n"
609 verifyFormat("typedef struct A2 {\n"
613 verifyFormat("template <int> struct A2 {\n"
620 verifyFormat("if (true) {}", AllowSimpleBracedStatements);
621 verifyFormat("if (true) {\n"
625 verifyFormat("if (true) {\n"
633 verifyFormat("while (true) {}", AllowSimpleBracedStatements);
634 verifyFormat("while (true) {\n"
638 verifyFormat("for (;;) {}", AllowSimpleBracedStatements);
639 verifyFormat("for (;;) {\n"
650 verifyFormat("if (true) {}", AllowSimpleBracedStatements);
651 verifyFormat("if constexpr (true) {}", AllowSimpleBracedStatements);
652 verifyFormat("if CONSTEXPR (true) {}", AllowSimpleBracedStatements);
653 verifyFormat("while (true) {}", AllowSimpleBracedStatements);
654 verifyFormat("for (;;) {}", AllowSimpleBracedStatements);
655 verifyFormat("if (true) { f(); }", AllowSimpleBracedStatements);
656 verifyFormat("if constexpr (true) { f(); }", AllowSimpleBracedStatements);
657 verifyFormat("if CONSTEXPR (true) { f(); }", AllowSimpleBracedStatements);
658 verifyFormat("while (true) { f(); }", AllowSimpleBracedStatements);
659 verifyFormat("for (;;) { f(); }", AllowSimpleBracedStatements);
660 verifyFormat("if (true)\n"
665 verifyFormat("if (true)\n"
670 verifyFormat("if (true)\n"
676 verifyFormat("if (true)\n"
687 verifyFormat("if (true) {}", AllowSimpleBracedStatements);
688 verifyFormat("if (true)\n"
693 verifyFormat("if (true)\n"
703 verifyFormat("while (true) {}", AllowSimpleBracedStatements);
704 verifyFormat("while (true)\n"
709 verifyFormat("for (;;) {}", AllowSimpleBracedStatements);
710 verifyFormat("for (;;)\n"
735 verifyFormat("if (true)\n"
745 verifyFormat("if (true)\n"
758 verifyFormat("if (true)\n"
771 verifyFormat("if (true)\n"
784 verifyFormat("void f() {\n"
792 verifyFormat("if (a) {\n} else if (b) {\n}");
793 verifyFormat("if (a)\n"
799 verifyFormat("if constexpr (a)\n"
805 verifyFormat("if CONSTEXPR (a)\n"
811 verifyFormat("if (a) {\n"
819 verifyFormat("if (a) {\n"
823 verifyFormat("if (a) {\n"
827 verifyFormat("if (a) {\n"
831 verifyFormat("if (a) {\n"
836 verifyFormat("if (a) {\n"
841 verifyFormat("if (a) {\n"
849 verifyFormat(
853 verifyFormat("for (;;)\n"
855 verifyFormat("for (;;) {\n}");
856 verifyFormat("for (;;) {\n"
859 verifyFormat("for (int i = 0; (i < 10); ++i) {\n}");
861 verifyFormat(
866 verifyFormat(
869 verifyFormat("for (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaa =\n"
872 verifyFormat("for (llvm::ArrayRef<NamedDecl *>::iterator\n"
876 verifyFormat("for (SmallVectorImpl<TemplateIdAnnotationn *>::iterator\n"
882 verifyFormat(
888 verifyFormat("for (int i = 0; i < aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ||\n"
891 verifyFormat("for (int aaaaaaaaaaa = 1; aaaaaaaaaaa <= bbbbbbbbbbbbbbb;\n"
894 verifyFormat("for (some_namespace::SomeIterator iter( // force break\n"
898 verifyFormat("for (auto aaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
904 verifyFormat("for (Foo *x = 0; x != in; x++) {\n}");
905 verifyFormat("Foo *x;\nfor (x = 0; x != in; x++) {\n}");
906 verifyFormat("Foo *x;\nfor (x in y) {\n}");
907 verifyFormat(
912 verifyFormat("for (int aaaaaaaaaaa = 1;\n"
920 verifyFormat(
929 verifyFormat("for (A* a = start; a < end; ++a, ++value) {\n}", AlignLeft);
933 verifyFormat("for (auto aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa :\n"
935 verifyFormat("for (auto aaaaaaaaaaaaaaaaaaaaa :\n"
937 verifyFormat("for (const aaaaaaaaaaaaaaaaaaaaa &aaaaaaaaa :\n"
939 verifyFormat("for (aaaaaaaaa aaaaaaaaaaaaaaaaaaaaa :\n"
944 verifyFormat("void f() {\n"
952 verifyFormat("#define foreach(x, y)\n"
958 verifyFormat("#define foreach (x, y)\n"
965 verifyFormat("while (true) {\n}");
966 verifyFormat("while (true)\n"
968 verifyFormat("while () {\n}");
969 verifyFormat("while () {\n"
975 verifyFormat("do {\n"
978 verifyFormat("do\n"
984 verifyFormat("switch (x) {\n"
996 verifyFormat("switch (x) {\n"
1005 verifyFormat("switch (x) {\n"
1015 verifyFormat("switch (x) {\n"
1025 verifyFormat("switch (x) {\n"
1031 verifyFormat("switch (test)\n"
1033 verifyFormat("switch (x) {\n"
1038 verifyFormat("switch (x) {\n"
1044 verifyFormat("switch (x) {\n"
1053 verifyFormat("#define A \\\n"
1059 verifyFormat("#define OPERATION_CASE(name) \\\n"
1063 verifyFormat("switch (x) {\n"
1103 verifyFormat("DEBUG({\n"
1155 verifyFormat("switch (a) {\n"
1160 verifyFormat("switch (a) {\n"
1217 verifyFormat("switch (x) {\n"
1228 verifyFormat("switch (a) {\n"
1245 verifyFormat("switch (a) {\n"
1322 verifyFormat("switch (a) {\n"
1328 verifyFormat("switch (a) {\n"
1344 verifyFormat("switch (a) {\n"
1399 verifyFormat("void f() {\n"
1409 verifyFormat("{\n"
1414 verifyFormat("{\n"
1421 verifyFormat("void f() {\n"
1432 verifyFormat("{\n"
1438 verifyFormat("{\n"
1575 verifyFormat("class A {};");
1579 verifyFormat("class A {\n"
1586 verifyFormat("export class A {\n"
1605 verifyFormat("class A {\n"
1625 verifyFormat("signals.set();");
1626 verifyFormat("for (Signals signals : f()) {\n}");
1627 verifyFormat("{\n"
1630 verifyFormat("void f() {\n"
1695 verifyFormat("class A : public B {};");
1696 verifyFormat("class A : public ::B {};");
1698 verifyFormat(
1701 verifyFormat("class AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n"
1704 verifyFormat(
1706 verifyFormat("class AAAAAAAAAAAA : public B,\n"
1713 verifyFormat("class\n"
1718 verifyFormat("struct aaaaaaaaaaaaa : public aaaaaaaaaaaaaaaaaaa< // break\n"
1720 verifyFormat("struct aaaaaaaaaaaaaaaaaaaa\n"
1723 verifyFormat("template <class R, class C>\n"
1726 verifyFormat("class ::A::B {};");
1733 verifyFormat("class MyClass : public X {};",
1735 verifyFormat("class MyClass\n"
1739 verifyFormat("class AAAAAAAAAAAAAAAAAAAAAA\n"
1743 verifyFormat("struct aaaaaaaaaaaaa\n"
1751 verifyFormat("class MyClass : public X {};",
1753 verifyFormat("class MyClass : public X, public Y {};",
1755 verifyFormat("class AAAAAAAAAAAAAAAAAAAAAA :\n"
1759 verifyFormat("struct aaaaaaaaaaaaa :\n"
1766 verifyFormat("class A {\n} a, b;");
1767 verifyFormat("struct A {\n} a, b;");
1768 verifyFormat("union A {\n} a;");
1772 verifyFormat("enum {\n"
1788 verifyFormat("enum Enum {};");
1789 verifyFormat("enum {};");
1790 verifyFormat("enum X E {} d;");
1791 verifyFormat("enum __attribute__((...)) E {} d;");
1792 verifyFormat("enum __declspec__((...)) E {} d;");
1793 verifyFormat("enum {\n"
1798 verifyFormat("enum ShortEnum { A, B, C };");
1816 verifyFormat("enum E { // comment\n"
1822 verifyFormat("enum X f() {\n"
1826 verifyFormat("enum X Type::f() {\n"
1830 verifyFormat("enum ::X f() {\n"
1834 verifyFormat("enum ns::X f() {\n"
1841 verifyFormat("enum Type {\n"
1845 verifyFormat("namespace n {\n"
1855 verifyFormat("enum struct {\n"
1863 verifyFormat("enum struct Enum {};");
1864 verifyFormat("enum struct {};");
1865 verifyFormat("enum struct X E {} d;");
1866 verifyFormat("enum struct __attribute__((...)) E {} d;");
1867 verifyFormat("enum struct __declspec__((...)) E {} d;");
1868 verifyFormat("enum struct X f() {\n a();\n return 42;\n}");
1872 verifyFormat("enum class {\n"
1880 verifyFormat("enum class Enum {};");
1881 verifyFormat("enum class {};");
1882 verifyFormat("enum class X E {} d;");
1883 verifyFormat("enum class __attribute__((...)) E {} d;");
1884 verifyFormat("enum class __declspec__((...)) E {} d;");
1885 verifyFormat("enum class X f() {\n a();\n return 42;\n}");
1889 verifyFormat("enum X : int {\n"
1893 verifyFormat("enum X : int { A, B };");
1894 verifyFormat("enum X : std::uint32_t { A, B };");
1900 verifyFormat("typedef enum {} EmptyEnum;");
1901 verifyFormat("typedef enum { A, B, C } ShortEnum;");
1902 verifyFormat("typedef enum {\n"
1911 verifyFormat("typedef enum {} EmptyEnum;");
1912 verifyFormat("typedef enum { A, B, C } ShortEnum;");
1913 verifyFormat("typedef enum\n"
1966 verifyFormat("struct Bitfields {\n"
1970 verifyFormat("struct A {\n"
1974 verifyFormat("struct MyStruct {\n"
1986 verifyFormat("namespace some_namespace {\n"
1991 verifyFormat("namespace N::inline D {\n"
1996 verifyFormat("namespace N::inline D::E {\n"
2001 verifyFormat("namespace [[deprecated(\"foo[bar\")]] some_namespace {\n"
2006 verifyFormat("/* something */ namespace some_namespace {\n"
2011 verifyFormat("namespace {\n"
2016 verifyFormat("/* something */ namespace {\n"
2021 verifyFormat("inline namespace X {\n"
2026 verifyFormat("/* something */ inline namespace X {\n"
2031 verifyFormat("export namespace X {\n"
2036 verifyFormat("using namespace some_namespace;\n"
2044 verifyFormat("namespace {};", LLVMWithNoNamespaceFix);
2045 verifyFormat("namespace {\n"
2050 verifyFormat("namespace {\n"
2112 verifyFormat("TESTSUITE(A) {\n"
2117 verifyFormat("TESTSUITE(A, B) {\n"
2124 verifyFormat("TESTSUITE(A) {\n"
2128 verifyFormat("TESTSUITE(A) {\n"
2134 verifyFormat("namespace A {\n"
2142 verifyFormat("TESTSUITE(A) {\n"
2148 verifyFormat("TESTSUITE(A) {\n"
2154 verifyFormat("namespace A {\n"
2164 verifyFormat("TESTSUITE(A) { TESTSUITE(B) {\n"
2220 verifyFormat("namespace A { namespace B {\n"
2352 verifyFormat("extern \"C\" {\nint a;");
2353 verifyFormat("extern \"C\" {}");
2354 verifyFormat("extern \"C\" {\n"
2357 verifyFormat("extern \"C\" int foo() {}");
2358 verifyFormat("extern \"C\" int foo();");
2359 verifyFormat("extern \"C\" int foo() {\n"
2367 verifyFormat("extern \"C\" int foo() {}", Style);
2368 verifyFormat("extern \"C\" int foo();", Style);
2369 verifyFormat("extern \"C\" int foo()\n"
2378 verifyFormat("extern \"C\"\n"
2381 verifyFormat("extern \"C\"\n"
2389 verifyFormat("asm(\"xyz\" : \"=a\"(a), \"=d\"(b) : \"a\"(data));");
2390 verifyFormat("asm(\"nop\" ::: \"memory\");");
2391 verifyFormat(
2420 verifyFormat("void function() {\n"
2433 verifyFormat("try {\n"
2442 verifyFormat("int f() try { return 4; } catch (...) {\n"
2445 verifyFormat("class A {\n"
2458 verifyFormat("__try {\n"
2464 verifyFormat("__try {\n"
2470 verifyFormat("DEBUG({\n"
2478 verifyFormat("try {\n"
2483 verifyFormat("try {\n"
2497 verifyFormat("try {\n"
2505 verifyFormat("try {\n"
2512 verifyFormat("__try {\n"
2519 verifyFormat("@try {\n"
2527 verifyFormat("try\n"
2537 verifyFormat("try\n"
2547 verifyFormat("try\n"
2558 verifyFormat("try {\n"
2568 verifyFormat("static SomeClass SC = {1, 'a'};");
2570 verifyFormat("static SomeClass WithALoooooooooooooooooooongName = {\n"
2575 verifyFormat("static int LooooooooooooooooooooooooongVariable[1] = {\n"
2589 verifyFormat("static int Variable[1] = {\n"
2595 verifyFormat("const struct A a = {.a = 1, .b = 2};");
2596 verifyFormat("const struct A a = {.aaaaaaaaaa = 1,\n"
2601 verifyFormat("const struct Aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaa = {\n"
2610 verifyFormat("const struct A a = {[0] = 1, [1] = 2};");
2611 verifyFormat("const struct A a = {[1] = aaaaaaaaaa,\n"
2616 verifyFormat("const struct Aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaa = {\n"
2625 verifyFormat("static A x = {{{}}};\n");
2626 verifyFormat("static A x = {{{init1, init2, init3, init4},\n"
2630 verifyFormat("somes Status::global_reps[3] = {\n"
2639 verifyFormat("CGRect cg_rect = {{rect.fLeft, rect.fTop},\n"
2643 verifyFormat(
2651 verifyFormat(
2660 verifyFormat("struct {\n"
2667 verifyFormat("struct {\n"
2679 verifyFormat("#define ALooooooooooooooooooooooooooooooooooooooongMacro("
2685 verifyFormat("virtual void write(ELFWriter *writerrr,\n"
2689 verifyFormat("virtual void ~Deeeeeeeestructor() =\n"
2692 verifyFormat("virtual void ~Deeeeeeeestructor() =\n"
2698 verifyFormat("# 1111 \"/aaaaaaaaa/aaaaaaaaaaaaaaaaaaa/aaaaaaaa.cpp\" 2 3",
2700 verifyFormat("#line 11111 \"/aaaaaaaaa/aaaaaaaaaaaaaaaaaaa/aaaaaaaa.cpp\"",
2716 verifyFormat("#\n;\n;\n;");
2733 verifyFormat("#define A \\x20");
2734 verifyFormat("#define A \\ x20");
2736 verifyFormat("#define A ''");
2737 verifyFormat("#define A ''qqq");
2738 verifyFormat("#define A `qqq");
2739 verifyFormat("f(\"aaaa, bbbb, \"\\\"ccccc\\\"\");");
2745 verifyFormat("a\r\\");
2746 verifyFormat("a\v\\");
2747 verifyFormat("a\f\\");
2751 verifyFormat("#define A(BB)", getLLVMStyleWithColumns(13));
2752 verifyFormat("#define A( \\\n BB)", getLLVMStyleWithColumns(12));
2753 verifyFormat("#define A( \\\n A, B)", getLLVMStyleWithColumns(12));
2755 verifyFormat("#define AA( \\\n B)", getLLVMStyleWithColumns(12));
2757 verifyFormat("#define A A\n#define A A");
2758 verifyFormat("#define A(X) A\n#define A A");
2760 verifyFormat("#define Something Other", getLLVMStyleWithColumns(23));
2761 verifyFormat("#define Something \\\n Other", getLLVMStyleWithColumns(22));
2803 verifyFormat("#define A \\\n b #c;", getLLVMStyleWithColumns(11));
2804 verifyFormat("#define A \\\n"
2810 verifyFormat("#define A(X) \\\n"
2814 verifyFormat("#define A(a, b, c) \\\n"
2818 verifyFormat("#define A void # ## #", getLLVMStyleWithColumns(22));
2827 verifyFormat("#define true ((foo)1)", Style);
2829 verifyFormat("#define false((foo)0)", Style);
2859 verifyFormat("#define SOMECASES \\\n"
2863 verifyFormat("#define MACRO(a) \\\n"
2869 verifyFormat("#define A template <typename T>");
2872 verifyFormat("#pragma omp threadprivate( \\\n"
2875 verifyFormat("#d, = };");
2876 verifyFormat("#if \"a");
2883 verifyFormat("#define A \\\n"
2897 verifyFormat("SOME_TYPE_NAME abc;"); // Gated on the newline.
2937 verifyFormat("VISIT_GL_CALL(GenBuffers, void, (GLsizei n, GLuint* buffers), "
3099 verifyFormat("MACRO(>)");
3104 verifyFormat("FOO(a) int b = 0;");
3105 verifyFormat("FOO(a)\n"
3108 verifyFormat("FOO(a);\n"
3111 verifyFormat("FOO(argc, argv, \"4.0.2\")\n"
3114 verifyFormat("FOO()\n"
3117 verifyFormat("FOO\n"
3120 verifyFormat("void f() {\n"
3125 verifyFormat("FOO(a)\n"
3128 verifyFormat("int a = 0;\n"
3132 verifyFormat("int a = 0;\n"
3136 verifyFormat("void foo(int a) { FOO(a) }\n"
3142 verifyFormat("#define A \\\n"
3153 verifyFormat("#ifdef _WIN32\n"
3166 verifyFormat("#ifdef _WIN32\n"
3178 verifyFormat("#if A\n"
3190 verifyFormat("// file comment\n"
3198 verifyFormat("#ifndef HEADER_H\n"
3205 verifyFormat("#ifndef NOT_GUARD\n"
3212 verifyFormat("code();\n"
3219 verifyFormat("#ifndef NOT_GUARD\n"
3226 verifyFormat("#ifndef HEADER_H\n"
3232 verifyFormat("#ifndef NOT_GUARD\n"
3238 verifyFormat("#ifndef NOT_GUARD\n"
3245 verifyFormat("#ifndef FOO\n"
3250 verifyFormat("#ifndef FOO\n"
3259 verifyFormat("#if 1\n"
3400 verifyFormat("#ifdef _WIN32\n"
3415 verifyFormat("#ifndef HEADER_H\n"
3425 verifyFormat("#ifdef _WIN32\n"
3437 verifyFormat("#if A\n"
3513 verifyFormat("// Comment\n"
3521 verifyFormat("{\n { a #c; }\n}");
3592 verifyFormat("#define A \\\n"
3620 verifyFormat("functionCallTo(\n"
3630 verifyFormat("Foo::Foo()\n"
3636 verifyFormat("void f() {\n"
3646 verifyFormat("void f(param1, param2,\n"
3668 verifyFormat("#if 1\n"
3670 verifyFormat("#if 1\n"
3675 verifyFormat("DEBUG({\n"
3691 verifyFormat("#endif\n"
3698 verifyFormat("#if 0\n"
3708 verifyFormat("functionCall({ int i; });");
3709 verifyFormat("functionCall({\n"
3713 verifyFormat("functionCall(\n"
3719 verifyFormat("functionA(functionB({\n"
3724 verifyFormat("functionCall(\n"
3731 verifyFormat("functionA(functionB({\n"
3737 verifyFormat("functionCall(aaaa, bbbb, { int i; });");
3738 verifyFormat("functionCall(aaaa, bbbb, {\n"
3742 verifyFormat(
3749 verifyFormat("DEBUG({\n"
3762 verifyFormat("void AddOsStrings(unsigned bitmask) {\n"
3770 verifyFormat("call(parameter, {\n"
3776 verifyFormat("DEBUG( //\n"
3778 verifyFormat("DEBUG( //\n"
3816 verifyFormat("DEBUG({\n"
3825 verifyFormat("Debug(\n"
3833 verifyFormat("SomeFunction({MACRO({ return output; }), b});");
3861 verifyFormat("enum E {};");
3862 verifyFormat("enum E {}");
3874 verifyFormat("FOO_BEGIN\n"
3878 verifyFormat("FOO_BEGIN\n"
3884 verifyFormat("FOO_BEGIN(Foo, Bar)\n"
3896 verifyFormat(
3902 verifyFormat(
3907 verifyFormat(
3912 verifyFormat(
3917 verifyFormat("int a = bbbb && ccc &&\n"
3924 verifyFormat(
3928 verifyFormat(
3933 verifyFormat("bool aaaaaaaaaaaaaaaaaaaaa =\n"
3936 verifyFormat("bool aaaaaaaaaaaaaaaaaaaaa =\n"
3939 verifyFormat(
3944 verifyFormat("aaaaaa = aaaaaaa(aaaaaaa, // break\n"
3947 verifyFormat("aaaaaa = aaaaaaa(aaaaaaa, // break\n"
3950 verifyFormat("aa = Whitespaces.addUntouchableComment(\n"
3955 verifyFormat("if ((aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ||\n"
3958 verifyFormat("if constexpr ((aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ||\n"
3961 verifyFormat("if CONSTEXPR ((aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ||\n"
3964 verifyFormat("b = a &&\n"
3970 verifyFormat(
3974 verifyFormat(
3978 verifyFormat(
3982 verifyFormat(
3988 verifyFormat("if ((aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +\n"
3992 verifyFormat(
4001 verifyFormat("if (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +\n"
4005 verifyFormat("if (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +\n"
4012 verifyFormat(
4018 verifyFormat("int i = someFunction(aaaaaaa, 0)\n"
4026 verifyFormat("bool value = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +\n"
4035 verifyFormat("if (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa *\n"
4039 verifyFormat("if (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +\n"
4043 verifyFormat("if (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ==\n"
4047 verifyFormat("if () {\n"
4051 verifyFormat("if () {\n"
4055 verifyFormat("if () {\n"
4059 verifyFormat("if () {\n"
4067 verifyFormat("return aaaaaaaaaaaaaaaaaaa +\n"
4082 verifyFormat(
4093 verifyFormat("if (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
4098 verifyFormat("if (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
4103 verifyFormat("if (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
4108 verifyFormat("if () {\n"
4114 verifyFormat("return (a)\n"
4118 verifyFormat(
4124 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
4129 verifyFormat(
4136 verifyFormat("return boost::fusion::at_c<0>(iiii).second\n"
4141 verifyFormat("zzzzzzzzzz\n"
4164 verifyFormat("bool x = aaaaa //\n"
4173 verifyFormat("aaaaaaaaaaaaaa(aaaaaaaaaaaa,\n"
4178 verifyFormat("bool value = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
4189 verifyFormat("int aaaaaa = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
4193 verifyFormat("int a = aa\n"
4199 verifyFormat("return (a > b\n"
4209 verifyFormat("int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =\n"
4220 verifyFormat("void test() {\n"
4227 verifyFormat("void test() {\n"
4237 verifyFormat("void test() {\n"
4253 verifyFormat("void test() {\n"
4270 verifyFormat("Constructor() : Initializer(FitsOnTheLine) {}");
4271 verifyFormat("Constructor() : Inttializer(FitsOnTheLine) {}",
4273 verifyFormat("Constructor()\n"
4276 verifyFormat("Constructor()\n"
4280 verifyFormat("template <typename T>\n"
4284 verifyFormat(
4288 verifyFormat(
4292 verifyFormat(
4296 verifyFormat("Constructor(aaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,\n"
4300 verifyFormat("Constructor()\n"
4306 verifyFormat("Constructor()\n"
4310 verifyFormat("Constructor(int Parameter = 0)\n"
4313 verifyFormat("Constructor()\n"
4317 verifyFormat("Constructor()\n"
4323 verifyFormat("Constructor()\n"
4331 verifyFormat("SomeClass::Constructor()\n"
4336 verifyFormat("SomeClass::Constructor()\n"
4341 verifyFormat("MyClass::MyClass(int var)\n"
4346 verifyFormat("Constructor()\n"
4353 verifyFormat("Constructor()\n"
4358 verifyFormat(
4365 verifyFormat("Constructor()\n"
4393 verifyFormat("Constructor()\n"
4396 verifyFormat("Constructor() : a(a), b(b) {}", Style);
4399 verifyFormat("Constructor()\n"
4403 verifyFormat("Constructor() : a(a), b(b) {}", Style);
4407 verifyFormat("Constructor()\n"
4412 verifyFormat("Constructor()\n"
4419 verifyFormat("Constructor() :\n"
4424 verifyFormat("Constructor() :\n"
4436 verifyFormat("SomeClassWithALongName::Constructor(\n"
4443 verifyFormat("SomeClassWithALongName::Constructor(\n"
4452 verifyFormat("SomeClassWithALongName::Constructor(\n"
4462 verifyFormat("SomeClassWithALongName::Constructor(\n"
4469 verifyFormat("SomeClassWithALongName::Constructor(\n"
4478 verifyFormat("SomeClassWithALongName::Constructor(\n"
4487 verifyFormat("SomeClassWithALongName::Constructor(\n"
4494 verifyFormat("SomeClassWithALongName::Constructor(\n"
4503 verifyFormat("SomeClassWithALongName::Constructor(\n"
4521 verifyFormat("void foo() {\n"
4527 verifyFormat("void foo() {\n"
4535 verifyFormat("void foo() {\n"
4541 verifyFormat("void foo() {\n"
4553 verifyFormat("void FunctionCallWithReallyLongName(\n"
4557 verifyFormat("void FunctionCallWithReallyLongName(\n"
4567 verifyFormat("Constructor() : Initializer(FitsOnTheLine) {}");
4568 verifyFormat("Constructor() : Initializer(FitsOnTheLine) {}",
4570 verifyFormat("Constructor() :\n"
4573 verifyFormat("Constructor() :\n"
4577 verifyFormat("template <typename T>\n"
4581 verifyFormat(
4587 verifyFormat(
4592 verifyFormat(
4597 verifyFormat(
4602 verifyFormat("Constructor(aaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,\n"
4607 verifyFormat("Constructor() :\n"
4614 verifyFormat("Constructor() :\n"
4619 verifyFormat("Constructor(int Parameter = 0) :\n"
4623 verifyFormat("Constructor() :\n"
4627 verifyFormat("Constructor() :\n"
4634 verifyFormat("Constructor() :\n"
4643 verifyFormat("SomeClass::Constructor() :\n"
4648 verifyFormat("SomeClass::Constructor() :\n"
4653 verifyFormat("MyClass::MyClass(int var) :\n"
4658 verifyFormat("Constructor() :\n"
4665 verifyFormat("Constructor() :\n"
4670 verifyFormat("Constructor() :\n"
4676 verifyFormat("Constructor() :\n"
4690 verifyFormat("SomeClass::Constructor() :\n"
4693 verifyFormat("SomeClass::Constructor() noexcept :\n"
4696 verifyFormat("SomeClass::Constructor() :\n"
4699 verifyFormat("SomeClass::Constructor() :\n"
4707 verifyFormat("SomeClass::Constructor() :\n"
4711 verifyFormat("SomeClass::Constructor() :\n"
4719 verifyFormat("SomeClass::Constructor() : a(a), b(b), c(c) {}", Style);
4720 verifyFormat("SomeClass::Constructor() :\n"
4728 verifyFormat(
4734 verifyFormat(
4740 verifyFormat(
4754 verifyFormat(
4762 verifyFormat(
4769 verifyFormat(
4796 verifyFormat(
4827 verifyFormat(input, OnePerLine);
4832 verifyFormat(
4838 verifyFormat("if (Intervals[i].getRange().getFirst() <\n"
4845 verifyFormat("Aaaaaaaaaaaaaa bbbbbbbbbbbbbb(Cccccccccccccc cccccccccccccc,\n"
4847 verifyFormat("template <class TemplateIt>\n"
4852 verifyFormat(
4858 verifyFormat(
4864 verifyFormat(
4874 verifyFormat("Aaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbb(Cccccccccccccc cccccccccc,\n"
4879 verifyFormat(
4885 verifyFormat(
4893 verifyFormat("Aaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb(\n"
4900 verifyFormat("void aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
4904 verifyFormat("void SomeLoooooooooooongFunction(\n"
4910 verifyFormat("SomeLoooooooooooooooooooooooooogType\n"
4912 verifyFormat("SomeLoooooooooooooooooooooooooogType\n"
4914 verifyFormat("SomeLoooooooooooooooooooooooooogType\n"
4922 verifyFormat("void aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
4924 verifyFormat("aaaaaaaaaaaaaaaaaaaaaa\n"
4937 verifyFormat("void aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
4940 verifyFormat("void aaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa*\n"
4958 verifyFormat("auto foo() -> int;\n");
4960 verifyFormat("auto operator->() -> int;\n");
4961 verifyFormat("auto operator++(int) -> int;\n");
4963 verifyFormat("struct S {\n"
4966 verifyFormat("template <size_t Order, typename T>\n"
4969 verifyFormat("auto SomeFunction(A aaaaaaaaaaaaaaaaaaaaa) const\n"
4971 verifyFormat("auto doSomething(Aaaaaa *aaaaaa) -> decltype(aaaaaa->f()) {}");
4972 verifyFormat("template <typename T>\n"
4977 verifyFormat("void f() { auto a = b->c(); }");
4985 verifyFormat("void someLongFunction(\n"
4988 verifyFormat("LoooooongReturnType\n"
4991 verifyFormat("LoooooongReturnType someLoooooooongFunction()\n"
4994 verifyFormat("void SomeFunction(aaaaa aaaaaaaaaaaaaaaaaaaa,\n"
4996 verifyFormat("void SomeFunction(aaaaa aaaaaaaaaaaaaaaaaaaa,\n"
4998 verifyFormat("void SomeFunction(aaaaa aaaaaaaaaaaaaaaaaaaa,\n"
5000 verifyFormat("virtual void aaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaa aaaa,\n"
5007 verifyFormat("void someLongFunction(\n"
5010 verifyFormat("void someLongFunction(\n"
5013 verifyFormat("void someLongFunction(\n"
5016 verifyFormat("void someLongFunction(\n"
5019 verifyFormat("void someLongFunction(\n"
5022 verifyFormat("void someLongFunction(\n"
5025 verifyFormat("void someLongFunction(\n"
5030 verifyFormat("void someLongFunction(\n"
5037 verifyFormat("void someLongFunction(\n"
5044 verifyFormat("void SomeFunction(aaaaaaaaaa aaaaaaaaaaaaaaa,\n"
5050 verifyFormat("void aaaaaaaaaaaa(int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)\n"
5052 verifyFormat("void aaaaaaaaaaaa(int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) const\n"
5054 verifyFormat("void aaaaaaaaaaaa(int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) const\n"
5058 verifyFormat("SomeFunction([](int i) LOCKS_EXCLUDED(a) {});");
5060 verifyFormat(
5064 verifyFormat("bool aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
5081 verifyFormat("DEPRECATED(\"Use NewClass::NewFunction instead.\")\n"
5083 verifyFormat("DEPRECATED(\"Use NewClass::NewFunction instead.\")\n"
5085 verifyFormat("template <typename T>\n"
5090 verifyFormat("ASSERT(\"aaaaa\") << aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
5092 verifyFormat("TEST_F(ThisIsATestFixtureeeeeeeeeeeee,\n"
5094 verifyFormat("MACRO(abc).function() // wrap\n"
5096 verifyFormat("MACRO(abc)->function() // wrap\n"
5098 verifyFormat("MACRO(abc)::function() // wrap\n"
5103 verifyFormat("if (aaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaa) ||\n"
5106 verifyFormat("if (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
5110 verifyFormat(
5114 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
5118 verifyFormat(
5125 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ||\n"
5128 verifyFormat(
5133 verifyFormat(
5136 verifyFormat(
5139 verifyFormat(
5144 verifyFormat("aaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +\n"
5149 verifyFormat("aaaaaaaaaaa(bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb(\n"
5151 verifyFormat("aaaaaaaaaaa(!bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb(\n"
5153 verifyFormat("aaaaaaaaaaa(bbbbbbbbbbbbbbbbbbbbbbbbb.ccccccccccccccccc(\n"
5158 verifyFormat(
5164 verifyFormat("{\n {\n {\n"
5179 verifyFormat(
5189 verifyFormat("void f() {\n"
5194 verifyFormat("void f(int aaaaaaaaaaaaaaaaaaaa,\n"
5200 verifyFormat("void aaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaa,\n"
5207 verifyFormat(
5211 verifyFormat(
5221 verifyFormat("f(aaaaaaaaaaaaaaaaaaaa,\n"
5225 verifyFormat("aaaaaaa(aaaaaaaaaaaaa,\n"
5229 verifyFormat(
5236 verifyFormat("aaaaaaaaaaaaaaa(aaaaaaaaa, aaaaaaaaa, aaaaaaaaaaaaaaaaaaaaa)\n"
5239 verifyFormat("void f() {\n"
5245 verifyFormat(
5250 verifyFormat(
5256 verifyFormat("std::vector<aaaaaaaaaaaaaaaaaaaaaaa,\n"
5261 verifyFormat("a(\"a\"\n"
5266 verifyFormat("void aaaaaaaaaa(aaaaaaaaa,\n"
5270 verifyFormat(
5276 verifyFormat(
5307 verifyFormat("return llvm::StringSwitch<Reference::Kind>(name)\n"
5315 verifyFormat("return aaaaaaaaaaaaaaaaa->aaaaa().aaaaaaaaaaaaa().aaaaaa() <\n"
5317 verifyFormat("aaaaaaa->aaaaaaa\n"
5321 verifyFormat(
5325 verifyFormat(
5328 verifyFormat(
5349 verifyFormat(
5351 verifyFormat("aaaaaaaaaaaaaaa()\n"
5356 verifyFormat("aaaaaaaaaaaaaaa.aaaaaaaaaaaaaaa()\n"
5360 verifyFormat("aaaaaaaaaaaaaaa.aaaaaaaaaaaaaaa()\n"
5363 verifyFormat("aaaaaaaaaaaaa->aaaaaaaaaaaaaaaaaaaaaaaa()\n"
5368 verifyFormat("a().aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()\n"
5371 verifyFormat("aa().aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()\n"
5374 verifyFormat("aaa()\n"
5379 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaa()\n"
5382 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaa()\n"
5387 verifyFormat("FirstToken->WhitespaceRange.getBegin().getLocWithOffset(\n"
5391 verifyFormat(
5395 verifyFormat(
5400 verifyFormat("aaaaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaaa(\n"
5402 verifyFormat("aaaaaaaaaaaaaaaa.aaaaaaaaaaaaaa().aaaaaaaaaaaaaaa(\n"
5404 verifyFormat("aaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaa)\n"
5407 verifyFormat("aaaaaaaaaaaaaaaaaa\n"
5411 verifyFormat("aaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
5416 verifyFormat("test() {\n"
5422 verifyFormat("test() {\n"
5431 verifyFormat("test() {\n"
5439 verifyFormat("test() {\n"
5451 verifyFormat(
5454 verifyFormat(
5458 verifyFormat("if (aaaaaaaaaaaaaaaaaaaaaaaaa && bbbbbbbbbbbbbbbbbbbbbbbbb ||\n"
5460 verifyFormat("if (aaaaaaaaaaaaaaaaaaaaaaaaa and bbbbbbbbbbbbbbbbbbbbbbbb or\n"
5463 verifyFormat("if (aaaaaaaaaaaaaaaaaaaaaaaaa || bbbbbbbbbbbbbbbbbbbbbbbbb ||\n"
5465 verifyFormat("if (aaaaaaaaaaaaaaaaaaaaaaaaa or bbbbbbbbbbbbbbbbbbbbbbbbb or\n"
5468 verifyFormat(
5471 verifyFormat(
5475 verifyFormat("return aaaa & AAAAAAAAAAAAAAAAAAAAAAAAAAAAA ||\n"
5479 verifyFormat("return aaaa & AAAAAAAAAAAAAAAAAAAAAAAAAAAAA or\n"
5484 verifyFormat("if ((aaaaaaaaaa != aaaaaaaaaaaaaaa ||\n"
5487 verifyFormat("if ((aaaaaaaaaa != aaaaaaaaaaaaaaa or\n"
5493 verifyFormat(
5497 verifyFormat(
5501 verifyFormat(
5504 verifyFormat("unsigned OriginalStartColumn =\n"
5512 verifyFormat("int aaaaaaaaaaaaaaaaaaaaaaaaaa =\n"
5517 verifyFormat("int aaaaaaaaaaaaaaaaaaaaaaaaaa = bbbbbbbbbbbbbbbbbbbbbbbbbb +\n"
5523 verifyFormat(
5526 verifyFormat(
5529 verifyFormat(
5532 verifyFormat(
5535 verifyFormat(
5542 verifyFormat(
5545 verifyFormat(
5548 verifyFormat(
5551 verifyFormat(
5554 verifyFormat("return aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
5556 verifyFormat("return aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
5559 verifyFormat("return\n"
5565 verifyFormat(
5568 verifyFormat(
5571 verifyFormat(
5576 verifyFormat("void aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
5579 verifyFormat("SomeLongVariableName->someVeryLongFunctionName(\n"
5582 verifyFormat("SomeLongVariableName->someFunction(\n"
5585 verifyFormat(
5589 verifyFormat(
5593 verifyFormat(
5598 verifyFormat("bbbbbbbbbbbb(aaaaaaaaaaaaaaaaaaaaaaaa, //\n"
5606 verifyFormat("void aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
5611 verifyFormat("SomeLongVariableName->someVeryLongFunctionName(\n"
5616 verifyFormat("SomeLongVariableName->someFunction(foooooooo(\n"
5621 verifyFormat(
5625 verifyFormat(
5629 verifyFormat(
5635 verifyFormat(
5645 verifyFormat("int a = f(aaaaaaaaaaaaaaaaaaaaaa &&\n"
5650 verifyFormat("int a = f(aaaaaaaaaaaaaaaaaaaaaa &&\n"
5655 verifyFormat("int a = f(aaaaaaaaaaaaaaaaaaaaaa &&\n"
5660 verifyFormat("int a = f(aaaaaaaaaaaaaaaaaaaaaa &&\n"
5666 verifyFormat(
5670 verifyFormat(
5674 verifyFormat(
5677 verifyFormat("aaaa(aaaaaaaaa, aaaaaaaaa,\n"
5680 verifyFormat(
5683 verifyFormat(
5688 verifyFormat(
5692 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
5697 verifyFormat("aaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,\n"
5704 verifyFormat("aaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,\n"
5709 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
5712 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaa =\n"
5716 verifyFormat(
5720 verifyFormat("f(aaaaaaaaaaaaaaaa == // force break\n"
5724 verifyFormat("return aaaa == bbbb\n"
5728 verifyFormat("unsigned Indent =\n"
5735 verifyFormat("bool aaaaaa = aaaaaaaaaaaaa //\n"
5740 verifyFormat("bool aaaaaa = aaaaaaaaaaaaa //\n"
5745 verifyFormat(
5751 verifyFormat(
5758 verifyFormat(
5767 verifyFormat(
5776 verifyFormat("SomeFunction(aaaaaaaaaaaaaaaaa,\n"
5783 verifyFormat("return a != b\n"
5787 verifyFormat("return a != b\n"
5794 verifyFormat("return a != b\n"
5807 verifyFormat(
5812 verifyFormat(
5817 verifyFormat(
5821 verifyFormat("aaaa(aaaaaaaa, aaaaaaaaaa,\n"
5825 verifyFormat(
5829 verifyFormat(
5835 verifyFormat(
5840 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ?\n"
5846 verifyFormat("aaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,\n"
5854 verifyFormat("aaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,\n"
5860 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ?\n"
5864 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaa =\n"
5869 verifyFormat(
5874 verifyFormat("f(aaaaaaaaaaaaaaaa == // force break\n"
5879 verifyFormat("unsigned Indent =\n"
5886 verifyFormat("bool aaaaaa = aaaaaaaaaaaaa ? //\n"
5892 verifyFormat("bool aaaaaa = aaaaaaaaaaaaa ? //\n"
5898 verifyFormat("int i = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ?\n"
5902 verifyFormat("return aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ?\n"
5909 verifyFormat("bool aaaaaaaaaaaaaaaaa = aaaaaa->aaaaaaaaaaaaaaaaa(),\n"
5911 verifyFormat("bool a = true, b = false;");
5913 verifyFormat("bool aaaaaaaaaaaaaaaaaaaaaaaaa =\n"
5917 verifyFormat(
5921 verifyFormat("aaaaaaaaa a = aaaaaaaaaaaaaaaaaaaa, b = bbbbbbbbbbbbbbbbbbbb,\n"
5923 verifyFormat("aaaaaaaaa *a = aaaaaaaaaaaaaaaaaaa, *b = bbbbbbbbbbbbbbbbbbb,\n"
5925 verifyFormat("aaaaaaaaa ***a = aaaaaaaaaaaaaaaaaaa, ***b = bbbbbbbbbbbbbbb,\n"
5931 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
5935 verifyFormat("aaaaaaaaa *a = aaaaaaaaaaaaaaaaaaa, *b = bbbbbbbbbbbbbbbbbbb,\n"
5938 verifyFormat("vector<int*> a, b;", Style);
5939 verifyFormat("for (int *p, *q; p != q; p = p->next) {\n}", Style);
5943 verifyFormat("arr[foo ? bar : baz];");
5944 verifyFormat("f()[foo ? bar : baz];");
5945 verifyFormat("(a + b)[foo ? bar : baz];");
5946 verifyFormat("arr[foo ? (4 > 5 ? 4 : 5) : 5 < 5 ? 5 : 7];");
5950 verifyFormat("loooooooooooooooooooooooooongFunction(\"short literal \"\n"
5952 verifyFormat(
5956 verifyFormat("someFunction(\"Always break between multi-line\"\n"
5972 verifyFormat("a = a + \"a\"\n"
5975 verifyFormat("f(\"a\", \"b\"\n"
5978 verifyFormat(
5983 verifyFormat("#define A(X) \\\n"
5987 verifyFormat("#define A \"def\"\n"
5991 verifyFormat("f(L\"a\"\n"
5993 verifyFormat("#define A(X) \\\n"
5998 verifyFormat("f(@\"a\"\n"
6000 verifyFormat("NSString s = @\"a\"\n"
6003 verifyFormat("NSString s = @\"a\"\n"
6012 verifyFormat("class A {\n"
6024 verifyFormat("class E {\n"
6043 verifyFormat("class B {\n"
6057 verifyFormat("class C {\n"
6072 verifyFormat("class D {\n"
6085 verifyFormat("const char *\n"
6091 verifyFormat("template <class T>\n"
6098 verifyFormat("class C {\n"
6109 verifyFormat("void\n"
6116 verifyFormat("void *operator new(std::size_t s);", // No break here.
6118 verifyFormat("void *\n"
6121 verifyFormat("void *\n"
6125 verifyFormat("const char *\n"
6132 verifyFormat("template <class T>\n"
6140 verifyFormat("int\n"
6146 verifyFormat("int\n"
6152 verifyFormat("int\n"
6158 verifyFormat("int\n"
6164 verifyFormat("int\n"
6170 verifyFormat("int\n"
6180 verifyFormat("void\n"
6186 verifyFormat("void\n"
6193 verifyFormat("void foo (int a, int b); // def\n", Style);
6194 verifyFormat("void foo (int a, int b); /* def */\n", Style);
6195 verifyFormat("void foo (int a, int b);\n", Style);
6203 verifyFormat("aaaa = \"bbbb\"\n"
6206 verifyFormat("aaaa =\n"
6210 verifyFormat("aaaa(\"bbbb\"\n"
6213 verifyFormat("aaaa(\n"
6217 verifyFormat("aaaa(qqq, \"bbbb\"\n"
6220 verifyFormat("aaaa(qqq,\n"
6224 verifyFormat("aaaa(qqq,\n"
6228 verifyFormat("aaaaa(aaaaaa, aaaaaaa(\"aaaa\"\n"
6231 verifyFormat("string s = someFunction(\n"
6237 verifyFormat("string foo = abc ? \"x\"\n"
6243 verifyFormat("f(\"aaaa\"\n"
6272 verifyFormat("const char *hello = \"hello llvm\";", Break);
6276 verifyFormat(
6280 verifyFormat(
6283 verifyFormat(
6286 verifyFormat(
6289 verifyFormat(
6293 verifyFormat(
6297 verifyFormat("llvm::errs() << aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
6301 verifyFormat("llvm::errs() << \"aaaaaaaaaaaaaaaaaaaaaaa: \"\n"
6303 verifyFormat(
6306 verifyFormat(
6310 verifyFormat("llvm::outs() << \"aaaaaaaaaaaaaaaa: \"\n"
6312 verifyFormat("llvm::errs() << aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
6316 verifyFormat("LOG_IF(aaa == //\n"
6321 verifyFormat("Diag(aaaaaaaaaaaaaaaaaaaa, aaaaaaaa)\n"
6323 verifyFormat("Diag(aaaaaaaaaaaaaaaaaaaaaaaaaaaaa, bbbbbbbbb)\n"
6326 verifyFormat("SemaRef.Diag(Loc, diag::note_for_range_begin_end)\n"
6328 verifyFormat("Diag(aaaaaaaaaaaaaaaaaaaa, aaaaaaaa)\n"
6331 verifyFormat("Diag(aaaaaaaaaaaaaaaaaaaa, aaaaaaaa)\n"
6336 verifyFormat(
6345 verifyFormat("void f() {\n"
6351 verifyFormat("llvm::errs() << aaaaaaaaaaaaaaaaaaaaaa << endl\n"
6353 verifyFormat("llvm::errs() << endl << bbbbbbbbbbbbbbbbbbbbbb << endl;");
6356 verifyFormat("llvm::errs() << aaaaaaaaaaaaaaaaaaaaaa << \"\\n\"\n"
6358 verifyFormat("llvm::errs() << aaaaaaaaaaaaaaaaaaaaaa << \'\\n\'\n"
6360 verifyFormat("llvm::errs() << aaaa << \"aaaaaaaaaaaaaaaaaa\\n\"\n"
6362 verifyFormat("llvm::errs() << \"\\n\" << bbbbbbbbbbbbbbbbbbbbbb << \"\\n\";");
6366 verifyFormat("return out << \"somepacket = {\\n\"\n"
6373 verifyFormat("llvm::outs() << \"aaaaaaaaaaaaaaaa: \" << aaaaaaaaaaaaaaaa\n"
6376 verifyFormat(
6382 verifyFormat("llvm::outs() << aaaaaaaaaaaaaaaaaaaaaaaa << \"=\"\n"
6384 verifyFormat(
6391 verifyFormat(
6398 verifyFormat("llvm::errs() << \"aaaaaaaaaaaaaaaaaaa: \"\n"
6406 verifyFormat("string v = \"aaaaaaaaaaaaaaaa: \" + aaaaaaaaaaaaaaaa +\n"
6409 verifyFormat("string v = StrCat(\"aaaaaaaaaaaaaaaa: \", aaaaaaaaaaaaaaaa,\n"
6412 verifyFormat("string v = \"aaaaaaaaaaaaaaaa: \" +\n"
6415 verifyFormat("string v = StrCat(\"aaaaaaaaaaaa: \" +\n"
6418 verifyFormat(
6425 verifyFormat(
6428 verifyFormat(
6431 verifyFormat(
6438 verifyFormat("if (int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =\n"
6443 verifyFormat("LoooooooooooooooooooooooooooooooooooooongObject\n"
6446 verifyFormat("LoooooooooooooooooooooooooooooooooooooongObject\n"
6449 verifyFormat(
6453 verifyFormat(
6458 verifyFormat("loooooooooooooongFunction(\n"
6461 verifyFormat(
6465 verifyFormat("EXPECT_CALL(SomeObject, SomeFunction(Parameter))\n"
6467 verifyFormat("void f() {\n"
6472 verifyFormat("SomeMap[std::pair(aaaaaaaaaaaa, bbbbbbbbbbbbbbb)].insert(\n"
6474 verifyFormat("aaaaa(aaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,\n"
6478 verifyFormat("void f() {\n"
6482 verifyFormat("aaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,\n"
6487 verifyFormat("if (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
6494 verifyFormat("if (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaa) ||\n"
6496 verifyFormat(
6501 verifyFormat(
6504 verifyFormat("a->aaaaaa()->aaaaaaaaaaa(aaaaaaaa()->aaaaaa()->aaaaa() *\n"
6506 verifyFormat("a->aaaaaa()->aaaaaaaaaaa(aaaaaaaa()->aaaaaa()->aaaaa() ||\n"
6509 verifyFormat("aaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,\n"
6515 verifyFormat("aaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaa)\n"
6523 verifyFormat(
6527 verifyFormat(
6530 verifyFormat("aaaaaaaaaa = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
6533 verifyFormat("aaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
6539 verifyFormat("template <typename T>\n"
6541 verifyFormat("template <typename T>\n"
6544 verifyFormat(
6547 verifyFormat("template <typename T>\n"
6550 verifyFormat(
6554 verifyFormat(
6559 verifyFormat("template <typename T>\n"
6562 verifyFormat(
6566 verifyFormat("template <typename aaaaaaaaaaa, typename bbbbbbbbbbbbb,\n"
6570 verifyFormat(
6574 verifyFormat("void f() {\n"
6579 verifyFormat("template <typename T> class C {};");
6580 verifyFormat("template <typename T> void f();");
6581 verifyFormat("template <typename T> void f() {}");
6582 verifyFormat(
6599 verifyFormat("int aaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
6604 verifyFormat("template <typename T>\nclass C {};", AlwaysBreak);
6605 verifyFormat("template <typename T>\nvoid f();", AlwaysBreak);
6606 verifyFormat("template <typename T>\nvoid f() {}", AlwaysBreak);
6607 verifyFormat("void aaaaaaaaaaaaaaaaaaa<aaaaaaaaaaaaaaaaaaaaaaaaaaaaa,\n"
6610 verifyFormat("template <template <typename> class Fooooooo,\n"
6614 verifyFormat("template <typename T> // T can be A, B or C.\n"
6617 verifyFormat("template <enum E> class A {\n"
6624 verifyFormat("template <typename T> class C {};", NeverBreak);
6625 verifyFormat("template <typename T> void f();", NeverBreak);
6626 verifyFormat("template <typename T> void f() {}", NeverBreak);
6627 verifyFormat("template <typename T>\nvoid foo(aaaaaaaaaaaaaaaaaaaaaaaaaa "
6630 verifyFormat("void aaaaaaaaaaaaaaaaaaa<aaaaaaaaaaaaaaaaaaaaaaaaaaaaa,\n"
6634 verifyFormat("template <template <typename> class Fooooooo,\n"
6638 verifyFormat("template <typename T> // T can be A, B or C.\n"
6641 verifyFormat("template <enum E> class A {\n"
6647 verifyFormat("template <typename T> void\nfoo(aaaaaaaaaaaaaaaaaaaaaaaaaa "
6707 verifyFormat(
6715 verifyFormat(
6723 verifyFormat("template <typename... a> struct s {};\n"
6733 verifyFormat("template <typename... a> struct t {};\n"
6744 verifyFormat(
6747 verifyFormat(
6753 verifyFormat(
6758 verifyFormat(
6763 verifyFormat(
6767 verifyFormat("aaaaaaaaaaaaaaaaaa(aaaaaaaa,\n"
6773 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa::\n"
6779 verifyFormat("A<int> a;");
6780 verifyFormat("A<A<A<int>>> a;");
6781 verifyFormat("A<A<A<int, 2>, 3>, 4> a;");
6782 verifyFormat("bool x = a < 1 || 2 > a;");
6783 verifyFormat("bool x = 5 < f<int>();");
6784 verifyFormat("bool x = f<int>() > 5;");
6785 verifyFormat("bool x = 5 < a<int>::x;");
6786 verifyFormat("bool x = a < 4 ? a > 2 : false;");
6787 verifyFormat("bool x = f() ? a < 2 : a > 2;");
6806 verifyFormat("A<A<int>> a;", getChromiumStyle(FormatStyle::LK_Cpp));
6809 verifyFormat("bool b = a<1> > 1;");
6810 verifyFormat("bool b = a<1> >= 1;");
6811 verifyFormat("int i = a<1> >> 1;");
6814 verifyFormat("bool b= a<1> == 1;", Style);
6815 verifyFormat("a<int> = 1;", Style);
6816 verifyFormat("a<int> >>= 1;", Style);
6818 verifyFormat("test >> a >> b;");
6819 verifyFormat("test << a >> b;");
6821 verifyFormat("f<int>();");
6822 verifyFormat("template <typename T> void f() {}");
6823 verifyFormat("struct A<std::enable_if<sizeof(T2) < sizeof(int32)>::type>;");
6824 verifyFormat("struct A<std::enable_if<sizeof(T2) ? sizeof(int32) : "
6826 verifyFormat("template <class T> struct S<std::is_arithmetic<T>{}> {};");
6827 verifyFormat("f(a.operator()<A>());");
6828 verifyFormat("f(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
6833 verifyFormat("return a < b && c > d;");
6834 verifyFormat("void f() {\n"
6838 verifyFormat("template <typename... Types>\n"
6841 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
6844 verifyFormat("static_assert(is_convertible<A &&, B>::value, \"AAA\");");
6845 verifyFormat("Constructor(A... a) : a_(X<A>{std::forward<A>(a)}...) {}");
6846 verifyFormat("< < < < < < < < < < < < < < < < < < < < < < < < < < < < < <");
6862 verifyFormat("COMPARE(a, ==, b);");
6863 verifyFormat("auto s = sizeof...(Ts) - 1;");
6867 verifyFormat("int A::*x;");
6868 verifyFormat("int (S::*func)(void *);");
6869 verifyFormat("void f() { int (S::*func)(void *); }");
6870 verifyFormat("typedef bool *(Class::*Member)() const;");
6871 verifyFormat("void f() {\n"
6878 verifyFormat("void f() {\n"
6882 verifyFormat(
6887 verifyFormat("typedef bool* (Class::*Member)() const;", Style);
6891 verifyFormat("int a = -2;");
6892 verifyFormat("f(-1, -2, -3);");
6893 verifyFormat("a[-1] = 5;");
6894 verifyFormat("int a = 5 + -2;");
6895 verifyFormat("if (i == -1) {\n}");
6896 verifyFormat("if (i != -1) {\n}");
6897 verifyFormat("if (i > -1) {\n}");
6898 verifyFormat("if (i < -1) {\n}");
6899 verifyFormat("++(a->f());");
6900 verifyFormat("--(a->f());");
6901 verifyFormat("(a->f())++;");
6902 verifyFormat("a[42]++;");
6903 verifyFormat("if (!(a->f())) {\n}");
6904 verifyFormat("if (!+i) {\n}");
6905 verifyFormat("~&a;");
6907 verifyFormat("a-- > b;");
6908 verifyFormat("b ? -a : c;");
6909 verifyFormat("n * sizeof char16;");
6910 verifyFormat("n * alignof char16;", getGoogleStyle());
6911 verifyFormat("sizeof(char);");
6912 verifyFormat("alignof(char);", getGoogleStyle());
6914 verifyFormat("return -1;");
6915 verifyFormat("throw -1;");
6916 verifyFormat("switch (a) {\n"
6920 verifyFormat("#define X -1");
6921 verifyFormat("#define X -kConstant");
6923 verifyFormat("const NSPoint kBrowserFrameViewPatternOffset = {-5, +3};");
6924 verifyFormat("const NSPoint kBrowserFrameViewPatternOffset = {+5, -3};");
6926 verifyFormat("int a = /* confusing comment */ -1;");
6928 verifyFormat("int a = i /* confusing comment */++;");
6932 verifyFormat("if (!aaaaaaaaaa( // break\n"
6935 verifyFormat("aaaaaaaaaa(!aaaaaaaaaa( // break\n"
6937 verifyFormat("*aaa = aaaaaaa( // break\n"
6942 verifyFormat("bool operator<();");
6943 verifyFormat("bool operator>();");
6944 verifyFormat("bool operator=();");
6945 verifyFormat("bool operator==();");
6946 verifyFormat("bool operator!=();");
6947 verifyFormat("int operator+();");
6948 verifyFormat("int operator++();");
6949 verifyFormat("int operator++(int) volatile noexcept;");
6950 verifyFormat("bool operator,();");
6951 verifyFormat("bool operator();");
6952 verifyFormat("bool operator()();");
6953 verifyFormat("bool operator[]();");
6954 verifyFormat("operator bool();");
6955 verifyFormat("operator int();");
6956 verifyFormat("operator void *();");
6957 verifyFormat("operator SomeType<int>();");
6958 verifyFormat("operator SomeType<int, int>();");
6959 verifyFormat("operator SomeType<SomeType<int>>();");
6960 verifyFormat("void *operator new(std::size_t size);");
6961 verifyFormat("void *operator new[](std::size_t size);");
6962 verifyFormat("void operator delete(void *ptr);");
6963 verifyFormat("void operator delete[](void *ptr);");
6964 verifyFormat("template <typename AAAAAAA, typename BBBBBBB>\n"
6966 verifyFormat("aaaaaaaaaaaaaaaaaaaaaa operator,(\n"
6969 verifyFormat(
6972 verifyFormat("bool operator<(const aaaaaaaaaaaaaaaaaaaaa &left,\n"
6976 verifyFormat("SomeType &operator=(const SomeType &S);");
6977 verifyFormat("f.template operator()<int>();");
6983 verifyFormat("using A::operator+;");
6984 verifyFormat("inline A operator^(const A &lhs, const A &rhs) {}\n"
6989 verifyFormat("Deleted &operator=(const Deleted &) & = default;");
6990 verifyFormat("Deleted &operator=(const Deleted &) && = delete;");
6991 verifyFormat("SomeType MemberFunction(const Deleted &) & = delete;");
6992 verifyFormat("SomeType MemberFunction(const Deleted &) && = delete;");
6993 verifyFormat("Deleted &operator=(const Deleted &) &;");
6994 verifyFormat("Deleted &operator=(const Deleted &) &&;");
6995 verifyFormat("SomeType MemberFunction(const Deleted &) &;");
6996 verifyFormat("SomeType MemberFunction(const Deleted &) &&;");
6997 verifyFormat("SomeType MemberFunction(const Deleted &) && {}");
6998 verifyFormat("SomeType MemberFunction(const Deleted &) && final {}");
6999 verifyFormat("SomeType MemberFunction(const Deleted &) && override {}");
7000 verifyFormat("void Fn(T const &) const &;");
7001 verifyFormat("void Fn(T const volatile &&) const volatile &&;");
7002 verifyFormat("template <typename T>\n"
7008 verifyFormat("void A::b() && {}", AlignLeft);
7009 verifyFormat("Deleted& operator=(const Deleted&) & = default;", AlignLeft);
7010 verifyFormat("SomeType MemberFunction(const Deleted&) & = delete;",
7012 verifyFormat("Deleted& operator=(const Deleted&) &;", AlignLeft);
7013 verifyFormat("SomeType MemberFunction(const Deleted&) &;", AlignLeft);
7014 verifyFormat("auto Function(T t) & -> void {}", AlignLeft);
7015 verifyFormat("auto Function(T... t) & -> void {}", AlignLeft);
7016 verifyFormat("auto Function(T) & -> void {}", AlignLeft);
7017 verifyFormat("auto Function(T) & -> void;", AlignLeft);
7018 verifyFormat("void Fn(T const&) const&;", AlignLeft);
7019 verifyFormat("void Fn(T const volatile&&) const volatile&&;", AlignLeft);
7023 verifyFormat("Deleted &operator=(const Deleted &) & = default;", Spaces);
7024 verifyFormat("SomeType MemberFunction(const Deleted &) & = delete;", Spaces);
7025 verifyFormat("Deleted &operator=(const Deleted &) &;", Spaces);
7026 verifyFormat("SomeType MemberFunction(const Deleted &) &;", Spaces);
7030 verifyFormat("Deleted &operator=( const Deleted & ) & = default;", Spaces);
7031 verifyFormat("SomeType MemberFunction( const Deleted & ) & = delete;",
7033 verifyFormat("Deleted &operator=( const Deleted & ) &;", Spaces);
7034 verifyFormat("SomeType MemberFunction( const Deleted & ) &;", Spaces);
7039 verifyFormat("struct f {\n"
7045 verifyFormat("struct f {\n"
7051 verifyFormat("struct f {\n"
7057 verifyFormat("struct f {\n"
7063 verifyFormat("struct f {\n"
7074 verifyFormat("struct f {\n"
7080 verifyFormat("struct f {\n"
7086 verifyFormat("struct f {\n"
7092 verifyFormat("struct f {\n"
7098 verifyFormat("struct f {\n"
7106 verifyFormat("struct f {\n"
7113 verifyFormat("struct f {\n"
7120 verifyFormat("void (*foopt)(int) = &func;");
7124 verifyFormat("void f() {\n"
7130 verifyFormat("new (aaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaa))\n"
7132 verifyFormat("auto aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =\n"
7135 verifyFormat("delete[] h->p;");
7139 verifyFormat("int *f(int *a) {}");
7140 verifyFormat("int main(int argc, char **argv) {}");
7141 verifyFormat("Test::Test(int b) : a(b * b) {}");
7143 verifyFormat("void g() { f(*a); }");
7180 verifyFormat("void f(Type (*parameter)[10]) {}");
7181 verifyFormat("void f(Type (¶meter)[10]) {}");
7185 verifyFormat("auto a = [](int **&, int ***) {};");
7186 verifyFormat("auto PointerBinding = [](const char *S) {};");
7187 verifyFormat("typedef typeof(int(int, int)) *MyFunc;");
7188 verifyFormat("[](const decltype(*a) &value) {}");
7189 verifyFormat("decltype(a * b) F();");
7190 verifyFormat("#define MACRO() [](A *a) { return 1; }");
7191 verifyFormat("Constructor() : member([](A *a, B *b) {}) {}");
7196 verifyFormat("Constructor() : a(a), area(width * height) {}");
7197 verifyFormat("Constructor() : a(a), area(a, width * height) {}");
7199 verifyFormat("void f() { f(a, c * d); }");
7200 verifyFormat("void f() { f(new a(), c * d); }");
7201 verifyFormat("void f(const MyOverride &override);");
7202 verifyFormat("void f(const MyFinal &final);");
7216 verifyFormat("for (char **a = b; *a; ++a) {\n}");
7217 verifyFormat("for (; a && b;) {\n}");
7218 verifyFormat("bool foo = true && [] { return false; }();");
7220 verifyFormat(
7248 verifyFormat("x = *a(x) = *a(y);", Left);
7249 verifyFormat("for (;; *a = b) {\n}", Left);
7250 verifyFormat("return *this += 1;", Left);
7251 verifyFormat("throw *x;", Left);
7252 verifyFormat("delete *x;", Left);
7253 verifyFormat("typedef typeof(int(int, int))* MyFuncPtr;", Left);
7254 verifyFormat("[](const decltype(*a)* ptr) {}", Left);
7255 verifyFormat("typedef typeof /*comment*/ (int(int, int))* MyFuncPtr;", Left);
7261 verifyFormat("void f() { &(*I).first; }");
7264 verifyFormat(
7285 verifyFormat("void f() {\n"
7289 verifyFormat("for (int i = a * a; i < 10; ++i) {\n}");
7290 verifyFormat("for (int i = 0; i < a * a; ++i) {\n}");
7293 verifyFormat("#define A (!a * b)");
7294 verifyFormat("#define MACRO \\\n"
7308 verifyFormat("STATIC_ASSERT((a & b) == 0);");
7309 verifyFormat("STATIC_ASSERT(0 == (a & b));");
7310 verifyFormat("template <bool a, bool b> "
7312 verifyFormat("template <int *y> f() {}");
7313 verifyFormat("vector<int *> v;");
7314 verifyFormat("vector<int *const> v;");
7315 verifyFormat("vector<int *const **const *> v;");
7316 verifyFormat("vector<int *volatile> v;");
7317 verifyFormat("vector<a * b> v;");
7318 verifyFormat("foo<b && false>();");
7319 verifyFormat("foo<b & 1>();");
7320 verifyFormat("decltype(*::std::declval<const T &>()) void F();");
7321 verifyFormat(
7327 verifyFormat("template <class T,\n"
7334 verifyFormat(
7346 verifyFormat("void f() { f(float{1}, a * a); }");
7350 verifyFormat("DatumHandle const *operator->() const { return input_; }");
7351 verifyFormat("return options != nullptr && operator==(*options);");
7365 verifyFormat("foo<a<b && c> d> v;");
7369 verifyFormat("delete *x;", PointerMiddle);
7370 verifyFormat("int * x;", PointerMiddle);
7371 verifyFormat("int *[] x;", PointerMiddle);
7372 verifyFormat("template <int * y> f() {}", PointerMiddle);
7373 verifyFormat("int * f(int * a) {}", PointerMiddle);
7374 verifyFormat("int main(int argc, char ** argv) {}", PointerMiddle);
7375 verifyFormat("Test::Test(int b) : a(b * b) {}", PointerMiddle);
7376 verifyFormat("A<int *> a;", PointerMiddle);
7377 verifyFormat("A<int **> a;", PointerMiddle);
7378 verifyFormat("A<int *, int *> a;", PointerMiddle);
7379 verifyFormat("A<int *[]> a;", PointerMiddle);
7380 verifyFormat("A = new SomeType *[Length]();", PointerMiddle);
7381 verifyFormat("A = new SomeType *[Length];", PointerMiddle);
7382 verifyFormat("T ** t = new T *;", PointerMiddle);
7385 verifyFormat("string // break\n"
7387 verifyFormat("string // break\n"
7394 verifyFormat("SomeType s __attribute__((unused)) (InitValue);");
7395 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa __attribute__((unused))\n"
7399 verifyFormat("__attribute__((nodebug)) void\n"
7405 verifyFormat("SomeType s [[unused]] (InitValue);");
7406 verifyFormat("SomeType s [[gnu::unused]] (InitValue);");
7407 verifyFormat("SomeType s [[using gnu: unused]] (InitValue);");
7408 verifyFormat("[[gsl::suppress(\"clang-tidy-check-name\")]] void f() {}");
7409 verifyFormat("void f() [[deprecated(\"so sorry\")]];");
7410 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
7414 verifyFormat("int a() {}\n"
7416 verifyFormat("NSArray *arr;\n"
7420 verifyFormat("int a = std::vector<int>{1, 2, 3}[0];");
7424 verifyFormat("@[ [foo bar] ];");
7425 verifyFormat("@[ [NSArray class] ];");
7426 verifyFormat("@[ [foo enum] ];");
7431 verifyFormat("[[unused]] int b() {\n"
7438 verifyFormat("int printf(const char *fmt, ...);");
7439 verifyFormat("template <class... Ts> void Foo(Ts... ts) { Foo(ts...); }");
7440 verifyFormat("template <class... Ts> void Foo(Ts *... ts) {}");
7444 verifyFormat("template <class... Ts> void Foo(Ts*... ts) {}", PointersLeft);
7481 verifyFormat("int f(int &&a) {}");
7482 verifyFormat("int f(int a, char &&b) {}");
7483 verifyFormat("void f() { int &&a = b; }");
7493 verifyFormat("template <bool B, bool C> class A {\n"
7498 verifyFormat("#define A(a, b) (a && b)");
7502 verifyFormat("void f() {\n"
7510 verifyFormat("Type *A = static_cast<Type *>(P);");
7511 verifyFormat("Type *A = (Type *)P;");
7512 verifyFormat("Type *A = (vector<Type *, int *>)P;");
7513 verifyFormat("int a = (int)(2.0f);");
7514 verifyFormat("int a = (int)2.0f;");
7515 verifyFormat("x[(int32)y];");
7516 verifyFormat("x = (int32)y;");
7517 verifyFormat("#define AA(X) sizeof(((X *)NULL)->a)");
7518 verifyFormat("int a = (int)*b;");
7519 verifyFormat("int a = (int)2.0f;");
7520 verifyFormat("int a = (int)~0;");
7521 verifyFormat("int a = (int)++a;");
7522 verifyFormat("int a = (int)sizeof(int);");
7523 verifyFormat("int a = (int)+2;");
7524 verifyFormat("my_int a = (my_int)2.0f;");
7525 verifyFormat("my_int a = (my_int)sizeof(int);");
7526 verifyFormat("return (my_int)aaa;");
7527 verifyFormat("#define x ((int)-1)");
7528 verifyFormat("#define LENGTH(x, y) (x) - (y) + 1");
7529 verifyFormat("#define p(q) ((int *)&q)");
7530 verifyFormat("fn(a)(b) + 1;");
7532 verifyFormat("void f() { my_int a = (my_int)*b; }");
7533 verifyFormat("void f() { return P ? (my_int)*P : (my_int)0; }");
7534 verifyFormat("my_int a = (my_int)~0;");
7535 verifyFormat("my_int a = (my_int)++a;");
7536 verifyFormat("my_int a = (my_int)-2;");
7537 verifyFormat("my_int a = (my_int)1;");
7538 verifyFormat("my_int a = (my_int *)1;");
7539 verifyFormat("my_int a = (const my_int)-1;");
7540 verifyFormat("my_int a = (const my_int *)-1;");
7541 verifyFormat("my_int a = (my_int)(my_int)-1;");
7542 verifyFormat("my_int a = (ns::my_int)-2;");
7543 verifyFormat("case (my_int)ONE:");
7544 verifyFormat("auto x = (X)this;");
7546 verifyFormat("int a = [(type*)[((type*)val) arg] arg];", getGoogleStyle());
7549 verifyFormat("void f(int i = (kValue)*kMask) {}");
7551 verifyFormat("{ (void)F; }");
7554 verifyFormat("int aaaaaaaaaaaaaaaaaaaaaaaaaaa =\n"
7559 verifyFormat("void f(int *) {}");
7560 verifyFormat("f(foo)->b;");
7561 verifyFormat("f(foo).b;");
7562 verifyFormat("f(foo)(b);");
7563 verifyFormat("f(foo)[b];");
7564 verifyFormat("[](foo) { return 4; }(bar);");
7565 verifyFormat("(*funptr)(foo)[4];");
7566 verifyFormat("funptrs[4](foo)[4];");
7567 verifyFormat("void f(int *);");
7568 verifyFormat("void f(int *) = 0;");
7569 verifyFormat("void f(SmallVector<int>) {}");
7570 verifyFormat("void f(SmallVector<int>);");
7571 verifyFormat("void f(SmallVector<int>) = 0;");
7572 verifyFormat("void f(int i = (kA * kB) & kMask) {}");
7573 verifyFormat("int a = sizeof(int) * b;");
7574 verifyFormat("int a = alignof(int) * b;", getGoogleStyle());
7575 verifyFormat("template <> void f<int>(int i) SOME_ANNOTATION;");
7576 verifyFormat("f(\"%\" SOME_MACRO(ll) \"d\");");
7577 verifyFormat("aaaaa &operator=(const aaaaa &) LLVM_DELETED_FUNCTION;");
7580 verifyFormat("virtual void foo(int *) override;");
7581 verifyFormat("virtual void foo(char &) const;");
7582 verifyFormat("virtual void foo(int *a, char *) const;");
7583 verifyFormat("int a = sizeof(int *) + b;");
7584 verifyFormat("int a = alignof(int *) + b;", getGoogleStyle());
7585 verifyFormat("bool b = f(g<int>) && c;");
7586 verifyFormat("typedef void (*f)(int i) func;");
7587 verifyFormat("void operator++(int) noexcept;");
7588 verifyFormat("void operator++(int &) noexcept;");
7589 verifyFormat("void operator delete(void *, std::size_t, const std::nothrow_t "
7591 verifyFormat(
7593 verifyFormat("void operator delete(const std::nothrow_t &) noexcept;");
7594 verifyFormat("void operator delete(std::nothrow_t &) noexcept;");
7595 verifyFormat("void operator delete(nothrow_t &) noexcept;");
7596 verifyFormat("void operator delete(foo &) noexcept;");
7597 verifyFormat("void operator delete(foo) noexcept;");
7598 verifyFormat("void operator delete(int) noexcept;");
7599 verifyFormat("void operator delete(int &) noexcept;");
7600 verifyFormat("void operator delete(int &) volatile noexcept;");
7601 verifyFormat("void operator delete(int &) const");
7602 verifyFormat("void operator delete(int &) = default");
7603 verifyFormat("void operator delete(int &) = delete");
7604 verifyFormat("void operator delete(int &) [[noreturn]]");
7605 verifyFormat("void operator delete(int &) throw();");
7606 verifyFormat("void operator delete(int &) throw(int);");
7607 verifyFormat("auto operator delete(int &) -> int;");
7608 verifyFormat("auto operator delete(int &) override");
7609 verifyFormat("auto operator delete(int &) final");
7611 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa *foo = (aaaaaaaaaaaaaaaaa *)\n"
7614 verifyFormat(
7621 verifyFormat("A<bool()> a;");
7622 verifyFormat("A<SomeType()> a;");
7623 verifyFormat("A<void (*)(int, std::string)> a;");
7624 verifyFormat("A<void *(int)>;");
7625 verifyFormat("void *(*a)(int *, SomeType *);");
7626 verifyFormat("int (*func)(void *);");
7627 verifyFormat("void f() { int (*func)(void *); }");
7628 verifyFormat("template <class CallbackClass>\n"
7638 verifyFormat("A<sizeof(*x)> a;");
7639 verifyFormat("#define DEREF_AND_CALL_F(x) f(*x)");
7640 verifyFormat("some_var = function(*some_pointer_var)[0];");
7641 verifyFormat("void f() { function(*some_pointer_var)[0] = 10; }");
7642 verifyFormat("int x = f(&h)();");
7643 verifyFormat("returnsFunction(¶m1, ¶m2)(param);");
7644 verifyFormat("std::function<\n"
7653 verifyFormat("A (*foo_)[6];");
7654 verifyFormat("vector<int> (*foo_)[6];");
7658 verifyFormat("LoooooooooooooooooooooooooooooooooooooooongType\n"
7660 verifyFormat("LoooooooooooooooooooooooooooooooooooooooongType const\n"
7662 verifyFormat("LoooooooooooooooooooooooooooooooooooooooongType\n"
7666 verifyFormat("LoooooooooooooooooooooooooooooooooooooooongType\n"
7668 verifyFormat("LoooooooooooooooooooooooooooooooooooooooongType\n"
7670 verifyFormat("LoooooooooooooooooooooooooooooooooooooooongType\n"
7672 verifyFormat("LoooooooooooooooooooooooooooooooooooooooongType\n"
7676 verifyFormat("LooooooooooooooooongType\n"
7682 verifyFormat("typedef LoooooooooooooooooooooooooooooooooooooooongType\n"
7684 verifyFormat("typedef LongTemplateType<aaaaaaaaaaaaaaaaaaa()>\n"
7686 verifyFormat("LoooooooooooooooooooooooooooooooooooooooongReturnType\n"
7688 verifyFormat("LoooooooooooooooooooooooooooooooooooooooongReturnType *\n"
7690 verifyFormat("LoooooooooooooooooooooooooooooooooooooooongReturnType\n"
7692 verifyFormat("LoooooooooooooooooooooooooooooooooooooooongReturnType MACRO\n"
7694 verifyFormat("LoooooooooooooooooooooooooooooooooooooooongReturnType const\n"
7696 verifyFormat("decltype(LoooooooooooooooooooooooooooooooooooooooongName)\n"
7698 verifyFormat("LoooooooooooooooooooooooooooooooooooooooongReturnType\n"
7700 verifyFormat("LoooooooooooooooooooooooooooooooooooooooongReturnType\n"
7704 verifyFormat("LoooooooooooooooooooooooooooooooooooooooongReturnType\n"
7707 verifyFormat(
7711 verifyFormat(
7715 verifyFormat(
7721 verifyFormat("LoooooooooooooooooooooooooooooooooooooooongType // break\n"
7725 verifyFormat("int *someFunction(int LoooooooooooooooooooongParam1,\n"
7727 verifyFormat(
7731 verifyFormat("ReallyLongReturnType<TemplateParam1, TemplateParam2>\n"
7738 verifyFormat("template <typename A>\n"
7760 verifyFormat("typedef size_t (*aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)(\n"
7763 verifyFormat("void aaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
7766 verifyFormat("void aaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
7771 verifyFormat("template <typename T> // Templates on own line.\n"
7778 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaa[aaaaaaaaaaaaaaaaaaaaaaaaa]\n"
7780 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaa[aaaaaaaaaaa(aaaaaaaaaaaa)]\n"
7782 verifyFormat("if (aaaaaaaaaaaaaaaaaaaaaaaa &&\n"
7784 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
7786 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
7788 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
7791 verifyFormat(
7795 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa[aaaaaaaaaaaaaaaaa][a]\n"
7800 verifyFormat(
7804 verifyFormat("a[::b::c];");
7809 verifyFormat("aaaaa[bbbbbb].cccccc()", NoColumnLimit);
7813 verifyFormat("(a)->b();");
7814 verifyFormat("--a;");
7818 verifyFormat("#include <string>\n"
7834 verifyFormat("#import <string>");
7835 verifyFormat("#import <a/b/c.h>");
7836 verifyFormat("#import \"a/b/string\"");
7837 verifyFormat("#import \"string.h\"");
7838 verifyFormat("#import \"string.h\"");
7839 verifyFormat("#if __has_include(<strstream>)\n"
7843 verifyFormat("#define MY_IMPORT <a/b>");
7845 verifyFormat("#if __has_include(<a/b>)");
7846 verifyFormat("#if __has_include_next(<a/b>)");
7847 verifyFormat("#define F __has_include(<a/b>)");
7848 verifyFormat("#define F __has_include_next(<a/b>)");
7851 verifyFormat("import \"aaaaaaaaaaaaaaaaa/aaaaaaaaaaaaaaa\";",
7857 verifyFormat("#import \"abc.h\"", Style);
7860 verifyFormat("import::SomeFunction(aaaaaaaaaaaaaaaaaaaaaaaaaaa,\n"
7871 verifyFormat("void aaaaaaaaaaaaaaaaaa(int level,\n"
7882 verifyFormat("void f() { return; }\n42");
7883 verifyFormat("void f() {\n"
7888 verifyFormat("void f() { return }\n42");
7889 verifyFormat("void f() {\n"
7915 verifyFormat("int aaaaaaaa =\n"
7919 verifyFormat("function(\n"
7926 verifyFormat("public:");
7927 verifyFormat("class A {\n"
7931 verifyFormat("public\n"
7933 verifyFormat("public\n"
7935 verifyFormat("public\n"
7937 verifyFormat("public\n"
7942 verifyFormat("{");
7943 verifyFormat("#})");
7960 verifyFormat("do {\n}");
7961 verifyFormat("do {\n}\n"
7963 verifyFormat("do {\n}\n"
7965 verifyFormat("do {\n"
7971 verifyFormat("if {\n foo;\n foo();\n}");
7972 verifyFormat("switch {\n foo;\n foo();\n}");
7974 verifyFormat("while {\n foo;\n foo();\n}");
7975 verifyFormat("do {\n foo;\n foo();\n} while;");
8004 verifyFormat("int x = {\n"
8011 verifyFormat("return (a)(b){1, 2, 3};");
8015 verifyFormat("vector<int> x{1, 2, 3, 4};");
8016 verifyFormat("vector<int> x{\n"
8022 verifyFormat("vector<T> x{{}, {}, {}, {}};");
8023 verifyFormat("f({1, 2});");
8024 verifyFormat("auto v = Foo{-1};");
8025 verifyFormat("f({1, 2}, {{2, 3}, {4, 5}}, c, {d});");
8026 verifyFormat("Class::Class : member{1, 2, 3} {}");
8027 verifyFormat("new vector<int>{1, 2, 3};");
8028 verifyFormat("new int[3]{1, 2, 3};");
8029 verifyFormat("new int{1};");
8030 verifyFormat("return {arg1, arg2};");
8031 verifyFormat("return {arg1, SomeType{parameter}};");
8032 verifyFormat("int count = set<int>{f(), g(), h()}.size();");
8033 verifyFormat("new T{arg1, arg2};");
8034 verifyFormat("f(MyMap[{composite, key}]);");
8035 verifyFormat("class Class {\n"
8038 verifyFormat("vector<int> foo = {::SomeGlobalFunction()};");
8039 verifyFormat("const struct A a = {.a = 1, .b = 2};");
8040 verifyFormat("const struct A a = {[0] = 1, [1] = 2};");
8041 verifyFormat("static_assert(std::is_integral<int>{} + 0, \"\");");
8042 verifyFormat("int a = std::is_integral<int>{} + 0;");
8044 verifyFormat("int foo(int i) { return fo1{}(i); }");
8045 verifyFormat("int foo(int i) { return fo1{}(i); }");
8046 verifyFormat("auto i = decltype(x){};");
8047 verifyFormat("std::vector<int> v = {1, 0 /* comment */};");
8048 verifyFormat("Node n{1, Node{1000}, //\n"
8050 verifyFormat("Aaaa aaaaaaa{\n"
8055 verifyFormat("class C : public D {\n"
8058 verifyFormat("class C : public A {\n"
8063 verifyFormat("#define A {a, a},");
8068 verifyFormat("const std::unordered_map<std::string, int> MyHashTable =\n"
8075 verifyFormat("const Aaaaaa aaaaa = {aaaaaaaaaa, bbbbbbbbbb,\n"
8078 verifyFormat("const Aaaaaa aaaaa = {\n"
8087 verifyFormat("vector<int> v{12} GUARDED_BY(mutex);");
8088 verifyFormat("void f() {\n"
8092 verifyFormat("void f() {\n"
8102 verifyFormat("const Aaaaaa aaaaa = {aaaaa,\n"
8114 verifyFormat("const Aaaaaa aaaaa = {\n"
8128 verifyFormat(
8148 verifyFormat("Constructor::Constructor()\n"
8188 verifyFormat("vector<int> x{ 1, 2, 3, 4 };", ExtraSpaces);
8189 verifyFormat("vector<T> x{ {}, {}, {}, {} };", ExtraSpaces);
8190 verifyFormat("f({ 1, 2 });", ExtraSpaces);
8191 verifyFormat("auto v = Foo{ 1 };", ExtraSpaces);
8192 verifyFormat("f({ 1, 2 }, { { 2, 3 }, { 4, 5 } }, c, { d });", ExtraSpaces);
8193 verifyFormat("Class::Class : member{ 1, 2, 3 } {}", ExtraSpaces);
8194 verifyFormat("new vector<int>{ 1, 2, 3 };", ExtraSpaces);
8195 verifyFormat("new int[3]{ 1, 2, 3 };", ExtraSpaces);
8196 verifyFormat("return { arg1, arg2 };", ExtraSpaces);
8197 verifyFormat("return { arg1, SomeType{ parameter } };", ExtraSpaces);
8198 verifyFormat("int count = set<int>{ f(), g(), h() }.size();", ExtraSpaces);
8199 verifyFormat("new T{ arg1, arg2 };", ExtraSpaces);
8200 verifyFormat("f(MyMap[{ composite, key }]);", ExtraSpaces);
8201 verifyFormat("class Class {\n"
8205 verifyFormat(
8211 verifyFormat("DoSomethingWithVector({} /* No data */);", ExtraSpaces);
8212 verifyFormat("DoSomethingWithVector({ {} /* No data */ }, { { 1, 2 } });",
8214 verifyFormat(
8221 verifyFormat(
8225 verifyFormat("std::vector<MyValues> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa{\n"
8238 verifyFormat("vector<int> foo = { ::SomeGlobalFunction() };", ExtraSpaces);
8239 verifyFormat("const struct A a = { .a = 1, .b = 2 };", ExtraSpaces);
8240 verifyFormat("const struct A a = { [0] = 1, [1] = 2 };", ExtraSpaces);
8244 verifyFormat("const std::unordered_map<std::string, int> MyHashTable = {\n"
8250 verifyFormat("const std::unordered_map<std::string, int> MyHashTable{\n"
8259 verifyFormat("vector<int> x {1, 2, 3, 4};", SpaceBeforeBrace);
8260 verifyFormat("f({}, {{}, {}}, MyMap[{k, v}]);", SpaceBeforeBrace);
8266 verifyFormat("vector< int > x{ 1, 2, 3, 4 };", SpaceBetweenBraces);
8267 verifyFormat("f( {}, { {}, {} }, MyMap[ { k, v } ] );", SpaceBetweenBraces);
8268 verifyFormat("vector< int > x{ // comment 1\n"
8286 verifyFormat("vector< int > x{};", SpaceBetweenBraces);
8288 verifyFormat("vector< int > x{ };", SpaceBetweenBraces);
8292 verifyFormat("vector<int> x = {1, 22, 333, 4444, 55555, 666666, 7777777,\n"
8298 verifyFormat("vector<int> x = {1, 22, 333, 4444, 55555, 666666, 7777777, //\n"
8303 verifyFormat(
8311 verifyFormat("static const uint16_t CallerSavedRegs64Bittttt[] = {\n"
8314 verifyFormat("static const uint16_t CallerSavedRegs64Bittttt[] = {\n"
8318 verifyFormat("static const uint16_t CallerSavedRegs64Bittttt[] = {\n"
8322 verifyFormat("vector<int> x = {1, 1, 1, 1,\n"
8325 verifyFormat("vector<int> x = {1, 1, 1, 1,\n"
8328 verifyFormat("vector<int> aaaaaaaaaaaaaaaaaaaaaa = {\n"
8331 verifyFormat(
8335 verifyFormat("static auto fields = new vector<string>{\n"
8344 verifyFormat("vector<int> x = {1, 2, 3, 4, aaaaaaaaaaaaaaaaa, 6};");
8345 verifyFormat("vector<int> x = {1, aaaaaaaaaaaaaaaaaaaaaa,\n"
8351 verifyFormat("vector<int> x = {\n"
8355 verifyFormat("vector<int> x = {\n"
8359 verifyFormat("vector<int> x = {1, 1, 1, 1,\n"
8365 verifyFormat("vector<int> iiiiiiiiiiiiiii = { //\n"
8370 verifyFormat("int aaaaa[] = {\n"
8378 verifyFormat("return {{aaaaaaaaaaaaaaaaaaaaa},\n"
8383 verifyFormat(
8394 verifyFormat("aaaaaaaaaaaaaaa = {aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, 0, 0,\n"
8400 verifyFormat("void f() {\n"
8406 verifyFormat(
8416 verifyFormat("std::vector<int> a = {\n"
8425 verifyFormat("vector<int> aaaa = {\n"
8435 verifyFormat("someFunction(Param, {List1, List2,\n"
8438 verifyFormat("someFunction(Param, Param,\n"
8442 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaa, {},\n"
8450 verifyFormat("void f() { return 42; }");
8451 verifyFormat("void f() {\n"
8455 verifyFormat("void f() {\n"
8458 verifyFormat("{\n"
8462 verifyFormat("{\n"
8466 verifyFormat("void f() {} // comment");
8467 verifyFormat("void f() { int a; } // comment");
8468 verifyFormat("void f() {\n"
8471 verifyFormat("void f() {\n"
8475 verifyFormat("void f() {\n"
8479 verifyFormat("void f() { return 42; }", getLLVMStyleWithColumns(23));
8480 verifyFormat("void f() {\n return 42;\n}", getLLVMStyleWithColumns(22));
8482 verifyFormat("void f() {}", getLLVMStyleWithColumns(11));
8483 verifyFormat("void f() {\n}", getLLVMStyleWithColumns(10));
8484 verifyFormat("class C {\n"
8517 verifyFormat("#define A \\\n"
8522 verifyFormat("#define A \\\n"
8525 verifyFormat("#define A \\\n"
8531 verifyFormat("#define A \\\n"
8540 verifyFormat("class C {\n"
8544 verifyFormat("class C {\n"
8550 verifyFormat("int f() {}", MergeEmptyOnly);
8551 verifyFormat("int f() {\n"
8559 verifyFormat("int f() {}", MergeEmptyOnly);
8560 verifyFormat("class C {\n"
8569 verifyFormat("class C {\n"
8573 verifyFormat("int f() {\n"
8579 verifyFormat("class C {\n"
8583 verifyFormat("int f() {}", MergeInlineOnly);
8588 verifyFormat("class C {\n"
8592 verifyFormat("int f()\n"
8599 verifyFormat("int f() {}", MergeInlineOnly);
8600 verifyFormat("class C {\n"
8610 verifyFormat("class C {\n"
8614 verifyFormat("int f() {\n"
8620 verifyFormat("class C {\n"
8624 verifyFormat("int f() {\n"
8631 verifyFormat("class C {\n"
8635 verifyFormat("int f()\n"
8642 verifyFormat("int f()\n"
8646 verifyFormat("class C {\n"
8660 verifyFormat("int f()\n"
8663 verifyFormat("int f()\n"
8668 verifyFormat("int f()\n"
8675 verifyFormat("int f() {}", Style);
8676 verifyFormat("int aaaaaaaaaaaaaa(int bbbbbbbbbbbbbb)\n"
8679 verifyFormat("int f()\n"
8686 verifyFormat("class Foo {\n"
8690 verifyFormat("class Foo {\n"
8694 verifyFormat("class Foo {\n"
8699 verifyFormat("class Foo {\n"
8708 verifyFormat("int f() {}", Style);
8709 verifyFormat("int f() { return 0; }", Style);
8710 verifyFormat("int aaaaaaaaaaaaaa(int bbbbbbbbbbbbbb)\n"
8713 verifyFormat("int aaaaaaaaaaaaaa(int bbbbbbbbbbbbbb)\n"
8722 verifyFormat("#ifdef A\n"
8736 verifyFormat("class Foo\n"
8739 verifyFormat("/* something */ class Foo\n"
8742 verifyFormat("template <typename X> class Foo\n"
8745 verifyFormat("class Foo\n"
8750 verifyFormat("typedef class Foo\n"
8762 verifyFormat("struct Foo\n"
8765 verifyFormat("/* something */ struct Foo\n"
8768 verifyFormat("template <typename X> struct Foo\n"
8771 verifyFormat("struct Foo\n"
8776 verifyFormat("typedef struct Foo\n"
8789 verifyFormat("union Foo\n"
8792 verifyFormat("/* something */ union Foo\n"
8795 verifyFormat("union Foo\n"
8800 verifyFormat("typedef union Foo\n"
8812 verifyFormat("namespace Foo\n"
8815 verifyFormat("/* something */ namespace Foo\n"
8818 verifyFormat("inline namespace Foo\n"
8821 verifyFormat("/* something */ inline namespace Foo\n"
8824 verifyFormat("export namespace Foo\n"
8827 verifyFormat("namespace Foo\n"
8837 verifyFormat("class Foo {\n"
8841 verifyFormat("typedef class Foo {\n"
8845 verifyFormat("struct Foo {\n"
8849 verifyFormat("typedef struct Foo {\n"
8853 verifyFormat("union Foo {\n"
8857 verifyFormat("typedef union Foo {\n"
8861 verifyFormat("namespace Foo {\n"
8871 verifyFormat("class Foo\n"
8876 verifyFormat("typedef class Foo\n"
8881 verifyFormat("struct Foo\n"
8886 verifyFormat("typedef struct Foo\n"
8891 verifyFormat("union Foo\n"
8896 verifyFormat("typedef union Foo\n"
8901 verifyFormat("namespace Foo\n"
8910 verifyFormat("struct foo a = {bar};\nint n;");
8911 verifyFormat("class foo a = {bar};\nint n;");
8912 verifyFormat("union foo a = {bar};\nint n;");
8915 verifyFormat("struct foo f() {}\nint n;");
8916 verifyFormat("class foo f() {}\nint n;");
8917 verifyFormat("union foo f() {}\nint n;");
8920 verifyFormat("template <class X> void f() {}\nint n;");
8921 verifyFormat("template <struct X> void f() {}\nint n;");
8922 verifyFormat("template <union X> void f() {}\nint n;");
8925 verifyFormat("struct {\n} n;");
8926 verifyFormat(
8928 verifyFormat("union Z {\n int n;\n} x;");
8929 verifyFormat("class MACRO Z {\n} n;");
8930 verifyFormat("class MACRO(X) Z {\n} n;");
8931 verifyFormat("class __attribute__(X) Z {\n} n;");
8932 verifyFormat("class __declspec(X) Z {\n} n;");
8933 verifyFormat("class A##B##C {\n} n;");
8934 verifyFormat("class alignas(16) Z {\n} n;");
8935 verifyFormat("class MACRO(X) alignas(16) Z {\n} n;");
8936 verifyFormat("class MACROA MACRO(X) Z {\n} n;");
8939 verifyFormat("class A::B::C {\n} n;");
8942 verifyFormat(
8950 verifyFormat("template <> struct X < 15, i<3 && 42 < 50 && 33 < 28> {};");
8951 verifyFormat("int i = SomeFunction(a<b, a> b);");
8959 verifyFormat("if (true)\n"
8965 verifyFormat("class A:");
8979 verifyFormat("#if AAAA && BBBB");
8980 verifyFormat("#if (AAAA && BBBB)");
8981 verifyFormat("#elif (AAAA && BBBB)");
8983 verifyFormat(
8996 verifyFormat("void f() { f(); }\n#error E", AllowsMergedIf);
8997 verifyFormat("if (true) return 42;\n#error E", AllowsMergedIf);
8998 verifyFormat("if (true)\n#error E\n return 42;", AllowsMergedIf);
9003 verifyFormat("#define A \\\n"
9006 verifyFormat("#define A \\\n"
9011 verifyFormat("#define A \\\n"
9016 verifyFormat("{\n"
9026 verifyFormat("#define A \\\n"
9029 verifyFormat("#define A \\\n"
9033 verifyFormat("#define A \\\n"
9038 verifyFormat("#define A \\\n"
9043 verifyFormat("#define A \\\n"
9048 verifyFormat("#define A \\\n"
9056 verifyFormat("void f(int *a);");
9057 verifyFormat("void f() { f(fint * b); }");
9058 verifyFormat("class A {\n void f(int *a);\n};");
9059 verifyFormat("class A {\n int *a;\n};");
9060 verifyFormat("namespace a {\n"
9071 verifyFormat("while");
9072 verifyFormat("operator");
9104 verifyFormat("- (void)sendAction:(SEL)aSelector to:(BOOL)anObject;");
9123 verifyFormat("- (void)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:\n"
9125 verifyFormat("- (NSUInteger)indexOfObject:(id)anObject\n"
9143 verifyFormat("- (SomeLooooooooooooooooooooongType *)\n"
9149 verifyFormat("- (SomeLooooooooooooooooooooongType *)\n"
9155 verifyFormat("- (int)sum:(vector<int>)numbers;");
9161 verifyFormat("- (int (*)())foo:(int (*)())f;");
9166 verifyFormat("- foo;");
9167 verifyFormat("- foo:(int)f;");
9257 verifyFormat(
9373 verifyFormat(R"(NSString *s = @"那那那那";)", getLLVMStyleWithColumns(26));
9579 verifyFormat("string a = \"unterminated;");
9596 verifyFormat("void foo() { MACRO(a * b); }", Style);
9597 verifyFormat("void foo() { MACRO(int *b); }", Style);
9600 verifyFormat("void foo() { MACRO(char8_t *b); }", Style);
9603 verifyFormat("void foo() { MACRO(char8_t * b); }", Style);
9606 TEST_F(FormatTest, UnderstandsCpp1y) { verifyFormat("int bi{1'000'000};"); }
9691 verifyFormat("void f() {\n"
9694 verifyFormat("int a[] = {void forgot_closing_brace(){f();\n"
9700 verifyFormat(
9705 verifyFormat("class X {\n"
9716 verifyFormat("void f() {\n"
9723 verifyFormat("class X {\n"
9728 verifyFormat("int x[] = {\n"
9735 verifyFormat("double\n"
9759 verifyFormat("class X {\n"
9766 verifyFormat("#define A \\\n"
9773 verifyFormat("int a;\t // x\n"
9779 verifyFormat("class TabWidth4Indent8 {\n"
9789 verifyFormat("class TabWidth4Indent4 {\n"
9799 verifyFormat("class TabWidth8Indent4 {\n"
9820 verifyFormat("{\n"
9829 verifyFormat("enum AA {\n"
9842 verifyFormat("class X {\n"
9849 verifyFormat("{\n"
9982 verifyFormat("class X {\n"
9989 verifyFormat("#define A \\\n"
9998 verifyFormat("class TabWidth4Indent8 {\n"
10007 verifyFormat("class TabWidth4Indent4 {\n"
10016 verifyFormat("class TabWidth8Indent4 {\n"
10034 verifyFormat("{\n"
10043 verifyFormat("enum AA {\n"
10056 verifyFormat("class X {\n"
10063 verifyFormat("{\n"
10181 verifyFormat("class Assign {\n"
10302 verifyFormat("while(true)\n"
10305 verifyFormat("for(;;)\n"
10308 verifyFormat("if(true)\n"
10313 verifyFormat("do {\n"
10317 verifyFormat("switch(x) {\n"
10322 verifyFormat("auto i = std::make_unique<int>(5);", NoSpace);
10323 verifyFormat("size_t x = sizeof(x);", NoSpace);
10324 verifyFormat("auto f(int x) -> decltype(x);", NoSpace);
10325 verifyFormat("int f(T x) noexcept(x.create());", NoSpace);
10326 verifyFormat("alignas(128) char a[128];", NoSpace);
10327 verifyFormat("size_t x = alignof(MyType);", NoSpace);
10328 verifyFormat("static_assert(sizeof(char) == 1, \"Impossible!\");", NoSpace);
10329 verifyFormat("int f() throw(Deprecated);", NoSpace);
10330 verifyFormat("typedef void (*cb)(int);", NoSpace);
10331 verifyFormat("T A::operator()();", NoSpace);
10332 verifyFormat("X A::operator++(T);", NoSpace);
10333 verifyFormat("auto lambda = []() { return 0; };", NoSpace);
10338 verifyFormat("int f ();", Space);
10339 verifyFormat("void f (int a, T b) {\n"
10344 verifyFormat("if (true)\n"
10349 verifyFormat("do {\n"
10353 verifyFormat("switch (x) {\n"
10358 verifyFormat("A::A () : a (1) {}", Space);
10359 verifyFormat("void f () __attribute__ ((asdf));", Space);
10360 verifyFormat("*(&a + 1);\n"
10365 verifyFormat("#define A(x) x", Space);
10366 verifyFormat("#define A (x) x", Space);
10367 verifyFormat("#if defined(x)\n"
10370 verifyFormat("auto i = std::make_unique<int> (5);", Space);
10371 verifyFormat("size_t x = sizeof (x);", Space);
10372 verifyFormat("auto f (int x) -> decltype (x);", Space);
10373 verifyFormat("int f (T x) noexcept (x.create ());", Space);
10374 verifyFormat("alignas (128) char a[128];", Space);
10375 verifyFormat("size_t x = alignof (MyType);", Space);
10376 verifyFormat("static_assert (sizeof (char) == 1, \"Impossible!\");", Space);
10377 verifyFormat("int f () throw (Deprecated);", Space);
10378 verifyFormat("typedef void (*cb) (int);", Space);
10379 verifyFormat("T A::operator() ();", Space);
10380 verifyFormat("X A::operator++ (T);", Space);
10381 verifyFormat("auto lambda = [] () { return 0; };", Space);
10382 verifyFormat("int x = int (y);", Space);
10387 verifyFormat("[]() -> float {}", SomeSpace);
10388 verifyFormat("[] (auto foo) {}", SomeSpace);
10389 verifyFormat("[foo]() -> int {}", SomeSpace);
10390 verifyFormat("int f();", SomeSpace);
10391 verifyFormat("void f (int a, T b) {\n"
10396 verifyFormat("if (true)\n"
10401 verifyFormat("do {\n"
10405 verifyFormat("switch (x) {\n"
10410 verifyFormat("A::A() : a (1) {}", SomeSpace);
10411 verifyFormat("void f() __attribute__ ((asdf));", SomeSpace);
10412 verifyFormat("*(&a + 1);\n"
10417 verifyFormat("#define A(x) x", SomeSpace);
10418 verifyFormat("#define A (x) x", SomeSpace);
10419 verifyFormat("#if defined(x)\n"
10422 verifyFormat("auto i = std::make_unique<int> (5);", SomeSpace);
10423 verifyFormat("size_t x = sizeof (x);", SomeSpace);
10424 verifyFormat("auto f (int x) -> decltype (x);", SomeSpace);
10425 verifyFormat("int f (T x) noexcept (x.create());", SomeSpace);
10426 verifyFormat("alignas (128) char a[128];", SomeSpace);
10427 verifyFormat("size_t x = alignof (MyType);", SomeSpace);
10428 verifyFormat("static_assert (sizeof (char) == 1, \"Impossible!\");",
10430 verifyFormat("int f() throw (Deprecated);", SomeSpace);
10431 verifyFormat("typedef void (*cb) (int);", SomeSpace);
10432 verifyFormat("T A::operator()();", SomeSpace);
10433 verifyFormat("X A::operator++ (T);", SomeSpace);
10434 verifyFormat("int x = int (y);", SomeSpace);
10435 verifyFormat("auto lambda = []() { return 0; };", SomeSpace);
10442 verifyFormat("bool x = ! y", Spaces);
10443 verifyFormat("if (! isFailure())", Spaces);
10444 verifyFormat("if (! (a && b))", Spaces);
10445 verifyFormat("\"Error!\"", Spaces);
10446 verifyFormat("! ! x", Spaces);
10453 verifyFormat("do_something( ::globalVar );", Spaces);
10454 verifyFormat("call( x, y, z );", Spaces);
10455 verifyFormat("call();", Spaces);
10456 verifyFormat("std::function<void( int, int )> callback;", Spaces);
10457 verifyFormat("void inFunction() { std::function<void( int, int )> fct; }",
10459 verifyFormat("while ( (bool)1 )\n"
10462 verifyFormat("for ( ;; )\n"
10465 verifyFormat("if ( true )\n"
10470 verifyFormat("do {\n"
10474 verifyFormat("switch ( x ) {\n"
10482 verifyFormat("Type *A = ( Type * )P;", Spaces);
10483 verifyFormat("Type *A = ( vector<Type *, int *> )P;", Spaces);
10484 verifyFormat("x = ( int32 )y;", Spaces);
10485 verifyFormat("int a = ( int )(2.0f);", Spaces);
10486 verifyFormat("#define AA(X) sizeof((( X * )NULL)->a)", Spaces);
10487 verifyFormat("my_int a = ( my_int )sizeof(int);", Spaces);
10488 verifyFormat("#define x (( int )-1)", Spaces);
10494 verifyFormat("call(x, y, z);", Spaces);
10495 verifyFormat("call( );", Spaces);
10496 verifyFormat("std::function<void(int, int)> callback;", Spaces);
10497 verifyFormat("while (( bool )1)\n"
10500 verifyFormat("for (;;)\n"
10503 verifyFormat("if (true)\n"
10508 verifyFormat("do {\n"
10512 verifyFormat("switch (x) {\n"
10520 verifyFormat("call(x, y, z);", Spaces);
10521 verifyFormat("call( );", Spaces);
10522 verifyFormat("std::function<void(int, int)> callback;", Spaces);
10523 verifyFormat("while (( bool ) 1)\n"
10526 verifyFormat("for (;;)\n"
10529 verifyFormat("if (true)\n"
10534 verifyFormat("do {\n"
10538 verifyFormat("switch (x) {\n"
10547 verifyFormat("while ((bool) 1)\n"
10550 verifyFormat("do {\n"
10557 verifyFormat("int a[5];");
10558 verifyFormat("a[3] += 42;");
10563 verifyFormat("int a[ 5 ];", Spaces);
10564 verifyFormat("a[ 3 ] += 42;", Spaces);
10565 verifyFormat("constexpr char hello[]{\"hello\"};", Spaces);
10566 verifyFormat("double &operator[](int i) { return 0; }\n"
10569 verifyFormat("std::unique_ptr<int[]> foo() {}", Spaces);
10570 verifyFormat("int i = a[ a ][ a ]->f();", Spaces);
10571 verifyFormat("int i = (*b)[ a ]->f();", Spaces);
10573 verifyFormat("int c = []() -> int { return 2; }();\n", Spaces);
10574 verifyFormat("return [ i, args... ] {};", Spaces);
10578 verifyFormat("int a = 5;");
10579 verifyFormat("a += 42;");
10580 verifyFormat("a or_eq 8;");
10584 verifyFormat("int a= 5;", Spaces);
10585 verifyFormat("a+= 42;", Spaces);
10586 verifyFormat("a or_eq 8;", Spaces);
10590 verifyFormat("class Foo : public Bar {};");
10591 verifyFormat("Foo::Foo() : foo(1) {}");
10592 verifyFormat("for (auto a : b) {\n}");
10593 verifyFormat("int x = a ? b : c;");
10594 verifyFormat("{\n"
10598 verifyFormat("switch (x) {\n"
10605 verifyFormat("class Foo : public Bar {};", CtorInitializerStyle);
10606 verifyFormat("Foo::Foo(): foo(1) {}", CtorInitializerStyle);
10607 verifyFormat("for (auto a : b) {\n}", CtorInitializerStyle);
10608 verifyFormat("int x = a ? b : c;", CtorInitializerStyle);
10609 verifyFormat("{\n"
10614 verifyFormat("switch (x) {\n"
10621 verifyFormat("Fooooooooooo::Fooooooooooo():\n"
10627 verifyFormat("Fooooooooooo::Fooooooooooo()\n"
10633 verifyFormat("Fooooooooooo::Fooooooooooo()\n"
10638 verifyFormat("Fooooooooooo::Fooooooooooo()\n"
10645 verifyFormat("class Foo: public Bar {};", InheritanceStyle);
10646 verifyFormat("Foo::Foo() : foo(1) {}", InheritanceStyle);
10647 verifyFormat("for (auto a : b) {\n}", InheritanceStyle);
10648 verifyFormat("int x = a ? b : c;", InheritanceStyle);
10649 verifyFormat("{\n"
10654 verifyFormat("switch (x) {\n"
10660 verifyFormat("class Foooooooooooooooooooooo:\n"
10666 verifyFormat("class Foooooooooooooooooooooo\n"
10672 verifyFormat("class Foooooooooooooooooooooo\n"
10678 verifyFormat("class Foooooooooooooooooooooo\n"
10685 verifyFormat("class Foo : public Bar {};", ForLoopStyle);
10686 verifyFormat("Foo::Foo() : foo(1) {}", ForLoopStyle);
10687 verifyFormat("for (auto a: b) {\n}", ForLoopStyle);
10688 verifyFormat("int x = a ? b : c;", ForLoopStyle);
10689 verifyFormat("{\n"
10694 verifyFormat("switch (x) {\n"
10704 verifyFormat("class Foo: public Bar {};", NoSpaceStyle);
10705 verifyFormat("Foo::Foo(): foo(1) {}", NoSpaceStyle);
10706 verifyFormat("for (auto a: b) {\n}", NoSpaceStyle);
10707 verifyFormat("int x = a ? b : c;", NoSpaceStyle);
10708 verifyFormat("{\n"
10713 verifyFormat("switch (x) {\n"
10726 verifyFormat("#define a 3\n"
10731 verifyFormat("#define f(x) (x * x)\n"
10736 verifyFormat("#define foo(x, y) (x + y)\n"
10740 verifyFormat("#define a 3\n"
10749 verifyFormat("#define a 3\n"
10754 verifyFormat("#define f(x) (x * x)\n"
10759 verifyFormat("#define foo(x, y) (x + y)\n"
10763 verifyFormat("#define a 3\n"
10771 verifyFormat("#define a 5\n"
10791 verifyFormat("#define a \\\n"
10803 verifyFormat("#define a \\\n"
10819 verifyFormat("int a = 5;\n"
10822 verifyFormat("int a = 5;\n"
10827 verifyFormat("int a = 5;\n"
10830 verifyFormat("int a = method();\n"
10833 verifyFormat("a &= 5;\n"
10843 verifyFormat("int i = 1, j = 10;\n"
10846 verifyFormat("something = 2000;\n"
10849 verifyFormat("something = 2000;\n"
10855 verifyFormat("int a = 5;\n"
10861 verifyFormat("int oneTwoThree = 123;\n"
10865 verifyFormat("int oneTwoThree = 123; // comment\n"
10896 verifyFormat("#define A \\\n"
10903 verifyFormat("#define A \\\n"
10910 verifyFormat("#define A "
10920 verifyFormat("void SomeFunction(int parameter = 1, int i = 2, int j = 3, int "
10927 verifyFormat("void SomeFunction(int parameter = 0) {\n"
10933 verifyFormat("class C {\n"
10939 verifyFormat("int i = 1;\n"
10945 verifyFormat("int j = 7;\n"
10953 verifyFormat("int i = 1;\n"
10959 verifyFormat("int i = 1;\n"
10965 verifyFormat("auto lambda = []() {\n"
10977 verifyFormat(
10984 verifyFormat("template <typename T, typename T_0 = very_long_type_name_0,\n"
10989 verifyFormat("int a, b = 1;\n"
10993 verifyFormat("int aa = ((1 > 2) ? 3 : 4);\n"
10996 verifyFormat("for (int i = 0; i < 1; i++)\n"
10999 verifyFormat("for (i = 0; i < 1; i++)\n"
11009 verifyFormat("float const a = 5;\n"
11012 verifyFormat("int a = 5;\n"
11017 verifyFormat("float const a = 5;\n"
11020 verifyFormat("int a = method();\n"
11023 verifyFormat("int i = 1, j = 10;\n"
11026 verifyFormat("something = 2000;\n"
11029 verifyFormat("float something = 2000;\n"
11035 verifyFormat("float a = 5;\n"
11041 verifyFormat("int oneTwoThree{0}; // comment\n"
11072 verifyFormat("int a();\n"
11075 verifyFormat("int a(int x);\n"
11104 verifyFormat("int function(\n"
11110 verifyFormat("int a(int x, void (*fp)(int y));\n"
11117 verifyFormat("int func(int a = 1) {\n"
11122 verifyFormat("float something = 2000;\n"
11128 verifyFormat("int oneTwoThree = {0}; // comment\n"
11132 verifyFormat("for (int i = 0; i < n; i++)\n"
11136 verifyFormat("if (int i = 0)\n"
11141 verifyFormat("struct test {\n"
11147 verifyFormat("struct test {\n"
11178 verifyFormat("#define A \\\n"
11185 verifyFormat("#define A \\\n"
11193 verifyFormat("#define A \\\n"
11200 verifyFormat("void SomeFunction(int parameter = 1, int i = 2, int j = 3, int "
11207 verifyFormat("void SomeFunction(int parameter = 0) {\n"
11213 verifyFormat("class C {\n"
11219 verifyFormat("float i = 1;\n"
11225 verifyFormat("float j = 7;\n"
11233 verifyFormat("float i = 1;\n"
11239 verifyFormat("int i = 1;\n"
11246 verifyFormat("auto lambda = []() {\n"
11261 verifyFormat(
11274 verifyFormat("float ii = 1;\n"
11284 verifyFormat(
11289 verifyFormat("float a, b = 1;\n"
11293 verifyFormat("int aa = ((1 > 2) ? 3 : 4);\n"
11297 verifyFormat("float a, b = 1;\n"
11301 verifyFormat("int aa = ((1 > 2) ? 3 : 4);\n"
11308 verifyFormat("void foo(float a,\n"
11326 verifyFormat(
11336 verifyFormat("int func() { //\n"
11353 verifyFormat("namespace a\n"
11373 verifyFormat("enum X {\n"
11377 verifyFormat("struct S {\n"
11395 verifyFormat("namespace a {\n"
11420 verifyFormat("struct S\n"
11439 verifyFormat("namespace a {\n"
11456 verifyFormat("void foo()\n"
11467 verifyFormat("#ifdef _DEBUG\n"
11477 verifyFormat("void foo() {}\n"
11489 verifyFormat("void foobar() { int i = 5; }\n"
11514 verifyFormat("namespace a\n"
11538 verifyFormat("void f()\n"
11555 verifyFormat("void f()\n"
11572 verifyFormat("void f(int a)\n"
11592 verifyFormat("enum X\n"
11597 verifyFormat("enum X\n"
11603 verifyFormat("@interface BSApplicationController ()\n"
11611 verifyFormat("#ifdef _DEBUG\n"
11621 verifyFormat("void foo() {}\n"
11633 verifyFormat("void foobar() { int i = 5; }\n"
11642 verifyFormat("[self doSomeThingWithACompletionHandler:^{\n"
11647 verifyFormat("void (^block)(void) = ^{\n"
11653 verifyFormat("void f()\n"
11659 verifyFormat("void f()\n"
11665 verifyFormat("int f()\n"
11672 verifyFormat("void f() { int i; }", AllmanBraceStyle);
11674 verifyFormat("void f()\n"
11685 verifyFormat("void f(bool b)\n"
11693 verifyFormat("void f(bool b)\n"
11701 verifyFormat("void f(bool b)\n"
11709 verifyFormat("void f(bool b)\n"
11714 verifyFormat("void f(bool b)\n"
11719 verifyFormat("void f(bool b)\n"
11724 verifyFormat("void f(bool b)\n"
11768 verifyFormat("namespace a\n"
11792 verifyFormat("void f()\n"
11809 verifyFormat("void f()\n"
11866 verifyFormat("enum X\n"
11872 verifyFormat("enum X\n"
11877 verifyFormat("enum X\n"
11884 verifyFormat("@interface BSApplicationController ()\n"
11892 verifyFormat("#ifdef _DEBUG\n"
11902 verifyFormat("void foo() {}\n"
11914 verifyFormat("void foobar()\n"
11931 verifyFormat("[self doSomeThingWithACompletionHandler:^{\n"
11936 verifyFormat("void (^block)(void) = ^{\n"
11942 verifyFormat("void f()\n"
11948 verifyFormat("int f()\n"
11958 verifyFormat("void f(bool b)\n"
11966 verifyFormat("void f(bool b)\n"
11971 verifyFormat("void f(bool b)\n"
11984 verifyFormat("namespace a\n"
12005 verifyFormat("void f()\n"
12022 verifyFormat("void f()\n"
12040 verifyFormat("void f(int a)\n"
12060 verifyFormat("enum X\n"
12066 verifyFormat("@interface BSApplicationController ()\n"
12074 verifyFormat("#ifdef _DEBUG\n"
12084 verifyFormat("void foo() {}\n"
12096 verifyFormat("void foobar() { int i = 5; }\n"
12109 verifyFormat("namespace a {\n"
12131 verifyFormat("struct S {\n"
12145 verifyFormat("void f() {\n"
12154 verifyFormat("#pragma omp reduction(| : var)");
12155 verifyFormat("#pragma omp reduction(+ : var)");
12164 verifyFormat("#pragma option -C -A");
12191 verifyFormat("int a; // the\n"
12215 verifyFormat("int a; // the comment", Style);
12975 verifyFormat("\"Однажды в студёную зимнюю пору...\"",
12977 verifyFormat("\"一 二 三 四 五 六 七 八 九 十\"",
12979 verifyFormat("// Однажды в студёную зимнюю пору...",
12981 verifyFormat("// 一 二 三 四 五 六 七 八 九 十", getLLVMStyleWithColumns(32));
12982 verifyFormat("/* Однажды в студёную зимнюю пору... */",
12984 verifyFormat("/* 一 二 三 四 五 六 七 八 九 十 */",
13082 verifyFormat(
13089 verifyFormat(
13096 verifyFormat(
13102 verifyFormat(
13106 verifyFormat("bool smaller = 1 < "
13113 verifyFormat("SomeClass::Constructor() :\n"
13123 verifyFormat("SomeClass::Constructor()\n"
13128 verifyFormat("SomeClass::Constructor()\n"
13133 verifyFormat("SomeClass::Constructor()\n"
13136 verifyFormat("SomeClass::Constructor() noexcept\n"
13139 verifyFormat("SomeClass::Constructor()\n"
13144 verifyFormat("SomeClass::Constructor()\n"
13152 verifyFormat("SomeClass::Constructor()\n"
13157 verifyFormat("SomeClass::Constructor()\n"
13164 verifyFormat("SomeClass::Constructor()\n"
13171 verifyFormat("SomeClass::Constructor()\n"
13179 verifyFormat("SomeClass::Constructor() : aaaaaaaa(aaaaaaaa) {}", Style);
13180 verifyFormat(
13183 verifyFormat(
13189 verifyFormat("SomeClass::Constructor()\n"
13197 verifyFormat("void F(int &i) { i.~int(); }");
13198 verifyFormat("void F(int &i) { i->~int(); }");
13205 verifyFormat("namespace outer {\n"
13217 verifyFormat("switch (variable) {\n"
13244 verifyFormat("void f() { return; }", Style);
13257 verifyFormat("Constructor()\n"
13265 verifyFormat("SomeClass::Constructor()\n"
13275 verifyFormat("SomeClass::Constructor()\n"
13282 verifyFormat("SomeClass::Constructor()\n"
13291 verifyFormat("class C {\n"
13298 verifyFormat("int a; // Do not\n"
13321 verifyFormat("#define aNumber 10", Style);
13360 verifyFormat("[self.a b:c c:d];", Style);
13369 verifyFormat("int c = [b]() mutable { return [&b] { return b++; }(); }();\n");
13370 verifyFormat(
13372 verifyFormat("int c = [&] { [=] { return b++; }(); }();\n");
13373 verifyFormat("int c = [&, &a, a] { [=, c, &d] { return b++; }(); }();\n");
13374 verifyFormat("int c = [&a, &a, a] { [=, a, b, &c] { return b++; }(); }();\n");
13375 verifyFormat("auto c = {[&a, &a, a] { [=, a, b, &c] { return b++; }(); }}\n");
13376 verifyFormat("auto c = {[&a, &a, a] { [=, a, b, &c] {}(); }}\n");
13377 verifyFormat("auto c = [a = [b = 42] {}] {};\n");
13378 verifyFormat("auto c = [a = &i + 10, b = [] {}] {};\n");
13379 verifyFormat("int x = f(*+[] {});");
13380 verifyFormat("void f() {\n"
13383 verifyFormat("void f() {\n"
13388 verifyFormat("void f() {\n"
13394 verifyFormat(
13402 verifyFormat("SomeFunction([]() { // A cool function...\n"
13413 verifyFormat("void f() {\n"
13416 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
13418 verifyFormat("string abc = SomeFunction(aaaaaaaaaaaaa, aaaaa, []() {\n"
13421 verifyFormat("Constructor()\n"
13425 verifyFormat("auto my_lambda = [](const string &some_parameter) {\n"
13428 verifyFormat("std::function<std::string(const std::string &)> my_lambda =\n"
13430 verifyFormat("int i = aaaaaa ? 1 //\n"
13434 verifyFormat("llvm::errs() << \"number of twos is \"\n"
13438 verifyFormat("return aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
13444 verifyFormat("SomeFunction({[&] {\n"
13450 verifyFormat("SomeFunction({[&] {\n"
13453 verifyFormat(
13459 verifyFormat("int c = []() -> int { return 2; }();\n");
13460 verifyFormat("int c = []() -> int * { return 2; }();\n");
13461 verifyFormat("int c = []() -> vector<int> { return {2}; }();\n");
13462 verifyFormat("Foo([]() -> std::vector<int> { return {2}; }());");
13467 verifyFormat("[a, a]() -> a<1> {};");
13468 verifyFormat("[]() -> foo<5 + 2> { return {}; };");
13469 verifyFormat("[]() -> foo<5 - 2> { return {}; };");
13470 verifyFormat("[]() -> foo<5 / 2> { return {}; };");
13471 verifyFormat("[]() -> foo<5 * 2> { return {}; };");
13472 verifyFormat("[]() -> foo<5 % 2> { return {}; };");
13473 verifyFormat("[]() -> foo<5 << 2> { return {}; };");
13474 verifyFormat("[]() -> foo<!5> { return {}; };");
13475 verifyFormat("[]() -> foo<~5> { return {}; };");
13476 verifyFormat("[]() -> foo<5 | 2> { return {}; };");
13477 verifyFormat("[]() -> foo<5 || 2> { return {}; };");
13478 verifyFormat("[]() -> foo<5 & 2> { return {}; };");
13479 verifyFormat("[]() -> foo<5 && 2> { return {}; };");
13480 verifyFormat("[]() -> foo<5 == 2> { return {}; };");
13481 verifyFormat("[]() -> foo<5 != 2> { return {}; };");
13482 verifyFormat("[]() -> foo<5 >= 2> { return {}; };");
13483 verifyFormat("[]() -> foo<5 <= 2> { return {}; };");
13484 verifyFormat("[]() -> foo<5 < 2> { return {}; };");
13485 verifyFormat("[]() -> foo<2 ? 1 : 0> { return {}; };");
13486 verifyFormat("namespace bar {\n"
13490 verifyFormat("namespace bar {\n"
13494 verifyFormat("namespace bar {\n"
13498 verifyFormat("namespace bar {\n"
13502 verifyFormat("namespace bar {\n"
13506 verifyFormat("namespace bar {\n"
13510 verifyFormat("namespace bar {\n"
13514 verifyFormat("namespace bar {\n"
13518 verifyFormat("namespace bar {\n"
13522 verifyFormat("namespace bar {\n"
13526 verifyFormat("namespace bar {\n"
13530 verifyFormat("namespace bar {\n"
13534 verifyFormat("namespace bar {\n"
13538 verifyFormat("namespace bar {\n"
13542 verifyFormat("namespace bar {\n"
13546 verifyFormat("namespace bar {\n"
13550 verifyFormat("namespace bar {\n"
13554 verifyFormat("namespace bar {\n"
13558 verifyFormat("[]() -> a<1> {};");
13559 verifyFormat("[]() -> a<1> { ; };");
13560 verifyFormat("[]() -> a<1> { ; }();");
13561 verifyFormat("[a, a]() -> a<true> {};");
13562 verifyFormat("[]() -> a<true> {};");
13563 verifyFormat("[]() -> a<true> { ; };");
13564 verifyFormat("[]() -> a<true> { ; }();");
13565 verifyFormat("[a, a]() -> a<false> {};");
13566 verifyFormat("[]() -> a<false> {};");
13567 verifyFormat("[]() -> a<false> { ; };");
13568 verifyFormat("[]() -> a<false> { ; }();");
13569 verifyFormat("auto foo{[]() -> foo<false> { ; }};");
13570 verifyFormat("namespace bar {\n"
13573 verifyFormat("auto aaaaaaaa = [](int i, // break for some reason\n"
13577 verifyFormat(
13583 verifyFormat("[]() //\n"
13589 verifyFormat(
13594 verifyFormat("SomeFunction(\n"
13603 verifyFormat("SomeFunction(\n"
13613 verifyFormat("SomeFunction(\n"
13620 verifyFormat("SomeFunction(\n"
13629 verifyFormat(
13640 verifyFormat("function(1, [this, that] {\n"
13643 verifyFormat("function([this, that] {\n"
13648 verifyFormat("function(a, b, c, //\n"
13654 verifyFormat("SomeFunction(\n"
13665 verifyFormat("return [i, args...] {};");
13668 verifyFormat("constexpr char hello[]{\"hello\"};");
13669 verifyFormat("double &operator[](int i) { return 0; }\n"
13671 verifyFormat("std::unique_ptr<int[]> foo() {}");
13672 verifyFormat("int i = a[a][a]->f();");
13673 verifyFormat("int i = (*b)[a]->f();");
13676 verifyFormat("void f() {\n"
13682 verifyFormat("void f() {\n"
13687 verifyFormat("if (blah_blah(whatever, whatever, [] {\n"
13692 verifyFormat("if constexpr (blah_blah(whatever, whatever, [] {\n"
13697 verifyFormat("if CONSTEXPR (blah_blah(whatever, whatever, [] {\n"
13702 verifyFormat("auto lambda = []() {\n"
13711 verifyFormat(
13771 verifyFormat("int (^Block)(int, int);", ShortBlocks);
13772 verifyFormat("int (^Block1)(int, int) = ^(int i, int j)", ShortBlocks);
13773 verifyFormat("void (^block)(int) = ^(id test) { int i; };", ShortBlocks);
13774 verifyFormat("void (^block)(int) = ^(int test) { int i; };", ShortBlocks);
13775 verifyFormat("void (^block)(int) = ^id(int test) { int i; };", ShortBlocks);
13776 verifyFormat("void (^block)(int) = ^int(int test) { int i; };", ShortBlocks);
13778 verifyFormat("foo(^{ bar(); });", ShortBlocks);
13779 verifyFormat("foo(a, ^{ bar(); });", ShortBlocks);
13780 verifyFormat("{ void (^block)(Object *x); }", ShortBlocks);
13782 verifyFormat("[operation setCompletionBlock:^{\n"
13785 verifyFormat("int i = {[operation setCompletionBlock:^{\n"
13788 verifyFormat("[operation setCompletionBlock:^(int *i) {\n"
13791 verifyFormat("int a = [operation block:^int(int *i) {\n"
13794 verifyFormat("[myObject doSomethingWith:arg1\n"
13800 verifyFormat("[operation setCompletionBlock:^{\n"
13804 verifyFormat("dispatch_async(_fileIOQueue, ^{\n"
13810 verifyFormat("[[SessionService sharedService]\n"
13818 verifyFormat("void (^largeBlock)(void) = ^{\n"
13822 verifyFormat("[[SessionService sharedService]\n"
13832 verifyFormat("[myObject doSomethingWith:arg1\n"
13845 verifyFormat("[myObject doSomethingWith:arg1\n"
13852 verifyFormat("f(^{\n"
13859 verifyFormat("Block b = ^int *(A *a, B *b) {}");
13860 verifyFormat("BOOL (^aaa)(void) = ^BOOL {\n"
13865 verifyFormat("[operation setCompletionBlock:^{\n"
13875 verifyFormat("[[SessionService sharedService] "
13901 verifyFormat("[myObject doSomethingWith:arg1\n"
13915 verifyFormat("f(^{\n"
13923 verifyFormat("void (^largeBlock)(void) = ^{\n"
13991 verifyFormat("MY_CLASS(C) {\n"
14017 verifyFormat("int Foo::getter(\n"
14023 verifyFormat("void Foo::setter(\n"
14035 verifyFormat("static_cast< int >(arg);", Spaces);
14036 verifyFormat("template < typename T0, typename T1 > void f() {}", Spaces);
14037 verifyFormat("f< int, float >();", Spaces);
14038 verifyFormat("template <> g() {}", Spaces);
14039 verifyFormat("template < std::vector< int > > f() {}", Spaces);
14040 verifyFormat("std::function< void(int, int) > fct;", Spaces);
14041 verifyFormat("void inFunction() { std::function< void(int, int) > fct; }",
14046 verifyFormat("A< A< int > >();", Spaces);
14049 verifyFormat("A<A<int> >();", Spaces);
14053 verifyFormat("A< A< int > >();", Spaces);
14056 verifyFormat("A<A<int>>();", Spaces);
14062 verifyFormat("template<int> void foo();", Style);
14066 verifyFormat("f<<<1, 1>>>();");
14067 verifyFormat("f<<<1, 1, 1, s>>>();");
14068 verifyFormat("f<<<a, b, c, d>>>();");
14070 verifyFormat("f<param><<<1, 1>>>();");
14071 verifyFormat("f<1><<<1, 1>>>();");
14073 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
14075 verifyFormat("aaaaaaaaaaaaaaa<aaaaaaaaa, aaaaaaaaaa, aaaaaaaaaaaaaa>\n"
14080 verifyFormat("<<");
14082 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
14084 verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
14244 verifyFormat("include \"a.td\"\ninclude \"b.td\"", Style);
14267 TEST_F(FormatTest, NoSpaceAfterSuper) { verifyFormat("__super::FooBar();"); }
14447 verifyFormat("auto [a, b] = f();");
14475 verifyFormat("auto [a1, b]{A * i};", getGoogleStyle());
14476 verifyFormat("auto [a2, b]{A * i};", getLLVMStyle());
14477 verifyFormat("auto [a3, b]{A * i};", PointerMiddle);
14478 verifyFormat("auto const [a1, b]{A * i};", getGoogleStyle());
14479 verifyFormat("auto const [a2, b]{A * i};", getLLVMStyle());
14480 verifyFormat("auto const [a3, b]{A * i};", PointerMiddle);
14481 verifyFormat("auto const& [a1, b]{A * i};", getGoogleStyle());
14482 verifyFormat("auto const &[a2, b]{A * i};", getLLVMStyle());
14483 verifyFormat("auto const & [a3, b]{A * i};", PointerMiddle);
14484 verifyFormat("auto const&& [a1, b]{A * i};", getGoogleStyle());
14485 verifyFormat("auto const &&[a2, b]{A * i};", getLLVMStyle());
14486 verifyFormat("auto const && [a3, b]{A * i};", PointerMiddle);
14509 verifyFormat("auto [ a, b ] = f();", Spaces);
14510 verifyFormat("auto &&[ a, b ] = f();", Spaces);
14511 verifyFormat("auto &[ a, b ] = f();", Spaces);
14512 verifyFormat("auto const &&[ a, b ] = f();", Spaces);
14513 verifyFormat("auto const &[ a, b ] = f();", Spaces);
14650 verifyFormat("struct foo {\n"
14659 verifyFormat("STACK_OF(int) a;", Macros);
14660 verifyFormat("STACK_OF(int) *a;", Macros);
14661 verifyFormat("STACK_OF(int const *) *a;", Macros);
14662 verifyFormat("STACK_OF(int *const) *a;", Macros);
14663 verifyFormat("STACK_OF(int, string) a;", Macros);
14664 verifyFormat("STACK_OF(LIST(int)) a;", Macros);
14665 verifyFormat("STACK_OF(LIST(int)) a, b;", Macros);
14666 verifyFormat("for (LIST(int) *a = NULL; a;) {\n}", Macros);
14667 verifyFormat("STACK_OF(int) f(LIST(int) *arg);", Macros);
14670 verifyFormat("STACK_OF(int)* a;", Macros);
14671 verifyFormat("STACK_OF(int*)* a;", Macros);
14678 verifyFormat("auto lambda = [&a = a]() { a = 2; };", AlignStyle);
14680 verifyFormat("auto lambda = [&a = a]() { a = 2; };", AlignStyle);
14686 verifyFormat("int a and b;");
14687 verifyFormat("int a and_eq b;");
14688 verifyFormat("int a bitand b;");
14689 verifyFormat("int a bitor b;");
14690 verifyFormat("int a compl b;");
14691 verifyFormat("int a not b;");
14692 verifyFormat("int a not_eq b;");
14693 verifyFormat("int a or b;");
14694 verifyFormat("int a xor b;");
14695 verifyFormat("int a xor_eq b;");
14696 verifyFormat("return this not_eq bitand other;");
14697 verifyFormat("bool operator not_eq(const X bitand other)");
14699 verifyFormat("int a and 5;");
14700 verifyFormat("int a and_eq 5;");
14701 verifyFormat("int a bitand 5;");
14702 verifyFormat("int a bitor 5;");
14703 verifyFormat("int a compl 5;");
14704 verifyFormat("int a not 5;");
14705 verifyFormat("int a not_eq 5;");
14706 verifyFormat("int a or 5;");
14707 verifyFormat("int a xor 5;");
14708 verifyFormat("int a xor_eq 5;");
14710 verifyFormat("int a compl(5);");
14711 verifyFormat("int a not(5);");
14726 verifyFormat("#if defined(while)\n"