<div dir="ltr"><div dir="ltr">On Thu, Oct 21, 2021 at 1:52 PM Nico Weber <<a href="mailto:thakis@chromium.org">thakis@chromium.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">The last such change broke Windows debuggers and we had to roll it back on Windows (<a href="https://reviews.llvm.org/D79274" target="_blank">https://reviews.llvm.org/D79274</a>). Does this already not do this when targeting Windows? <br></div></blockquote><div><br>No, this doesn't have a special case for Windows at the moment. I'd be a bit surprised if MSVC/Windows emitted and depended on being emitted, the space between "int" and "[N]", though it's possible. The template one is a bit more likely (I mean, even if we didn't know for sure, which we do now), I think.<br><br>Is there any info on whether this has broken Windows debugging in some way?<br><br>I think most of lldb's PDB testing is passing, though there are some failures I'm finding fairly inscrutable, in case folks have any extra details on what's going on here: <a href="https://lab.llvm.org/buildbot/#/builders/83/builds/11259/steps/7/logs/stdio">https://lab.llvm.org/buildbot/#/builders/83/builds/11259/steps/7/logs/stdio</a><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 21, 2021 at 2:35 PM David Blaikie via lldb-commits <<a href="mailto:lldb-commits@lists.llvm.org" target="_blank">lldb-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Author: David Blaikie<br>
Date: 2021-10-21T11:34:43-07:00<br>
New Revision: aee49255074fd4ef38d97e6e70cbfbf2f9fd0fa7<br>
<br>
URL: <a href="https://github.com/llvm/llvm-project/commit/aee49255074fd4ef38d97e6e70cbfbf2f9fd0fa7" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/aee49255074fd4ef38d97e6e70cbfbf2f9fd0fa7</a><br>
DIFF: <a href="https://github.com/llvm/llvm-project/commit/aee49255074fd4ef38d97e6e70cbfbf2f9fd0fa7.diff" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/aee49255074fd4ef38d97e6e70cbfbf2f9fd0fa7.diff</a><br>
<br>
LOG: Recommit: Compress formatting of array type names (int [4] -> int[4])<br>
<br>
Based on post-commit review discussion on<br>
2bd84938470bf2e337801faafb8a67710f46429d with Richard Smith.<br>
<br>
Other uses of forcing HasEmptyPlaceHolder to false seem OK to me -<br>
they're all around pointer/reference types where the pointer/reference<br>
token will appear at the rightmost side of the left side of the type<br>
name, so they make nested types (eg: the "int" in "int *") behave as<br>
though there is a non-empty placeholder (because the "*" is essentially<br>
the placeholder as far as the "int" is concerned).<br>
<br>
This was originally committed in 277623f4d5a672d707390e2c3eaf30a9eb4b075c<br>
<br>
Reverted in f9ad1d1c775a8e264bebc15d75e0c6e5c20eefc7 due to breakages<br>
outside of clang - lldb seems to have some strange/strong dependence on<br>
"char [N]" versus "char[N]" when printing strings (not due to that name<br>
appearing in DWARF, but probably due to using clang to stringify type<br>
names) that'll need to be addressed, plus a few other odds and ends in<br>
other subprojects (clang-tools-extra, compiler-rt, etc).<br>
<br>
Added: <br>
<br>
<br>
Modified: <br>
    clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp<br>
    clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp<br>
    clang-tools-extra/clangd/unittests/HoverTests.cpp<br>
    clang/bindings/python/tests/cindex/test_type.py<br>
    clang/lib/AST/TypePrinter.cpp<br>
    clang/test/ARCMT/<a href="http://cxx-checking.mm" rel="noreferrer" target="_blank">cxx-checking.mm</a><br>
    clang/test/AST/ast-dump-APValue-arithmetic.cpp<br>
    clang/test/AST/ast-dump-APValue-array.cpp<br>
    clang/test/AST/ast-dump-array.cpp<br>
    clang/test/AST/ast-dump-color.cpp<br>
    clang/test/AST/ast-dump-expr-json.c<br>
    clang/test/AST/ast-dump-expr-json.cpp<br>
    clang/test/AST/ast-dump-expr-json.m<br>
    clang/test/AST/ast-dump-expr.c<br>
    clang/test/AST/ast-dump-expr.cpp<br>
    clang/test/AST/ast-dump-file-line-json.c<br>
    clang/test/AST/ast-dump-openmp-begin-declare-variant_9.c<br>
    clang/test/AST/ast-dump-records-json.cpp<br>
    clang/test/AST/ast-dump-records.c<br>
    clang/test/AST/ast-dump-records.cpp<br>
    clang/test/AST/ast-dump-stmt-json.cpp<br>
    clang/test/AST/ast-dump-stmt.cpp<br>
    clang/test/AST/ast-dump-template-decls-json.cpp<br>
    clang/test/AST/ast-dump-templates.cpp<br>
    clang/test/AST/ast-dump-types-errors-json.cpp<br>
    clang/test/AST/atomic-expr.cpp<br>
    clang/test/AST/float16.cpp<br>
    clang/test/AST/pr47636.cpp<br>
    clang/test/AST/sourceranges.cpp<br>
    clang/test/ASTMerge/var/test.c<br>
    clang/test/Analysis/auto-obj-dtors-cfg-output.cpp<br>
    clang/test/Analysis/cfg.cpp<br>
    clang/test/Analysis/explain-svals.cpp<br>
    clang/test/Analysis/lifetime-cfg-output.cpp<br>
    clang/test/Analysis/malloc-sizeof.c<br>
    clang/test/Analysis/more-dtors-cfg-output.cpp<br>
    clang/test/Analysis/scopes-cfg-output.cpp<br>
    clang/test/CXX/basic/basic.types/p10.cpp<br>
    clang/test/CXX/dcl.dcl/dcl.attr/dcl.align/p7.cpp<br>
    clang/test/CXX/dcl.dcl/dcl.spec/dcl.typedef/p2-0x.cpp<br>
    clang/test/CXX/dcl.decl/dcl.decomp/p2.cpp<br>
    clang/test/CXX/dcl.decl/dcl.init/dcl.init.list/p3.cpp<br>
    clang/test/CXX/dcl.decl/dcl.meaning/dcl.array/p3.cpp<br>
    clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp<br>
    clang/test/CXX/drs/dr177x.cpp<br>
    clang/test/CXX/expr/expr.prim/<a href="http://expr.prim.id/mixed-constraints.cpp" rel="noreferrer" target="_blank">expr.prim.id/mixed-constraints.cpp</a><br>
    clang/test/CXX/expr/expr.prim/<a href="http://expr.prim.id/p4.cpp" rel="noreferrer" target="_blank">expr.prim.id/p4.cpp</a><br>
    clang/test/CXX/expr/expr.prim/expr.prim.lambda/p4.cpp<br>
    clang/test/CXX/special/class.copy/p23-cxx11.cpp<br>
    clang/test/CXX/special/class.ctor/p5-0x.cpp<br>
    clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp<br>
    clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp<br>
    clang/test/CXX/temp/temp.constr/temp.constr.constr/non-function-templates.cpp<br>
    clang/test/CXX/temp/temp.decls/temp.variadic/p2.cpp<br>
    clang/test/CXX/temp/temp.explicit/p8.cpp<br>
    clang/test/CXX/temp/temp.param/p10-2a.cpp<br>
    clang/test/CodeGen/const-init.c<br>
    clang/test/CodeGen/dump-struct-builtin.c<br>
    clang/test/Import/array-init-loop-expr/test.cpp<br>
    clang/test/Index/print-type-size.cpp<br>
    clang/test/Index/print-type.c<br>
    clang/test/Index/print-type.cpp<br>
    clang/test/Layout/aix-Wpacked-expecting-diagnostics.cpp<br>
    clang/test/Layout/aix-double-struct-member.cpp<br>
    clang/test/Layout/aix-no-unique-address-with-double.cpp<br>
    clang/test/Layout/aix-power-alignment-typedef.cpp<br>
    clang/test/Layout/ms-aligned-array.c<br>
    clang/test/Layout/ms-x86-basic-layout.cpp<br>
    clang/test/Layout/ms-x86-empty-layout.c<br>
    clang/test/Layout/ms-x86-empty-nonvirtual-bases.cpp<br>
    clang/test/Layout/ms-x86-empty-virtual-base.cpp<br>
    clang/test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp<br>
    clang/test/Layout/ms-x86-misalignedarray.cpp<br>
    clang/test/Layout/ms-x86-pack-and-align.cpp<br>
    clang/test/Layout/no-unique-address.cpp<br>
    clang/test/Layout/watchos-standard-layout.cpp<br>
    clang/test/Misc/diag-macro-backtrace2.c<br>
    clang/test/Misc/integer-literal-printing.cpp<br>
    clang/test/Modules/cxx-templates.cpp<br>
    clang/test/Modules/odr_hash.cpp<br>
    clang/test/OpenMP/distribute_firstprivate_messages.cpp<br>
    clang/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp<br>
    clang/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp<br>
    clang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp<br>
    clang/test/OpenMP/distribute_parallel_for_simd_shared_messages.cpp<br>
    clang/test/OpenMP/distribute_simd_firstprivate_messages.cpp<br>
    clang/test/OpenMP/distribute_simd_lastprivate_messages.cpp<br>
    clang/test/OpenMP/distribute_simd_reduction_messages.cpp<br>
    clang/test/OpenMP/parallel_reduction_messages.c<br>
    clang/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp<br>
    clang/test/PCH/objc_exprs.m<br>
    clang/test/Parser/atomic.c<br>
    clang/test/Sema/array-constraint.c<br>
    clang/test/Sema/array-init.c<br>
    clang/test/Sema/assign.c<br>
    clang/test/Sema/builtin-expect-with-probability-avr.cpp<br>
    clang/test/Sema/builtin-expect-with-probability.cpp<br>
    clang/test/Sema/c11-typedef-redef.c<br>
    clang/test/Sema/compound-literal.c<br>
    clang/test/Sema/crash-invalid-array.c<br>
    clang/test/Sema/empty1.c<br>
    clang/test/Sema/extern-redecl.c<br>
    clang/test/Sema/generic-selection.c<br>
    clang/test/Sema/gnu-flags.c<br>
    clang/test/Sema/incomplete-decl.c<br>
    clang/test/Sema/matrix-type-builtins.c<br>
    clang/test/Sema/merge-decls.c<br>
    clang/test/Sema/nullability.c<br>
    clang/test/Sema/predef.c<br>
    clang/test/Sema/typedef-retain.c<br>
    clang/test/Sema/types.c<br>
    clang/test/Sema/var-redecl.c<br>
    clang/test/Sema/vla.cpp<br>
    clang/test/Sema/warn-sizeof-array-decay.c<br>
    clang/test/Sema/warn-sizeof-arrayarg.c<br>
    clang/test/Sema/warn-write-strings.c<br>
    clang/test/SemaCXX/MicrosoftExtensions.cpp<br>
    clang/test/SemaCXX/address-space-initialize.cpp<br>
    clang/test/SemaCXX/alias-template.cpp<br>
    clang/test/SemaCXX/array-bound-merge.cpp<br>
    clang/test/SemaCXX/attr-gnu.cpp<br>
    clang/test/SemaCXX/c99-variable-length-array-cxx11.cpp<br>
    clang/test/SemaCXX/c99-variable-length-array.cpp<br>
    clang/test/SemaCXX/compare-cxx2a.cpp<br>
    clang/test/SemaCXX/constant-expression-cxx11.cpp<br>
    clang/test/SemaCXX/constant-expression-cxx2a.cpp<br>
    clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp<br>
    clang/test/SemaCXX/constexpr-string.cpp<br>
    clang/test/SemaCXX/coroutines.cpp<br>
    clang/test/SemaCXX/cxx0x-initializer-aggregates.cpp<br>
    clang/test/SemaCXX/cxx0x-type-convert-construct.cpp<br>
    clang/test/SemaCXX/cxx1z-decomposition.cpp<br>
    clang/test/SemaCXX/cxx2a-compat.cpp<br>
    clang/test/SemaCXX/dcl_init_aggr.cpp<br>
    clang/test/SemaCXX/decl-init-ref.cpp<br>
    clang/test/SemaCXX/exceptions.cpp<br>
    clang/test/SemaCXX/flexible-array-test.cpp<br>
    clang/test/SemaCXX/for-range-examples.cpp<br>
    clang/test/SemaCXX/new-delete.cpp<br>
    clang/test/SemaCXX/no-wchar.cpp<br>
    clang/test/SemaCXX/nullability.cpp<br>
    clang/test/SemaCXX/overload-call.cpp<br>
    clang/test/SemaCXX/overload-member-call.cpp<br>
    clang/test/SemaCXX/static-assert-cxx17.cpp<br>
    clang/test/SemaCXX/typedef-redecl.cpp<br>
    clang/test/SemaCXX/typeid.cpp<br>
    clang/test/SemaCXX/warn-string-conversion.cpp<br>
    clang/test/SemaObjC/argument-checking.m<br>
    clang/test/SemaObjC/flexible-array.m<br>
    clang/test/SemaObjC/ivar-sem-check-1.m<br>
    clang/test/SemaObjC/method-bad-param.m<br>
    clang/test/SemaObjC/nullability.m<br>
    clang/test/SemaObjC/rdr-6211479-array-property.m<br>
    clang/test/SemaObjC/warn-write-strings.m<br>
    clang/test/SemaObjCXX/<a href="http://message.mm" rel="noreferrer" target="_blank">message.mm</a><br>
    clang/test/SemaOpenCL/<a href="http://half.cl" rel="noreferrer" target="_blank">half.cl</a><br>
    clang/test/SemaOpenCL/<a href="http://invalid-kernel-parameters.cl" rel="noreferrer" target="_blank">invalid-kernel-parameters.cl</a><br>
    clang/test/SemaOpenCL/<a href="http://predefined-expr.cl" rel="noreferrer" target="_blank">predefined-expr.cl</a><br>
    clang/test/SemaOpenCLCXX/address-space-deduction.clcpp<br>
    clang/test/SemaTemplate/deduction-guide.cpp<br>
    clang/test/SemaTemplate/instantiate-init.cpp<br>
    clang/test/SemaTemplate/instantiate-local-class.cpp<br>
    clang/test/SemaTemplate/instantiate-static-var.cpp<br>
    clang/test/SemaTemplate/pack-deduction.cpp<br>
    clang/test/SemaTemplate/temp_arg_nontype.cpp<br>
    clang/unittests/AST/ASTImporterTest.cpp<br>
    clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp<br>
    clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp<br>
    compiler-rt/test/ubsan/TestCases/Misc/bounds.cpp<br>
    libcxx/test/std/concepts/concepts.lang/concept.default.init/default_initializable.verify.cpp<br>
    libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/dereference.runtime.fail.cpp<br>
    libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_arrow.runtime.fail.cpp<br>
    lldb/source/Commands/CommandObjectType.cpp<br>
    lldb/source/DataFormatters/FormatManager.cpp<br>
    lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp<br>
    lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py<br>
    lldb/test/API/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py<br>
    lldb/test/API/functionalities/data-formatter/data-formatter-ptr-to-array/TestPtrToArrayFormatting.py<br>
    lldb/test/API/functionalities/data-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py<br>
    lldb/test/API/functionalities/data-formatter/typedef_array/main.cpp<br>
    lldb/test/API/lang/c/array_types/TestArrayTypes.py<br>
    lldb/test/API/lang/c/vla/TestVLA.py<br>
    lldb/test/API/lang/cpp/bitfields/TestCppBitfields.py<br>
    lldb/test/API/lang/cpp/char1632_t/TestChar1632T.py<br>
    lldb/test/API/lang/cpp/char8_t/TestCxxChar8_t.py<br>
    lldb/test/API/lang/cpp/class_static/TestStaticVariables.py<br>
    lldb/test/API/lang/cpp/non-type-template-param/TestCppNonTypeTemplateParam.py<br>
    lldb/test/API/tools/lldb-vscode/variables/TestVSCode_variables.py<br>
    lldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_const_value.s<br>
    lldb/test/Shell/SymbolFile/DWARF/x86/array-sizes.s<br>
    lldb/test/Shell/SymbolFile/NativePDB/global-classes.cpp<br>
<br>
Removed: <br>
<br>
<br>
<br>
################################################################################<br>
diff  --git a/clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp b/clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp<br>
index 6955fa0caa250..b3eaae69c7518 100644<br>
--- a/clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp<br>
+++ b/clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp<br>
@@ -131,7 +131,7 @@ TEST_F(LSPTest, Diagnostics) {<br>
   EXPECT_THAT(Client.diagnostics("foo.cpp"),<br>
               llvm::ValueIs(testing::ElementsAre(<br>
                   DiagMessage("Cannot initialize a variable of type 'int' with "<br>
-                              "an lvalue of type 'const char [3]'"))));<br>
+                              "an lvalue of type 'const char[3]'"))));<br>
<br>
   Client.didClose("foo.cpp");<br>
   EXPECT_THAT(Client.diagnostics("foo.cpp"), llvm::ValueIs(testing::IsEmpty()));<br>
<br>
diff  --git a/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp b/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp<br>
index d4450b31e5f38..45e55585ad5d0 100644<br>
--- a/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp<br>
+++ b/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp<br>
@@ -181,7 +181,7 @@ o]]();<br>
           Diag(Test.range("unk"), "use of undeclared identifier 'unknown'"),<br>
           Diag(Test.range("type"),<br>
                "cannot initialize a variable of type 'double' with an lvalue "<br>
-               "of type 'const char [4]'"),<br>
+               "of type 'const char[4]'"),<br>
           Diag(Test.range("nomember"), "no member named 'y' in 'Foo'"),<br>
           Diag(Test.range("nomembernamespace"),<br>
                "no member named 'test' in namespace 'test'"),<br>
<br>
diff  --git a/clang-tools-extra/clangd/unittests/HoverTests.cpp b/clang-tools-extra/clangd/unittests/HoverTests.cpp<br>
index 72efe5ab6ad87..6395da91463ae 100644<br>
--- a/clang-tools-extra/clangd/unittests/HoverTests.cpp<br>
+++ b/clang-tools-extra/clangd/unittests/HoverTests.cpp<br>
@@ -899,7 +899,7 @@ class Foo {})cpp";<br>
        [](HoverInfo &HI) {<br>
          HI.Name = "expression";<br>
          HI.Kind = index::SymbolKind::Unknown;<br>
-         HI.Type = "int [10]";<br>
+         HI.Type = "int[10]";<br>
          HI.Value = "{1}";<br>
        }}};<br>
   for (const auto &Case : Cases) {<br>
<br>
diff  --git a/clang/bindings/python/tests/cindex/test_type.py b/clang/bindings/python/tests/cindex/test_type.py<br>
index bcdbeff9d99c4..0ef98e9555be2 100644<br>
--- a/clang/bindings/python/tests/cindex/test_type.py<br>
+++ b/clang/bindings/python/tests/cindex/test_type.py<br>
@@ -175,10 +175,10 @@ def test_type_spelling(self):<br>
         self.assertIsNotNone(i)<br>
         self.assertIsNotNone(x)<br>
         self.assertIsNotNone(v)<br>
-        self.assertEqual(c.type.spelling, "int [5]")<br>
-        self.assertEqual(i.type.spelling, "int []")<br>
+        self.assertEqual(c.type.spelling, "int[5]")<br>
+        self.assertEqual(i.type.spelling, "int[]")<br>
         self.assertEqual(x.type.spelling, "int")<br>
-        self.assertEqual(v.type.spelling, "int [x]")<br>
+        self.assertEqual(v.type.spelling, "int[x]")<br>
<br>
     def test_typekind_spelling(self):<br>
         """Ensure TypeKind.spelling works."""<br>
<br>
diff  --git a/clang/lib/AST/TypePrinter.cpp b/clang/lib/AST/TypePrinter.cpp<br>
index e573037db10e5..cceed1ca26f33 100644<br>
--- a/clang/lib/AST/TypePrinter.cpp<br>
+++ b/clang/lib/AST/TypePrinter.cpp<br>
@@ -503,7 +503,6 @@ void TypePrinter::printMemberPointerAfter(const MemberPointerType *T,<br>
 void TypePrinter::printConstantArrayBefore(const ConstantArrayType *T,<br>
                                            raw_ostream &OS) {<br>
   IncludeStrongLifetimeRAII Strong(Policy);<br>
-  SaveAndRestore<bool> NonEmptyPH(HasEmptyPlaceHolder, false);<br>
   printBefore(T->getElementType(), OS);<br>
 }<br>
<br>
@@ -526,7 +525,6 @@ void TypePrinter::printConstantArrayAfter(const ConstantArrayType *T,<br>
 void TypePrinter::printIncompleteArrayBefore(const IncompleteArrayType *T,<br>
                                              raw_ostream &OS) {<br>
   IncludeStrongLifetimeRAII Strong(Policy);<br>
-  SaveAndRestore<bool> NonEmptyPH(HasEmptyPlaceHolder, false);<br>
   printBefore(T->getElementType(), OS);<br>
 }<br>
<br>
@@ -539,7 +537,6 @@ void TypePrinter::printIncompleteArrayAfter(const IncompleteArrayType *T,<br>
 void TypePrinter::printVariableArrayBefore(const VariableArrayType *T,<br>
                                            raw_ostream &OS) {<br>
   IncludeStrongLifetimeRAII Strong(Policy);<br>
-  SaveAndRestore<bool> NonEmptyPH(HasEmptyPlaceHolder, false);<br>
   printBefore(T->getElementType(), OS);<br>
 }<br>
<br>
@@ -586,7 +583,6 @@ void TypePrinter::printDependentSizedArrayBefore(<br>
                                                const DependentSizedArrayType *T,<br>
                                                raw_ostream &OS) {<br>
   IncludeStrongLifetimeRAII Strong(Policy);<br>
-  SaveAndRestore<bool> NonEmptyPH(HasEmptyPlaceHolder, false);<br>
   printBefore(T->getElementType(), OS);<br>
 }<br>
<br>
<br>
diff  --git a/clang/test/ARCMT/<a href="http://cxx-checking.mm" rel="noreferrer" target="_blank">cxx-checking.mm</a> b/clang/test/ARCMT/<a href="http://cxx-checking.mm" rel="noreferrer" target="_blank">cxx-checking.mm</a><br>
index d6441def09b40..f8836d9d7cd8d 100644<br>
--- a/clang/test/ARCMT/<a href="http://cxx-checking.mm" rel="noreferrer" target="_blank">cxx-checking.mm</a><br>
+++ b/clang/test/ARCMT/<a href="http://cxx-checking.mm" rel="noreferrer" target="_blank">cxx-checking.mm</a><br>
@@ -80,7 +80,7 @@<br>
<br>
 struct FlexibleArrayMember0 {<br>
   int length;<br>
-  id array[]; // expected-error{{flexible array member 'array' of type '__strong id []' with non-trivial destruction}}<br>
+  id array[]; // expected-error{{flexible array member 'array' of type '__strong id[]' with non-trivial destruction}}<br>
 };<br>
<br>
 struct FlexibleArrayMember1 {<br>
<br>
diff  --git a/clang/test/AST/ast-dump-APValue-arithmetic.cpp b/clang/test/AST/ast-dump-APValue-arithmetic.cpp<br>
index e51c1cee04cfe..c474e4be0e8c7 100644<br>
--- a/clang/test/AST/ast-dump-APValue-arithmetic.cpp<br>
+++ b/clang/test/AST/ast-dump-APValue-arithmetic.cpp<br>
@@ -36,13 +36,13 @@ void Test() {<br>
   // CHECK-NEXT:  |   |-value: ComplexFloat 3.141500e+00 + 4.200000e+01i<br>
<br>
   constexpr _Complex int ArrayOfComplexInt[10] = {ComplexInt, ComplexInt, ComplexInt, ComplexInt};<br>
-  // CHECK:  | `-VarDecl {{.*}} <col:{{.*}}, col:{{.*}}> col:{{.*}} ArrayOfComplexInt 'const _Complex int [10]' constexpr cinit<br>
+  // CHECK:  | `-VarDecl {{.*}} <col:{{.*}}, col:{{.*}}> col:{{.*}} ArrayOfComplexInt 'const _Complex int[10]' constexpr cinit<br>
   // CHECK-NEXT:  |   |-value: Array size=10<br>
   // CHECK-NEXT:  |   | |-elements: ComplexInt 42 + 24i, ComplexInt 42 + 24i, ComplexInt 42 + 24i, ComplexInt 42 + 24i<br>
   // CHECK-NEXT:  |   | `-filler: 6 x ComplexInt 0 + 0i<br>
<br>
   constexpr _Complex float ArrayOfComplexFloat[10] = {ComplexFloat, ComplexFloat, ComplexInt, ComplexInt};<br>
-  // CHECK:    `-VarDecl {{.*}} <col:{{.*}}, col:{{.*}}> col:{{.*}} ArrayOfComplexFloat 'const _Complex float [10]' constexpr cinit<br>
+  // CHECK:    `-VarDecl {{.*}} <col:{{.*}}, col:{{.*}}> col:{{.*}} ArrayOfComplexFloat 'const _Complex float[10]' constexpr cinit<br>
   // CHECK-NEXT:      |-value: Array size=10<br>
   // CHECK-NEXT:      | |-elements: ComplexFloat 3.141500e+00 + 4.200000e+01i, ComplexFloat 3.141500e+00 + 4.200000e+01i, ComplexFloat 4.200000e+01 + 2.400000e+01i, ComplexFloat 4.200000e+01 + 2.400000e+01i<br>
   // CHECK-NEXT:      | `-filler: 6 x ComplexFloat 0.000000e+00 + 0.000000e+00i<br>
<br>
diff  --git a/clang/test/AST/ast-dump-APValue-array.cpp b/clang/test/AST/ast-dump-APValue-array.cpp<br>
index 72e519208ac56..d5fc521da448e 100644<br>
--- a/clang/test/AST/ast-dump-APValue-array.cpp<br>
+++ b/clang/test/AST/ast-dump-APValue-array.cpp<br>
@@ -43,7 +43,7 @@ void Test() {<br>
   constexpr float arr_f[3][5] = {<br>
       {1, 2, 3, 4, 5},<br>
   };<br>
-  // CHECK:  | `-VarDecl {{.*}} <line:{{.*}}, line:{{.*}}> line:{{.*}} arr_f 'const float [3][5]' constexpr cinit<br>
+  // CHECK:  | `-VarDecl {{.*}} <line:{{.*}}, line:{{.*}}> line:{{.*}} arr_f 'const float[3][5]' constexpr cinit<br>
   // CHECK-NEXT:  |   |-value: Array size=3<br>
   // CHECK-NEXT:  |   | |-element: Array size=5<br>
   // CHECK-NEXT:  |   | | |-elements: Float 1.000000e+00, Float 2.000000e+00, Float 3.000000e+00, Float 4.000000e+00<br>
@@ -52,7 +52,7 @@ void Test() {<br>
   // CHECK-NEXT:  |   |   `-filler: 5 x Float 0.000000e+00<br>
<br>
   constexpr S0 arr_s0[2] = {{1, 2}, {3, 4}};<br>
-  // CHECK:  | `-VarDecl {{.*}} <col:{{.*}}, col:{{.*}}> col:{{.*}} arr_s0 'const S0 [2]' constexpr cinit<br>
+  // CHECK:  | `-VarDecl {{.*}} <col:{{.*}}, col:{{.*}}> col:{{.*}} arr_s0 'const S0[2]' constexpr cinit<br>
   // CHECK-NEXT:  |   |-value: Array size=2<br>
   // CHECK-NEXT:  |   | |-element: Struct<br>
   // CHECK-NEXT:  |   | | `-field: Array size=2<br>
@@ -62,12 +62,12 @@ void Test() {<br>
   // CHECK-NEXT:  |   |     `-elements: Int 3, Int 4<br>
<br>
   constexpr U0 arr_u0[2] = {{.i = 42}, {.f = 3.1415f}};<br>
-  // CHECK:  | `-VarDecl {{.*}} <col:{{.*}}, col:{{.*}}> col:{{.*}} arr_u0 'const U0 [2]' constexpr cinit<br>
+  // CHECK:  | `-VarDecl {{.*}} <col:{{.*}}, col:{{.*}}> col:{{.*}} arr_u0 'const U0[2]' constexpr cinit<br>
   // CHECK-NEXT:  |   |-value: Array size=2<br>
   // CHECK-NEXT:  |   | `-elements: Union .i Int 42, Union .f Float 3.141500e+00<br>
<br>
   constexpr S1 arr_s1[2] = {};<br>
-  // CHECK:    `-VarDecl {{.*}} <col:{{.*}}, col:{{.*}}> col:{{.*}} arr_s1 'const S1 [2]' constexpr cinit<br>
+  // CHECK:    `-VarDecl {{.*}} <col:{{.*}}, col:{{.*}}> col:{{.*}} arr_s1 'const S1[2]' constexpr cinit<br>
   // CHECK-NEXT:      |-value: Array size=2<br>
   // CHECK-NEXT:      | |-element: Struct<br>
   // CHECK-NEXT:      | | |-field: Struct<br>
<br>
diff  --git a/clang/test/AST/ast-dump-array.cpp b/clang/test/AST/ast-dump-array.cpp<br>
index 2e94f7769e0bd..609ad31a0e420 100644<br>
--- a/clang/test/AST/ast-dump-array.cpp<br>
+++ b/clang/test/AST/ast-dump-array.cpp<br>
@@ -13,7 +13,7 @@ void testArrayInitExpr()<br>
     int a[10];<br>
     auto l = [a]{<br>
     };<br>
-    // CHECK: |-ArrayInitLoopExpr 0x{{[^ ]*}} <col:15> 'int [10]'<br>
+    // CHECK: |-ArrayInitLoopExpr 0x{{[^ ]*}} <col:15> 'int[10]'<br>
     // CHECK: |     `-ArrayInitIndexExpr 0x{{[^ ]*}} <<invalid sloc>> 'unsigned long'<br>
 }<br>
<br>
@@ -22,7 +22,7 @@ class array {<br>
   T data[Size];<br>
<br>
   using array_T_size = T[Size];<br>
-  // CHECK: `-DependentSizedArrayType 0x{{[^ ]*}} 'T [Size]' dependent   <col:25, col:30><br>
+  // CHECK: `-DependentSizedArrayType 0x{{[^ ]*}} 'T[Size]' dependent   <col:25, col:30><br>
   using const_array_T_size = const T[Size];<br>
-  // CHECK: `-DependentSizedArrayType 0x{{[^ ]*}} 'const T [Size]' dependent   <col:37, col:42><br>
+  // CHECK: `-DependentSizedArrayType 0x{{[^ ]*}} 'const T[Size]' dependent   <col:37, col:42><br>
 };<br>
<br>
diff  --git a/clang/test/AST/ast-dump-color.cpp b/clang/test/AST/ast-dump-color.cpp<br>
index baaf9729c7ce7..87797f6bffc5b 100644<br>
--- a/clang/test/AST/ast-dump-color.cpp<br>
+++ b/clang/test/AST/ast-dump-color.cpp<br>
@@ -32,7 +32,7 @@ struct Invalid {<br>
 //CHECK: {{^}}[[GREEN:.\[0;1;32m]]TranslationUnitDecl[[RESET:.\[0m]][[Yellow:.\[0;33m]] 0x{{[0-9a-fA-F]*}}[[RESET]] <[[Yellow]]<invalid sloc>[[RESET]]> [[Yellow]]<invalid sloc>[[RESET]]{{$}}<br>
 //CHECK: {{^}}[[Blue:.\[0;34m]]|-[[RESET]][[GREEN]]TypedefDecl[[RESET]][[Yellow]] 0x{{[0-9a-fA-F]*}}[[RESET]] <[[Yellow]]<invalid sloc>[[RESET]]> [[Yellow]]<invalid sloc>[[RESET]] implicit[[CYAN:.\[0;1;36m]] __int128_t[[RESET]] [[Green:.\[0;32m]]'__int128'[[RESET]]{{$}}<br>
 //CHECK: {{^}}[[Blue]]|-[[RESET]][[GREEN]]TypedefDecl[[RESET]][[Yellow]] 0x{{[0-9a-fA-F]*}}[[RESET]] <[[Yellow]]<invalid sloc>[[RESET]]> [[Yellow]]<invalid sloc>[[RESET]] implicit[[CYAN]] __uint128_t[[RESET]] [[Green]]'unsigned __int128'[[RESET]]{{$}}<br>
-//CHECK: {{^}}[[Blue]]|-[[RESET]][[GREEN]]TypedefDecl[[RESET]][[Yellow]] 0x{{[0-9a-fA-F]*}}[[RESET]] <[[Yellow]]<invalid sloc>[[RESET]]> [[Yellow]]<invalid sloc>[[RESET]] implicit[[CYAN]] __builtin_va_list[[RESET]] [[Green]]'__va_list_tag [1]'[[RESET]]{{$}}<br>
+//CHECK: {{^}}[[Blue]]|-[[RESET]][[GREEN]]TypedefDecl[[RESET]][[Yellow]] 0x{{[0-9a-fA-F]*}}[[RESET]] <[[Yellow]]<invalid sloc>[[RESET]]> [[Yellow]]<invalid sloc>[[RESET]] implicit[[CYAN]] __builtin_va_list[[RESET]] [[Green]]'__va_list_tag[1]'[[RESET]]{{$}}<br>
 //CHECK: {{^}}[[Blue]]|-[[RESET]][[GREEN]]VarDecl[[RESET]][[Yellow]] 0x{{[0-9a-fA-F]*}}[[RESET]] <[[Yellow]]{{.*}}ast-dump-color.cpp:6:1[[RESET]], [[Yellow]]col:5[[RESET]]> [[Yellow]]col:5[[RESET]][[CYAN]] Test[[RESET]] [[Green]]'int'[[RESET]]<br>
 //CHECK: {{^}}[[Blue]]| |-[[RESET]][[BLUE:.\[0;1;34m]]UnusedAttr[[RESET]][[Yellow]] 0x{{[0-9a-fA-F]*}}[[RESET]] <[[Yellow]]col:25[[RESET]]> unused{{$}}<br>
 //CHECK: {{^}}[[Blue]]| `-[[RESET]][[Blue]]FullComment[[RESET]][[Yellow]] 0x{{[0-9a-fA-F]*}}[[RESET]] <[[Yellow]]line:4:4[[RESET]], [[Yellow]]line:5:8[[RESET]]>{{$}}<br>
<br>
diff  --git a/clang/test/AST/ast-dump-expr-json.c b/clang/test/AST/ast-dump-expr-json.c<br>
index 3e288b9f0e706..c322625cb2b2a 100644<br>
--- a/clang/test/AST/ast-dump-expr-json.c<br>
+++ b/clang/test/AST/ast-dump-expr-json.c<br>
@@ -4689,7 +4689,7 @@ void PrimaryExpressions(int a) {<br>
 // CHECK-NEXT:         }<br>
 // CHECK-NEXT:        },<br>
 // CHECK-NEXT:        "type": {<br>
-// CHECK-NEXT:         "qualType": "int [4]"<br>
+// CHECK-NEXT:         "qualType": "int[4]"<br>
 // CHECK-NEXT:        },<br>
 // CHECK-NEXT:        "valueCategory": "lvalue",<br>
 // CHECK-NEXT:        "inner": [<br>
@@ -4709,7 +4709,7 @@ void PrimaryExpressions(int a) {<br>
 // CHECK-NEXT:           }<br>
 // CHECK-NEXT:          },<br>
 // CHECK-NEXT:          "type": {<br>
-// CHECK-NEXT:           "qualType": "int [4]"<br>
+// CHECK-NEXT:           "qualType": "int[4]"<br>
 // CHECK-NEXT:          },<br>
 // CHECK-NEXT:          "valueCategory": "prvalue",<br>
 // CHECK-NEXT:          "inner": [<br>
@@ -5106,7 +5106,7 @@ void PrimaryExpressions(int a) {<br>
 // CHECK-NEXT:         }<br>
 // CHECK-NEXT:        },<br>
 // CHECK-NEXT:        "type": {<br>
-// CHECK-NEXT:         "qualType": "char [2]"<br>
+// CHECK-NEXT:         "qualType": "char[2]"<br>
 // CHECK-NEXT:        },<br>
 // CHECK-NEXT:        "valueCategory": "lvalue",<br>
 // CHECK-NEXT:        "value": "\"a\""<br>
@@ -5151,7 +5151,7 @@ void PrimaryExpressions(int a) {<br>
 // CHECK-NEXT:         }<br>
 // CHECK-NEXT:        },<br>
 // CHECK-NEXT:        "type": {<br>
-// CHECK-NEXT:         "qualType": "int [2]"<br>
+// CHECK-NEXT:         "qualType": "int[2]"<br>
 // CHECK-NEXT:        },<br>
 // CHECK-NEXT:        "valueCategory": "lvalue",<br>
 // CHECK-NEXT:        "value": "L\"a\""<br>
@@ -5196,7 +5196,7 @@ void PrimaryExpressions(int a) {<br>
 // CHECK-NEXT:         }<br>
 // CHECK-NEXT:        },<br>
 // CHECK-NEXT:        "type": {<br>
-// CHECK-NEXT:         "qualType": "char [2]"<br>
+// CHECK-NEXT:         "qualType": "char[2]"<br>
 // CHECK-NEXT:        },<br>
 // CHECK-NEXT:        "valueCategory": "lvalue",<br>
 // CHECK-NEXT:        "value": "u8\"a\""<br>
@@ -5241,7 +5241,7 @@ void PrimaryExpressions(int a) {<br>
 // CHECK-NEXT:         }<br>
 // CHECK-NEXT:        },<br>
 // CHECK-NEXT:        "type": {<br>
-// CHECK-NEXT:         "qualType": "unsigned int [2]"<br>
+// CHECK-NEXT:         "qualType": "unsigned int[2]"<br>
 // CHECK-NEXT:        },<br>
 // CHECK-NEXT:        "valueCategory": "lvalue",<br>
 // CHECK-NEXT:        "value": "U\"a\""<br>
@@ -5286,7 +5286,7 @@ void PrimaryExpressions(int a) {<br>
 // CHECK-NEXT:         }<br>
 // CHECK-NEXT:        },<br>
 // CHECK-NEXT:        "type": {<br>
-// CHECK-NEXT:         "qualType": "unsigned short [2]"<br>
+// CHECK-NEXT:         "qualType": "unsigned short[2]"<br>
 // CHECK-NEXT:        },<br>
 // CHECK-NEXT:        "valueCategory": "lvalue",<br>
 // CHECK-NEXT:        "value": "u\"a\""<br>
<br>
diff  --git a/clang/test/AST/ast-dump-expr-json.cpp b/clang/test/AST/ast-dump-expr-json.cpp<br>
index b9c66b0fc90ec..3ef2f78551b67 100644<br>
--- a/clang/test/AST/ast-dump-expr-json.cpp<br>
+++ b/clang/test/AST/ast-dump-expr-json.cpp<br>
@@ -2003,7 +2003,7 @@ void TestNonADLCall3() {<br>
 // CHECK-NEXT:           }<br>
 // CHECK-NEXT:          },<br>
 // CHECK-NEXT:          "type": {<br>
-// CHECK-NEXT:           "qualType": "int [2]"<br>
+// CHECK-NEXT:           "qualType": "int[2]"<br>
 // CHECK-NEXT:          },<br>
 // CHECK-NEXT:          "valueCategory": "prvalue",<br>
 // CHECK-NEXT:          "inner": [<br>
<br>
diff  --git a/clang/test/AST/ast-dump-expr-json.m b/clang/test/AST/ast-dump-expr-json.m<br>
index 9b30c5957e3b3..062f6c06d1aa7 100644<br>
--- a/clang/test/AST/ast-dump-expr-json.m<br>
+++ b/clang/test/AST/ast-dump-expr-json.m<br>
@@ -181,7 +181,7 @@ void TestObjCBoolLiteral() {<br>
 // CHECK-NEXT:         }<br>
 // CHECK-NEXT:        },<br>
 // CHECK-NEXT:        "type": {<br>
-// CHECK-NEXT:         "qualType": "char [2]"<br>
+// CHECK-NEXT:         "qualType": "char[2]"<br>
 // CHECK-NEXT:        },<br>
 // CHECK-NEXT:        "valueCategory": "lvalue",<br>
 // CHECK-NEXT:        "encodedType": {<br>
@@ -228,7 +228,7 @@ void TestObjCBoolLiteral() {<br>
 // CHECK-NEXT:         }<br>
 // CHECK-NEXT:        },<br>
 // CHECK-NEXT:        "type": {<br>
-// CHECK-NEXT:         "qualType": "char [3]"<br>
+// CHECK-NEXT:         "qualType": "char[3]"<br>
 // CHECK-NEXT:        },<br>
 // CHECK-NEXT:        "valueCategory": "lvalue",<br>
 // CHECK-NEXT:        "encodedType": {<br>
@@ -3490,7 +3490,7 @@ void TestObjCBoolLiteral() {<br>
 // CHECK-NEXT:                 }<br>
 // CHECK-NEXT:                },<br>
 // CHECK-NEXT:                "type": {<br>
-// CHECK-NEXT:                 "qualType": "char [4]"<br>
+// CHECK-NEXT:                 "qualType": "char[4]"<br>
 // CHECK-NEXT:                },<br>
 // CHECK-NEXT:                "valueCategory": "lvalue",<br>
 // CHECK-NEXT:                "value": "\"key\""<br>
@@ -3698,7 +3698,7 @@ void TestObjCBoolLiteral() {<br>
 // CHECK-NEXT:             }<br>
 // CHECK-NEXT:            },<br>
 // CHECK-NEXT:            "type": {<br>
-// CHECK-NEXT:             "qualType": "char [4]"<br>
+// CHECK-NEXT:             "qualType": "char[4]"<br>
 // CHECK-NEXT:            },<br>
 // CHECK-NEXT:            "valueCategory": "lvalue",<br>
 // CHECK-NEXT:            "value": "\"key\""<br>
@@ -4177,7 +4177,7 @@ void TestObjCBoolLiteral() {<br>
 // CHECK-NEXT:                 }<br>
 // CHECK-NEXT:                },<br>
 // CHECK-NEXT:                "type": {<br>
-// CHECK-NEXT:                 "qualType": "char [4]"<br>
+// CHECK-NEXT:                 "qualType": "char[4]"<br>
 // CHECK-NEXT:                },<br>
 // CHECK-NEXT:                "valueCategory": "lvalue",<br>
 // CHECK-NEXT:                "value": "\"key\""<br>
@@ -4420,7 +4420,7 @@ void TestObjCBoolLiteral() {<br>
 // CHECK-NEXT:                 }<br>
 // CHECK-NEXT:                },<br>
 // CHECK-NEXT:                "type": {<br>
-// CHECK-NEXT:                 "qualType": "char [4]"<br>
+// CHECK-NEXT:                 "qualType": "char[4]"<br>
 // CHECK-NEXT:                },<br>
 // CHECK-NEXT:                "valueCategory": "lvalue",<br>
 // CHECK-NEXT:                "value": "\"key\""<br>
@@ -4560,7 +4560,7 @@ void TestObjCBoolLiteral() {<br>
 // CHECK-NEXT:               }<br>
 // CHECK-NEXT:              },<br>
 // CHECK-NEXT:              "type": {<br>
-// CHECK-NEXT:               "qualType": "char [4]"<br>
+// CHECK-NEXT:               "qualType": "char[4]"<br>
 // CHECK-NEXT:              },<br>
 // CHECK-NEXT:              "valueCategory": "lvalue",<br>
 // CHECK-NEXT:              "value": "\"key\""<br>
@@ -4745,7 +4745,7 @@ void TestObjCBoolLiteral() {<br>
 // CHECK-NEXT:                   }<br>
 // CHECK-NEXT:                  },<br>
 // CHECK-NEXT:                  "type": {<br>
-// CHECK-NEXT:                   "qualType": "char [4]"<br>
+// CHECK-NEXT:                   "qualType": "char[4]"<br>
 // CHECK-NEXT:                  },<br>
 // CHECK-NEXT:                  "valueCategory": "lvalue",<br>
 // CHECK-NEXT:                  "value": "\"key\""<br>
<br>
diff  --git a/clang/test/AST/ast-dump-expr.c b/clang/test/AST/ast-dump-expr.c<br>
index 1cb8ceaafbd0f..8605cd4bbaa16 100644<br>
--- a/clang/test/AST/ast-dump-expr.c<br>
+++ b/clang/test/AST/ast-dump-expr.c<br>
@@ -271,8 +271,8 @@ void PostfixOperators(int *a, struct S b, struct S *c) {<br>
<br>
   (int [4]){1, 2, 3, 4, };<br>
   // CHECK: ImplicitCastExpr<br>
-  // CHECK-NEXT: CompoundLiteralExpr 0x{{[^ ]*}} <col:3, col:25> 'int [4]' lvalue<br>
-  // CHECK-NEXT: InitListExpr 0x{{[^ ]*}} <col:12, col:25> 'int [4]'<br>
+  // CHECK-NEXT: CompoundLiteralExpr 0x{{[^ ]*}} <col:3, col:25> 'int[4]' lvalue<br>
+  // CHECK-NEXT: InitListExpr 0x{{[^ ]*}} <col:12, col:25> 'int[4]'<br>
   // CHECK-NEXT: IntegerLiteral 0x{{[^ ]*}} <col:13> 'int' 1<br>
   // CHECK-NEXT: IntegerLiteral 0x{{[^ ]*}} <col:16> 'int' 2<br>
   // CHECK-NEXT: IntegerLiteral 0x{{[^ ]*}} <col:19> 'int' 3<br>
@@ -300,23 +300,23 @@ void PrimaryExpressions(int a) {<br>
<br>
   "a";<br>
   // ImplicitCastExpr<br>
-  // CHECK: StringLiteral 0x{{[^ ]*}} <col:3> 'char [2]' lvalue "a"<br>
+  // CHECK: StringLiteral 0x{{[^ ]*}} <col:3> 'char[2]' lvalue "a"<br>
<br>
   L"a";<br>
   // ImplicitCastExpr<br>
-  // CHECK: StringLiteral 0x{{[^ ]*}} <col:3> 'int [2]' lvalue L"a"<br>
+  // CHECK: StringLiteral 0x{{[^ ]*}} <col:3> 'int[2]' lvalue L"a"<br>
<br>
   u8"a";<br>
   // ImplicitCastExpr<br>
-  // CHECK: StringLiteral 0x{{[^ ]*}} <col:3> 'char [2]' lvalue u8"a"<br>
+  // CHECK: StringLiteral 0x{{[^ ]*}} <col:3> 'char[2]' lvalue u8"a"<br>
<br>
   U"a";<br>
   // ImplicitCastExpr<br>
-  // CHECK: StringLiteral 0x{{[^ ]*}} <col:3> 'unsigned int [2]' lvalue U"a"<br>
+  // CHECK: StringLiteral 0x{{[^ ]*}} <col:3> 'unsigned int[2]' lvalue U"a"<br>
<br>
   u"a";<br>
   // ImplicitCastExpr<br>
-  // CHECK: StringLiteral 0x{{[^ ]*}} <col:3> 'unsigned short [2]' lvalue u"a"<br>
+  // CHECK: StringLiteral 0x{{[^ ]*}} <col:3> 'unsigned short[2]' lvalue u"a"<br>
<br>
   1;<br>
   // CHECK: IntegerLiteral 0x{{[^ ]*}} <line:[[@LINE-1]]:3> 'int' 1<br>
<br>
diff  --git a/clang/test/AST/ast-dump-expr.cpp b/clang/test/AST/ast-dump-expr.cpp<br>
index 747a6a5cd539b..8b890860e2e32 100644<br>
--- a/clang/test/AST/ast-dump-expr.cpp<br>
+++ b/clang/test/AST/ast-dump-expr.cpp<br>
@@ -147,7 +147,7 @@ void UnaryExpressions(int *p) {<br>
   // CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:18> 'int *' array Function 0x{{[^ ]*}} 'operator new[]' 'void *(unsigned long)'<br>
   // CHECK-NEXT: ImplicitCastExpr<br>
   // CHECK-NEXT: IntegerLiteral 0x{{[^ ]*}} <col:11> 'int' 2<br>
-  // CHECK-NEXT: InitListExpr 0x{{[^ ]*}} <col:13, col:18> 'int [2]'<br>
+  // CHECK-NEXT: InitListExpr 0x{{[^ ]*}} <col:13, col:18> 'int[2]'<br>
   // CHECK-NEXT: IntegerLiteral 0x{{[^ ]*}} <col:14> 'int' 1<br>
   // CHECK-NEXT: IntegerLiteral 0x{{[^ ]*}} <col:17> 'int' 2<br>
<br>
<br>
diff  --git a/clang/test/AST/ast-dump-file-line-json.c b/clang/test/AST/ast-dump-file-line-json.c<br>
index e2bc038b462e7..d4899d8fbbe96 100644<br>
--- a/clang/test/AST/ast-dump-file-line-json.c<br>
+++ b/clang/test/AST/ast-dump-file-line-json.c<br>
@@ -137,14 +137,14 @@ int e;<br>
 // CHECK-NEXT:    "isImplicit": true,<br>
 // CHECK-NEXT:    "name": "__builtin_va_list",<br>
 // CHECK-NEXT:    "type": {<br>
-// CHECK-NEXT:     "qualType": "struct __va_list_tag [1]"<br>
+// CHECK-NEXT:     "qualType": "struct __va_list_tag[1]"<br>
 // CHECK-NEXT:    },<br>
 // CHECK-NEXT:    "inner": [<br>
 // CHECK-NEXT:     {<br>
 // CHECK-NEXT:      "id": "0x{{.*}}",<br>
 // CHECK-NEXT:      "kind": "ConstantArrayType",<br>
 // CHECK-NEXT:      "type": {<br>
-// CHECK-NEXT:       "qualType": "struct __va_list_tag [1]"<br>
+// CHECK-NEXT:       "qualType": "struct __va_list_tag[1]"<br>
 // CHECK-NEXT:      },<br>
 // CHECK-NEXT:      "size": 1,<br>
 // CHECK-NEXT:      "inner": [<br>
<br>
diff  --git a/clang/test/AST/ast-dump-openmp-begin-declare-variant_9.c b/clang/test/AST/ast-dump-openmp-begin-declare-variant_9.c<br>
index b2ab2fac86604..41b70edaf0c80 100644<br>
--- a/clang/test/AST/ast-dump-openmp-begin-declare-variant_9.c<br>
+++ b/clang/test/AST/ast-dump-openmp-begin-declare-variant_9.c<br>
@@ -67,18 +67,18 @@ int main() {<br>
 // C-NEXT: `-FunctionDecl [[ADDR_28:0x[a-z0-9]*]] <line:24:1, line:32:1> line:24:5 main 'int ({{.*}})'<br>
 // C-NEXT:   `-CompoundStmt [[ADDR_29:0x[a-z0-9]*]] <col:12, line:32:1><br>
 // C-NEXT:     |-DeclStmt [[ADDR_30:0x[a-z0-9]*]] <line:26:3, col:12><br>
-// C-NEXT:     | `-VarDecl [[ADDR_31:0x[a-z0-9]*]] <col:3, col:11> col:6 used fns 'fd [2]'<br>
+// C-NEXT:     | `-VarDecl [[ADDR_31:0x[a-z0-9]*]] <col:3, col:11> col:6 used fns 'fd[2]'<br>
 // C-NEXT:     |-BinaryOperator [[ADDR_32:0x[a-z0-9]*]] <line:27:3, col:13> 'fd':'int (*)({{.*}})' '='<br>
 // C-NEXT:     | |-ArraySubscriptExpr [[ADDR_33:0x[a-z0-9]*]] <col:3, col:8> 'fd':'int (*)({{.*}})' lvalue<br>
 // C-NEXT:     | | |-ImplicitCastExpr [[ADDR_34:0x[a-z0-9]*]] <col:3> 'fd *' <ArrayToPointerDecay><br>
-// C-NEXT:     | | | `-DeclRefExpr [[ADDR_35:0x[a-z0-9]*]] <col:3> 'fd [2]' {{.*}}Var [[ADDR_31]] 'fns' 'fd [2]'<br>
+// C-NEXT:     | | | `-DeclRefExpr [[ADDR_35:0x[a-z0-9]*]] <col:3> 'fd[2]' {{.*}}Var [[ADDR_31]] 'fns' 'fd[2]'<br>
 // C-NEXT:     | | `-IntegerLiteral [[ADDR_36:0x[a-z0-9]*]] <col:7> 'int' 0<br>
 // C-NEXT:     | `-UnaryOperator [[ADDR_37:0x[a-z0-9]*]] <col:12, col:13> 'int (*)({{.*}})' prefix '&' cannot overflow<br>
 // C-NEXT:     |   `-DeclRefExpr [[ADDR_38:0x[a-z0-9]*]] <col:13> 'int ({{.*}})' Function [[ADDR_0]] 'also_before' 'int ({{.*}})'<br>
 // C-NEXT:     |-BinaryOperator [[ADDR_39:0x[a-z0-9]*]] <line:28:3, col:12> 'fd':'int (*)({{.*}})' '='<br>
 // C-NEXT:     | |-ArraySubscriptExpr [[ADDR_40:0x[a-z0-9]*]] <col:3, col:8> 'fd':'int (*)({{.*}})' lvalue<br>
 // C-NEXT:     | | |-ImplicitCastExpr [[ADDR_41:0x[a-z0-9]*]] <col:3> 'fd *' <ArrayToPointerDecay><br>
-// C-NEXT:     | | | `-DeclRefExpr [[ADDR_42:0x[a-z0-9]*]] <col:3> 'fd [2]' {{.*}}Var [[ADDR_31]] 'fns' 'fd [2]'<br>
+// C-NEXT:     | | | `-DeclRefExpr [[ADDR_42:0x[a-z0-9]*]] <col:3> 'fd[2]' {{.*}}Var [[ADDR_31]] 'fns' 'fd[2]'<br>
 // C-NEXT:     | | `-IntegerLiteral [[ADDR_43:0x[a-z0-9]*]] <col:7> 'int' 1<br>
 // C-NEXT:     | `-ImplicitCastExpr [[ADDR_44:0x[a-z0-9]*]] <col:12> 'int (*)({{.*}})' <FunctionToPointerDecay><br>
 // C-NEXT:     |   `-DeclRefExpr [[ADDR_45:0x[a-z0-9]*]] <col:12> 'int ({{.*}})' Function [[ADDR_17]] 'also_after' 'int ({{.*}})'<br>
@@ -98,7 +98,7 @@ int main() {<br>
 // C-NEXT:         |     `-ParenExpr [[ADDR_59:0x[a-z0-9]*]] <col:10, col:17> 'fd':'int (*)({{.*}})' lvalue<br>
 // C-NEXT:         |       `-ArraySubscriptExpr [[ADDR_60:0x[a-z0-9]*]] <col:11, col:16> 'fd':'int (*)({{.*}})' lvalue<br>
 // C-NEXT:         |         |-ImplicitCastExpr [[ADDR_61:0x[a-z0-9]*]] <col:11> 'fd *' <ArrayToPointerDecay><br>
-// C-NEXT:         |         | `-DeclRefExpr [[ADDR_62:0x[a-z0-9]*]] <col:11> 'fd [2]' {{.*}}Var [[ADDR_31]] 'fns' 'fd [2]'<br>
+// C-NEXT:         |         | `-DeclRefExpr [[ADDR_62:0x[a-z0-9]*]] <col:11> 'fd[2]' {{.*}}Var [[ADDR_31]] 'fns' 'fd[2]'<br>
 // C-NEXT:         |         `-IntegerLiteral [[ADDR_63:0x[a-z0-9]*]] <col:15> 'int' 0<br>
 // C-NEXT:         `-CallExpr [[ADDR_64:0x[a-z0-9]*]] <line:31:10, col:19> 'int'<br>
 // C-NEXT:           `-ImplicitCastExpr [[ADDR_65:0x[a-z0-9]*]] <col:10, col:17> 'fd':'int (*)({{.*}})' <LValueToRValue><br>
@@ -106,7 +106,7 @@ int main() {<br>
 // C-NEXT:               `-ArraySubscriptExpr [[ADDR_67:0x[a-z0-9]*]] <col:11, col:16> 'fd':'int (*)({{.*}})' lvalue<br>
 // C-NEXT:                 |-IntegerLiteral [[ADDR_68:0x[a-z0-9]*]] <col:11> 'int' 1<br>
 // C-NEXT:                 `-ImplicitCastExpr [[ADDR_69:0x[a-z0-9]*]] <col:13> 'fd *' <ArrayToPointerDecay><br>
-// C-NEXT:                   `-DeclRefExpr [[ADDR_70:0x[a-z0-9]*]] <col:13> 'fd [2]' {{.*}}Var [[ADDR_31]] 'fns' 'fd [2]'<br>
+// C-NEXT:                   `-DeclRefExpr [[ADDR_70:0x[a-z0-9]*]] <col:13> 'fd[2]' {{.*}}Var [[ADDR_31]] 'fns' 'fd[2]'<br>
<br>
 // CXX:      |-FunctionDecl [[ADDR_0:0x[a-z0-9]*]] <{{.*}}, line:7:1> line:5:5 used also_before 'int ({{.*}})'<br>
 // CXX-NEXT: | |-CompoundStmt [[ADDR_1:0x[a-z0-9]*]] <col:23, line:7:1><br>
@@ -140,18 +140,18 @@ int main() {<br>
 // CXX-NEXT: `-FunctionDecl [[ADDR_28:0x[a-z0-9]*]] <line:24:1, line:32:1> line:24:5 main 'int ({{.*}})'<br>
 // CXX-NEXT:   `-CompoundStmt [[ADDR_29:0x[a-z0-9]*]] <col:12, line:32:1><br>
 // CXX-NEXT:     |-DeclStmt [[ADDR_30:0x[a-z0-9]*]] <line:26:3, col:12><br>
-// CXX-NEXT:     | `-VarDecl [[ADDR_31:0x[a-z0-9]*]] <col:3, col:11> col:6 used fns 'fd [2]'<br>
+// CXX-NEXT:     | `-VarDecl [[ADDR_31:0x[a-z0-9]*]] <col:3, col:11> col:6 used fns 'fd[2]'<br>
 // CXX-NEXT:     |-BinaryOperator [[ADDR_32:0x[a-z0-9]*]] <line:27:3, col:13> 'fd':'int (*)({{.*}})' {{.*}}'='<br>
 // CXX-NEXT:     | |-ArraySubscriptExpr [[ADDR_33:0x[a-z0-9]*]] <col:3, col:8> 'fd':'int (*)({{.*}})' lvalue<br>
 // CXX-NEXT:     | | |-ImplicitCastExpr [[ADDR_34:0x[a-z0-9]*]] <col:3> 'fd *' <ArrayToPointerDecay><br>
-// CXX-NEXT:     | | | `-DeclRefExpr [[ADDR_35:0x[a-z0-9]*]] <col:3> 'fd [2]' {{.*}}Var [[ADDR_31]] 'fns' 'fd [2]'<br>
+// CXX-NEXT:     | | | `-DeclRefExpr [[ADDR_35:0x[a-z0-9]*]] <col:3> 'fd[2]' {{.*}}Var [[ADDR_31]] 'fns' 'fd[2]'<br>
 // CXX-NEXT:     | | `-IntegerLiteral [[ADDR_36:0x[a-z0-9]*]] <col:7> 'int' 0<br>
 // CXX-NEXT:     | `-UnaryOperator [[ADDR_37:0x[a-z0-9]*]] <col:12, col:13> 'int (*)({{.*}})' prefix '&' cannot overflow<br>
 // CXX-NEXT:     |   `-DeclRefExpr [[ADDR_38:0x[a-z0-9]*]] <col:13> 'int ({{.*}})' {{.*}}Function [[ADDR_0]] 'also_before' 'int ({{.*}})'<br>
 // CXX-NEXT:     |-BinaryOperator [[ADDR_39:0x[a-z0-9]*]] <line:28:3, col:12> 'fd':'int (*)({{.*}})' {{.*}}'='<br>
 // CXX-NEXT:     | |-ArraySubscriptExpr [[ADDR_40:0x[a-z0-9]*]] <col:3, col:8> 'fd':'int (*)({{.*}})' lvalue<br>
 // CXX-NEXT:     | | |-ImplicitCastExpr [[ADDR_41:0x[a-z0-9]*]] <col:3> 'fd *' <ArrayToPointerDecay><br>
-// CXX-NEXT:     | | | `-DeclRefExpr [[ADDR_42:0x[a-z0-9]*]] <col:3> 'fd [2]' {{.*}}Var [[ADDR_31]] 'fns' 'fd [2]'<br>
+// CXX-NEXT:     | | | `-DeclRefExpr [[ADDR_42:0x[a-z0-9]*]] <col:3> 'fd[2]' {{.*}}Var [[ADDR_31]] 'fns' 'fd[2]'<br>
 // CXX-NEXT:     | | `-IntegerLiteral [[ADDR_43:0x[a-z0-9]*]] <col:7> 'int' 1<br>
 // CXX-NEXT:     | `-ImplicitCastExpr [[ADDR_44:0x[a-z0-9]*]] <col:12> 'int (*)({{.*}})' <FunctionToPointerDecay><br>
 // CXX-NEXT:     |   `-DeclRefExpr [[ADDR_45:0x[a-z0-9]*]] <col:12> 'int ({{.*}})' {{.*}}Function [[ADDR_17]] 'also_after' 'int ({{.*}})'<br>
@@ -171,7 +171,7 @@ int main() {<br>
 // CXX-NEXT:         |     `-ParenExpr [[ADDR_59:0x[a-z0-9]*]] <col:10, col:17> 'fd':'int (*)({{.*}})' lvalue<br>
 // CXX-NEXT:         |       `-ArraySubscriptExpr [[ADDR_60:0x[a-z0-9]*]] <col:11, col:16> 'fd':'int (*)({{.*}})' lvalue<br>
 // CXX-NEXT:         |         |-ImplicitCastExpr [[ADDR_61:0x[a-z0-9]*]] <col:11> 'fd *' <ArrayToPointerDecay><br>
-// CXX-NEXT:         |         | `-DeclRefExpr [[ADDR_62:0x[a-z0-9]*]] <col:11> 'fd [2]' {{.*}}Var [[ADDR_31]] 'fns' 'fd [2]'<br>
+// CXX-NEXT:         |         | `-DeclRefExpr [[ADDR_62:0x[a-z0-9]*]] <col:11> 'fd[2]' {{.*}}Var [[ADDR_31]] 'fns' 'fd[2]'<br>
 // CXX-NEXT:         |         `-IntegerLiteral [[ADDR_63:0x[a-z0-9]*]] <col:15> 'int' 0<br>
 // CXX-NEXT:         `-CallExpr [[ADDR_64:0x[a-z0-9]*]] <line:31:10, col:19> 'int'<br>
 // CXX-NEXT:           `-ImplicitCastExpr [[ADDR_65:0x[a-z0-9]*]] <col:10, col:17> 'fd':'int (*)({{.*}})' <LValueToRValue><br>
@@ -179,4 +179,4 @@ int main() {<br>
 // CXX-NEXT:               `-ArraySubscriptExpr [[ADDR_67:0x[a-z0-9]*]] <col:11, col:16> 'fd':'int (*)({{.*}})' lvalue<br>
 // CXX-NEXT:                 |-IntegerLiteral [[ADDR_68:0x[a-z0-9]*]] <col:11> 'int' 1<br>
 // CXX-NEXT:                 `-ImplicitCastExpr [[ADDR_69:0x[a-z0-9]*]] <col:13> 'fd *' <ArrayToPointerDecay><br>
-// CXX-NEXT:                   `-DeclRefExpr [[ADDR_70:0x[a-z0-9]*]] <col:13> 'fd [2]' {{.*}}Var [[ADDR_31]] 'fns' 'fd [2]'<br>
+// CXX-NEXT:                   `-DeclRefExpr [[ADDR_70:0x[a-z0-9]*]] <col:13> 'fd[2]' {{.*}}Var [[ADDR_31]] 'fns' 'fd[2]'<br>
<br>
diff  --git a/clang/test/AST/ast-dump-records-json.cpp b/clang/test/AST/ast-dump-records-json.cpp<br>
index 2227a1fa33e0a..01deb82096dd5 100644<br>
--- a/clang/test/AST/ast-dump-records-json.cpp<br>
+++ b/clang/test/AST/ast-dump-records-json.cpp<br>
@@ -1338,7 +1338,7 @@ struct Derived6 : virtual public Bases... {<br>
 // CHECK-NEXT:    },<br>
 // CHECK-NEXT:    "name": "b",<br>
 // CHECK-NEXT:    "type": {<br>
-// CHECK-NEXT:     "qualType": "int [10]"<br>
+// CHECK-NEXT:     "qualType": "int[10]"<br>
 // CHECK-NEXT:    }<br>
 // CHECK-NEXT:   },<br>
 // CHECK-NEXT:   {<br>
@@ -1364,7 +1364,7 @@ struct Derived6 : virtual public Bases... {<br>
 // CHECK-NEXT:    },<br>
 // CHECK-NEXT:    "name": "c",<br>
 // CHECK-NEXT:    "type": {<br>
-// CHECK-NEXT:     "qualType": "int []"<br>
+// CHECK-NEXT:     "qualType": "int[]"<br>
 // CHECK-NEXT:    }<br>
 // CHECK-NEXT:   }<br>
 // CHECK-NEXT:  ]<br>
<br>
diff  --git a/clang/test/AST/ast-dump-records.c b/clang/test/AST/ast-dump-records.c<br>
index 52d841db2b472..c0fbac67bc491 100644<br>
--- a/clang/test/AST/ast-dump-records.c<br>
+++ b/clang/test/AST/ast-dump-records.c<br>
@@ -84,9 +84,9 @@ struct D {<br>
   int a;<br>
   // CHECK-NEXT: FieldDecl 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:7> col:7 a 'int'<br>
   int b[10];<br>
-  // CHECK-NEXT: FieldDecl 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:11> col:7 b 'int [10]'<br>
+  // CHECK-NEXT: FieldDecl 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:11> col:7 b 'int[10]'<br>
   int c[];<br>
-  // CHECK-NEXT: FieldDecl 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:9> col:7 c 'int []'<br>
+  // CHECK-NEXT: FieldDecl 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:9> col:7 c 'int[]'<br>
 };<br>
<br>
 union E;<br>
<br>
diff  --git a/clang/test/AST/ast-dump-records.cpp b/clang/test/AST/ast-dump-records.cpp<br>
index 0e375d2ce53ae..3dc087709a836 100644<br>
--- a/clang/test/AST/ast-dump-records.cpp<br>
+++ b/clang/test/AST/ast-dump-records.cpp<br>
@@ -132,9 +132,9 @@ struct D {<br>
   int a;<br>
   // CHECK-NEXT: FieldDecl 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:7> col:7 a 'int'<br>
   int b[10];<br>
-  // CHECK-NEXT: FieldDecl 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:11> col:7 b 'int [10]'<br>
+  // CHECK-NEXT: FieldDecl 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:11> col:7 b 'int[10]'<br>
   int c[];<br>
-  // CHECK-NEXT: FieldDecl 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:9> col:7 c 'int []'<br>
+  // CHECK-NEXT: FieldDecl 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:9> col:7 c 'int[]'<br>
 };<br>
<br>
 union E;<br>
<br>
diff  --git a/clang/test/AST/ast-dump-stmt-json.cpp b/clang/test/AST/ast-dump-stmt-json.cpp<br>
index 6c357b4491922..b8988cc16d430 100644<br>
--- a/clang/test/AST/ast-dump-stmt-json.cpp<br>
+++ b/clang/test/AST/ast-dump-stmt-json.cpp<br>
@@ -2965,7 +2965,7 @@ void TestDependentGenericSelectionExpr(Ty T) {<br>
 // CHECK-NEXT:        "name": "us",<br>
 // CHECK-NEXT:        "mangledName": "_ZZ17TestUnionInitListvE2us",<br>
 // CHECK-NEXT:        "type": {<br>
-// CHECK-NEXT:         "qualType": "U [3]"<br>
+// CHECK-NEXT:         "qualType": "U[3]"<br>
 // CHECK-NEXT:        },<br>
 // CHECK-NEXT:        "init": "c",<br>
 // CHECK-NEXT:        "inner": [<br>
@@ -2985,7 +2985,7 @@ void TestDependentGenericSelectionExpr(Ty T) {<br>
 // CHECK-NEXT:           }<br>
 // CHECK-NEXT:          },<br>
 // CHECK-NEXT:          "type": {<br>
-// CHECK-NEXT:           "qualType": "U [3]"<br>
+// CHECK-NEXT:           "qualType": "U[3]"<br>
 // CHECK-NEXT:          },<br>
 // CHECK-NEXT:          "valueCategory": "prvalue",<br>
 // CHECK-NEXT:          "array_filler": [<br>
@@ -4392,7 +4392,7 @@ void TestDependentGenericSelectionExpr(Ty T) {<br>
 // CHECK-NEXT:        "name": "vals",<br>
 // CHECK-NEXT:        "mangledName": "_ZZ13TestIterationvE4vals",<br>
 // CHECK-NEXT:        "type": {<br>
-// CHECK-NEXT:         "qualType": "int [10]"<br>
+// CHECK-NEXT:         "qualType": "int[10]"<br>
 // CHECK-NEXT:        }<br>
 // CHECK-NEXT:       }<br>
 // CHECK-NEXT:      ]<br>
@@ -4478,7 +4478,7 @@ void TestDependentGenericSelectionExpr(Ty T) {<br>
 // CHECK-NEXT:             }<br>
 // CHECK-NEXT:            },<br>
 // CHECK-NEXT:            "type": {<br>
-// CHECK-NEXT:             "qualType": "int [10]"<br>
+// CHECK-NEXT:             "qualType": "int[10]"<br>
 // CHECK-NEXT:            },<br>
 // CHECK-NEXT:            "valueCategory": "lvalue",<br>
 // CHECK-NEXT:            "referencedDecl": {<br>
@@ -4486,7 +4486,7 @@ void TestDependentGenericSelectionExpr(Ty T) {<br>
 // CHECK-NEXT:             "kind": "VarDecl",<br>
 // CHECK-NEXT:             "name": "vals",<br>
 // CHECK-NEXT:             "type": {<br>
-// CHECK-NEXT:              "qualType": "int [10]"<br>
+// CHECK-NEXT:              "qualType": "int[10]"<br>
 // CHECK-NEXT:             }<br>
 // CHECK-NEXT:            }<br>
 // CHECK-NEXT:           }<br>
@@ -4577,7 +4577,7 @@ void TestDependentGenericSelectionExpr(Ty T) {<br>
 // CHECK-NEXT:               }<br>
 // CHECK-NEXT:              },<br>
 // CHECK-NEXT:              "type": {<br>
-// CHECK-NEXT:               "qualType": "int [10]"<br>
+// CHECK-NEXT:               "qualType": "int[10]"<br>
 // CHECK-NEXT:              },<br>
 // CHECK-NEXT:              "valueCategory": "lvalue",<br>
 // CHECK-NEXT:              "referencedDecl": {<br>
@@ -4699,7 +4699,7 @@ void TestDependentGenericSelectionExpr(Ty T) {<br>
 // CHECK-NEXT:                 }<br>
 // CHECK-NEXT:                },<br>
 // CHECK-NEXT:                "type": {<br>
-// CHECK-NEXT:                 "qualType": "int [10]"<br>
+// CHECK-NEXT:                 "qualType": "int[10]"<br>
 // CHECK-NEXT:                },<br>
 // CHECK-NEXT:                "valueCategory": "lvalue",<br>
 // CHECK-NEXT:                "referencedDecl": {<br>
@@ -6039,7 +6039,7 @@ void TestDependentGenericSelectionExpr(Ty T) {<br>
 // CHECK-NEXT:             }<br>
 // CHECK-NEXT:            },<br>
 // CHECK-NEXT:            "type": {<br>
-// CHECK-NEXT:             "qualType": "int [10]"<br>
+// CHECK-NEXT:             "qualType": "int[10]"<br>
 // CHECK-NEXT:            },<br>
 // CHECK-NEXT:            "valueCategory": "lvalue",<br>
 // CHECK-NEXT:            "referencedDecl": {<br>
@@ -6047,7 +6047,7 @@ void TestDependentGenericSelectionExpr(Ty T) {<br>
 // CHECK-NEXT:             "kind": "VarDecl",<br>
 // CHECK-NEXT:             "name": "vals",<br>
 // CHECK-NEXT:             "type": {<br>
-// CHECK-NEXT:              "qualType": "int [10]"<br>
+// CHECK-NEXT:              "qualType": "int[10]"<br>
 // CHECK-NEXT:             }<br>
 // CHECK-NEXT:            }<br>
 // CHECK-NEXT:           }<br>
@@ -6138,7 +6138,7 @@ void TestDependentGenericSelectionExpr(Ty T) {<br>
 // CHECK-NEXT:               }<br>
 // CHECK-NEXT:              },<br>
 // CHECK-NEXT:              "type": {<br>
-// CHECK-NEXT:               "qualType": "int [10]"<br>
+// CHECK-NEXT:               "qualType": "int[10]"<br>
 // CHECK-NEXT:              },<br>
 // CHECK-NEXT:              "valueCategory": "lvalue",<br>
 // CHECK-NEXT:              "referencedDecl": {<br>
@@ -6260,7 +6260,7 @@ void TestDependentGenericSelectionExpr(Ty T) {<br>
 // CHECK-NEXT:                 }<br>
 // CHECK-NEXT:                },<br>
 // CHECK-NEXT:                "type": {<br>
-// CHECK-NEXT:                 "qualType": "int [10]"<br>
+// CHECK-NEXT:                 "qualType": "int[10]"<br>
 // CHECK-NEXT:                },<br>
 // CHECK-NEXT:                "valueCategory": "lvalue",<br>
 // CHECK-NEXT:                "referencedDecl": {<br>
<br>
diff  --git a/clang/test/AST/ast-dump-stmt.cpp b/clang/test/AST/ast-dump-stmt.cpp<br>
index 47e1ac4071d9a..4f73d39d4af21 100644<br>
--- a/clang/test/AST/ast-dump-stmt.cpp<br>
+++ b/clang/test/AST/ast-dump-stmt.cpp<br>
@@ -97,8 +97,8 @@ union U {<br>
 void TestUnionInitList()<br>
 {<br>
   U us[3] = {1};<br>
-// CHECK: VarDecl {{.+}} <col:3, col:15> col:5 us 'U [3]' cinit<br>
-// CHECK-NEXT: `-InitListExpr {{.+}} <col:13, col:15> 'U [3]'<br>
+// CHECK: VarDecl {{.+}} <col:3, col:15> col:5 us 'U[3]' cinit<br>
+// CHECK-NEXT: `-InitListExpr {{.+}} <col:13, col:15> 'U[3]'<br>
 // CHECK-NEXT:   |-array_filler: InitListExpr {{.+}} <col:15> 'U' field Field {{.+}} 'i' 'int'<br>
 // CHECK-NEXT:   `-InitListExpr {{.+}} <col:14> 'U' field Field {{.+}} 'i' 'int'<br>
 // CHECK-NEXT:     `-IntegerLiteral {{.+}} <col:14> 'int' 1<br>
@@ -196,16 +196,16 @@ void TestIteration() {<br>
   // CHECK-NEXT: <<<NULL>>><br>
   // CHECK-NEXT: DeclStmt<br>
   // CHECK-NEXT: VarDecl 0x{{[^ ]*}} <col:16> col:16 implicit used __range1 'int (&)[10]' cinit<br>
-  // CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:16> 'int [10]' lvalue Var 0x{{[^ ]*}} 'vals' 'int [10]'<br>
+  // CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:16> 'int[10]' lvalue Var 0x{{[^ ]*}} 'vals' 'int[10]'<br>
   // CHECK-NEXT: DeclStmt<br>
   // CHECK-NEXT: VarDecl 0x{{[^ ]*}} <col:14> col:14 implicit used __begin1 'int *':'int *' cinit<br>
   // CHECK-NEXT: ImplicitCastExpr<br>
-  // CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:14> 'int [10]' lvalue Var 0x{{[^ ]*}} '__range1' 'int (&)[10]'<br>
+  // CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:14> 'int[10]' lvalue Var 0x{{[^ ]*}} '__range1' 'int (&)[10]'<br>
   // CHECK-NEXT: DeclStmt<br>
   // CHECK-NEXT: VarDecl 0x{{[^ ]*}} <col:14, col:16> col:14 implicit used __end1 'int *':'int *' cinit<br>
   // CHECK-NEXT: BinaryOperator 0x{{[^ ]*}} <col:14, col:16> 'int *' '+'<br>
   // CHECK-NEXT: ImplicitCastExpr<br>
-  // CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:14> 'int [10]' lvalue Var 0x{{[^ ]*}} '__range1' 'int (&)[10]'<br>
+  // CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:14> 'int[10]' lvalue Var 0x{{[^ ]*}} '__range1' 'int (&)[10]'<br>
   // CHECK-NEXT: IntegerLiteral 0x{{[^ ]*}} <col:16> 'long' 10<br>
   // CHECK-NEXT: BinaryOperator 0x{{[^ ]*}} <col:14> 'bool' '!='<br>
   // CHECK-NEXT: ImplicitCastExpr<br>
@@ -264,16 +264,16 @@ void TestIteration() {<br>
   // CHECK-NEXT: VarDecl 0x{{[^ ]*}} <col:8, col:12> col:12 a 'int'<br>
   // CHECK-NEXT: DeclStmt<br>
   // CHECK-NEXT: VarDecl 0x{{[^ ]*}} <col:23> col:23 implicit used __range1 'int (&)[10]' cinit<br>
-  // CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:23> 'int [10]' lvalue Var 0x{{[^ ]*}} 'vals' 'int [10]'<br>
+  // CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:23> 'int[10]' lvalue Var 0x{{[^ ]*}} 'vals' 'int[10]'<br>
   // CHECK-NEXT: DeclStmt<br>
   // CHECK-NEXT: VarDecl 0x{{[^ ]*}} <col:21> col:21 implicit used __begin1 'int *':'int *' cinit<br>
   // CHECK-NEXT: ImplicitCastExpr<br>
-  // CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:21> 'int [10]' lvalue Var 0x{{[^ ]*}} '__range1' 'int (&)[10]'<br>
+  // CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:21> 'int[10]' lvalue Var 0x{{[^ ]*}} '__range1' 'int (&)[10]'<br>
   // CHECK-NEXT: DeclStmt<br>
   // CHECK-NEXT: VarDecl 0x{{[^ ]*}} <col:21, col:23> col:21 implicit used __end1 'int *':'int *' cinit<br>
   // CHECK-NEXT: BinaryOperator 0x{{[^ ]*}} <col:21, col:23> 'int *' '+'<br>
   // CHECK-NEXT: ImplicitCastExpr<br>
-  // CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:21> 'int [10]' lvalue Var 0x{{[^ ]*}} '__range1' 'int (&)[10]'<br>
+  // CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:21> 'int[10]' lvalue Var 0x{{[^ ]*}} '__range1' 'int (&)[10]'<br>
   // CHECK-NEXT: IntegerLiteral 0x{{[^ ]*}} <col:23> 'long' 10<br>
   // CHECK-NEXT: BinaryOperator 0x{{[^ ]*}} <col:21> 'bool' '!='<br>
   // CHECK-NEXT: ImplicitCastExpr<br>
<br>
diff  --git a/clang/test/AST/ast-dump-template-decls-json.cpp b/clang/test/AST/ast-dump-template-decls-json.cpp<br>
index e3342190ff919..5e7a547e21615 100644<br>
--- a/clang/test/AST/ast-dump-template-decls-json.cpp<br>
+++ b/clang/test/AST/ast-dump-template-decls-json.cpp<br>
@@ -185,14 +185,14 @@ void i();<br>
 // CHECK-NEXT:    "isImplicit": true,<br>
 // CHECK-NEXT:    "name": "__builtin_va_list",<br>
 // CHECK-NEXT:    "type": {<br>
-// CHECK-NEXT:     "qualType": "__va_list_tag [1]"<br>
+// CHECK-NEXT:     "qualType": "__va_list_tag[1]"<br>
 // CHECK-NEXT:    },<br>
 // CHECK-NEXT:    "inner": [<br>
 // CHECK-NEXT:     {<br>
 // CHECK-NEXT:      "id": "0x{{.*}}",<br>
 // CHECK-NEXT:      "kind": "ConstantArrayType",<br>
 // CHECK-NEXT:      "type": {<br>
-// CHECK-NEXT:       "qualType": "__va_list_tag [1]"<br>
+// CHECK-NEXT:       "qualType": "__va_list_tag[1]"<br>
 // CHECK-NEXT:      },<br>
 // CHECK-NEXT:      "size": 1,<br>
 // CHECK-NEXT:      "inner": [<br>
<br>
diff  --git a/clang/test/AST/ast-dump-templates.cpp b/clang/test/AST/ast-dump-templates.cpp<br>
index 89feee75268a3..ab4a7356028e1 100644<br>
--- a/clang/test/AST/ast-dump-templates.cpp<br>
+++ b/clang/test/AST/ast-dump-templates.cpp<br>
@@ -46,9 +46,9 @@ template <typename ...T> struct A {<br>
 };<br>
<br>
 // CHECK1-LABEL: template <typename ...T> void f(T ...[3]) {<br>
-// CHECK1-NEXT:    A<T [3]...> a;<br>
+// CHECK1-NEXT:    A<T[3]...> a;<br>
 template <typename ...T> void f(T ...[3]) {<br>
-  A<T [3]...> a;<br>
+  A<T[3]...> a;<br>
 }<br>
<br>
 namespace test2 {<br>
<br>
diff  --git a/clang/test/AST/ast-dump-types-errors-json.cpp b/clang/test/AST/ast-dump-types-errors-json.cpp<br>
index 89535fcb70f43..1f79130d9db3c 100644<br>
--- a/clang/test/AST/ast-dump-types-errors-json.cpp<br>
+++ b/clang/test/AST/ast-dump-types-errors-json.cpp<br>
@@ -24,14 +24,14 @@ using TestContainsErrors = int[sizeof(undef())];<br>
 // CHECK-NEXT:  },<br>
 // CHECK-NEXT:  "name": "TestContainsErrors",<br>
 // CHECK-NEXT:  "type": {<br>
-// CHECK-NEXT:   "qualType": "int [sizeof (<recovery-expr>(undef))]"<br>
+// CHECK-NEXT:   "qualType": "int[sizeof (<recovery-expr>(undef))]"<br>
 // CHECK-NEXT:  },<br>
 // CHECK-NEXT:  "inner": [<br>
 // CHECK-NEXT:   {<br>
 // CHECK-NEXT:    "id": "0x{{.*}}",<br>
 // CHECK-NEXT:    "kind": "DependentSizedArrayType",<br>
 // CHECK-NEXT:    "type": {<br>
-// CHECK-NEXT:     "qualType": "int [sizeof (<recovery-expr>(undef))]"<br>
+// CHECK-NEXT:     "qualType": "int[sizeof (<recovery-expr>(undef))]"<br>
 // CHECK-NEXT:    },<br>
 // CHECK-NEXT:    "containsErrors": true,<br>
 // CHECK-NEXT:    "isDependent": true,<br>
<br>
diff  --git a/clang/test/AST/atomic-expr.cpp b/clang/test/AST/atomic-expr.cpp<br>
index db21d61e98c2a..bdb7bcb00569a 100644<br>
--- a/clang/test/AST/atomic-expr.cpp<br>
+++ b/clang/test/AST/atomic-expr.cpp<br>
@@ -28,14 +28,14 @@ void useage(){<br>
 // CHECK: AtomicExpr<br>
 // CHECK-NEXT: ImplicitCastExpr<br>
 // CHECK-SAME: <ArrayToPointerDecay><br>
-// CHECK-NEXT: DeclRefExpr 0x{{[0-9a-f]+}} <{{[^:]+}}:20> 'int [2]' lvalue Var 0x{{[0-9a-f]+}} 'arr' 'int [2]'<br>
+// CHECK-NEXT: DeclRefExpr 0x{{[0-9a-f]+}} <{{[^:]+}}:20> 'int[2]' lvalue Var 0x{{[0-9a-f]+}} 'arr' 'int[2]'<br>
 // CHECK-NEXT: IntegerLiteral 0x{{[0-9a-f]+}} <{{[^:]+}}:28> 'int' 5<br>
 // CHECK-NEXT: IntegerLiteral 0x{{[0-9a-f]+}} <{{[^:]+}}:25> 'int' 0<br>
 // CHECK:FunctionDecl 0x{{[0-9a-f]+}} <line:{{.*}}:1, line:{{.*}}:1> line:{{.*}}:6 used pr43370<br>
 // CHECK: AtomicExpr<br>
 // CHECK-NEXT: ImplicitCastExpr<br>
 // CHECK-SAME: <ArrayToPointerDecay><br>
-// CHECK-NEXT: DeclRefExpr 0x{{[0-9a-f]+}} <{{[^:]+}}:20> 'int [2]' lvalue Var 0x{{[0-9a-f]+}} 'arr' 'int [2]'<br>
+// CHECK-NEXT: DeclRefExpr 0x{{[0-9a-f]+}} <{{[^:]+}}:20> 'int[2]' lvalue Var 0x{{[0-9a-f]+}} 'arr' 'int[2]'<br>
 // CHECK-NEXT: IntegerLiteral 0x{{[0-9a-f]+}} <{{[^:]+}}:28> 'int' 5<br>
 // CHECK-NEXT: IntegerLiteral 0x{{[0-9a-f]+}} <{{[^:]+}}:25> 'int' 0<br>
<br>
@@ -43,11 +43,11 @@ void useage(){<br>
 // CHECK: AtomicExpr<br>
 // CHECK-NEXT: ImplicitCastExpr<br>
 // CHECK-SAME: <ArrayToPointerDecay><br>
-// CHECK-NEXT: DeclRefExpr 0x{{[0-9a-f]+}} <{{[^:]+}}:37> 'int [2]' lvalue Var 0x{{[0-9a-f]+}} 'arr' 'int [2]'<br>
+// CHECK-NEXT: DeclRefExpr 0x{{[0-9a-f]+}} <{{[^:]+}}:37> 'int[2]' lvalue Var 0x{{[0-9a-f]+}} 'arr' 'int[2]'<br>
 // CHECK-NEXT: IntegerLiteral 0x{{[0-9a-f]+}} <{{[^:]+}}:53> 'int' 3<br>
 // CHECK-NEXT: ImplicitCastExpr<br>
 // CHECK-SAME: <ArrayToPointerDecay><br>
-// CHECK-NEXT: DeclRefExpr 0x{{[0-9a-f]+}} <{{[^:]+}}:42> 'int [2]' lvalue Var 0x{{[0-9a-f]+}} 'arr' 'int [2]'<br>
+// CHECK-NEXT: DeclRefExpr 0x{{[0-9a-f]+}} <{{[^:]+}}:42> 'int[2]' lvalue Var 0x{{[0-9a-f]+}} 'arr' 'int[2]'<br>
 // CHECK-NEXT: IntegerLiteral 0x{{[0-9a-f]+}} <{{[^:]+}}:56> 'int' 4<br>
 // CHECK-NEXT: IntegerLiteral 0x{{[0-9a-f]+}} <{{[^:]+}}:47> 'int' 1<br>
 // CHECK-NEXT: ImplicitCastExpr<br>
@@ -56,11 +56,11 @@ void useage(){<br>
 // CHECK: AtomicExpr<br>
 // CHECK-NEXT: ImplicitCastExpr<br>
 // CHECK-SAME: <ArrayToPointerDecay><br>
-// CHECK-NEXT: DeclRefExpr 0x{{[0-9a-f]+}} <{{[^:]+}}:37> 'int [2]' lvalue Var 0x{{[0-9a-f]+}} 'arr' 'int [2]'<br>
+// CHECK-NEXT: DeclRefExpr 0x{{[0-9a-f]+}} <{{[^:]+}}:37> 'int[2]' lvalue Var 0x{{[0-9a-f]+}} 'arr' 'int[2]'<br>
 // CHECK-NEXT: IntegerLiteral 0x{{[0-9a-f]+}} <{{[^:]+}}:53> 'int' 3<br>
 // CHECK-NEXT: ImplicitCastExpr<br>
 // CHECK-SAME: <ArrayToPointerDecay><br>
-// CHECK-NEXT: DeclRefExpr 0x{{[0-9a-f]+}} <{{[^:]+}}:42> 'int [2]' lvalue Var 0x{{[0-9a-f]+}} 'arr' 'int [2]'<br>
+// CHECK-NEXT: DeclRefExpr 0x{{[0-9a-f]+}} <{{[^:]+}}:42> 'int[2]' lvalue Var 0x{{[0-9a-f]+}} 'arr' 'int[2]'<br>
 // CHECK-NEXT: IntegerLiteral 0x{{[0-9a-f]+}} <{{[^:]+}}:56> 'int' 4<br>
 // CHECK-NEXT: IntegerLiteral 0x{{[0-9a-f]+}} <{{[^:]+}}:47> 'int' 1<br>
 // CHECK-NEXT: ImplicitCastExpr<br>
<br>
diff  --git a/clang/test/AST/float16.cpp b/clang/test/AST/float16.cpp<br>
index 807289ac0a7f1..104ade6b54d6b 100644<br>
--- a/clang/test/AST/float16.cpp<br>
+++ b/clang/test/AST/float16.cpp<br>
@@ -33,9 +33,9 @@ namespace {<br>
 //CHECK-NEXT: | |-VarDecl {{.*}} f1n '_Float16'<br>
 //CHECK-NEXT: | |-VarDecl {{.*}} f2n '_Float16' cinit<br>
 //CHECK-NEXT: | | `-FloatingLiteral {{.*}} '_Float16' 3.300000e+01<br>
-//CHECK-NEXT: | |-VarDecl {{.*}} arr1n '_Float16 [10]'<br>
-//CHECK-NEXT: | |-VarDecl {{.*}} arr2n '_Float16 [3]' cinit<br>
-//CHECK-NEXT: | | `-InitListExpr {{.*}} '_Float16 [3]'<br>
+//CHECK-NEXT: | |-VarDecl {{.*}} arr1n '_Float16[10]'<br>
+//CHECK-NEXT: | |-VarDecl {{.*}} arr2n '_Float16[3]' cinit<br>
+//CHECK-NEXT: | | `-InitListExpr {{.*}} '_Float16[3]'<br>
 //CHECK-NEXT: | |   |-ImplicitCastExpr {{.*}} '_Float16' <FloatingCast><br>
 //CHECK-NEXT: | |   | `-FloatingLiteral {{.*}} 'double' 1.200000e+00<br>
 //CHECK-NEXT: | |   |-ImplicitCastExpr {{.*}} '_Float16' <FloatingCast><br>
@@ -55,9 +55,9 @@ _Float16 func1f(_Float16 arg);<br>
 //CHECK-NEXT: |-VarDecl {{.*}} f2f '_Float16' cinit<br>
 //CHECK-NEXT: | `-ImplicitCastExpr {{.*}} '_Float16' <FloatingCast><br>
 //CHECK-NEXT: |   `-FloatingLiteral {{.*}} 'double' 3.240000e+01<br>
-//CHECK-NEXT: |-VarDecl {{.*}} arr1f '_Float16 [10]'<br>
-//CHECK-NEXT: |-VarDecl {{.*}} arr2f '_Float16 [3]' cinit<br>
-//CHECK-NEXT: | `-InitListExpr {{.*}} '_Float16 [3]'<br>
+//CHECK-NEXT: |-VarDecl {{.*}} arr1f '_Float16[10]'<br>
+//CHECK-NEXT: |-VarDecl {{.*}} arr2f '_Float16[3]' cinit<br>
+//CHECK-NEXT: | `-InitListExpr {{.*}} '_Float16[3]'<br>
 //CHECK-NEXT: |   |-ImplicitCastExpr {{.*}} '_Float16' <FloatingCast><br>
 //CHECK-NEXT: |   | `-UnaryOperator {{.*}} 'double' prefix '-'<br>
 //CHECK-NEXT: |   |   `-FloatingLiteral {{.*}} 'double' 1.200000e+00<br>
@@ -297,8 +297,8 @@ int main(void) {<br>
 //CHECK-NEXT:  |     `-DeclRefExpr {{.*}} '_Float16' lvalue Var {{.*}} 'f4l' '_Float16'<br>
<br>
   _Float16 arr1l[] = { -1.f16, -0.f16, -11.f16 };<br>
-//CHECK:       `-VarDecl {{.*}} arr1l '_Float16 [3]' cinit<br>
-//CHECK-NEXT:    `-InitListExpr {{.*}} '_Float16 [3]'<br>
+//CHECK:       `-VarDecl {{.*}} arr1l '_Float16[3]' cinit<br>
+//CHECK-NEXT:    `-InitListExpr {{.*}} '_Float16[3]'<br>
 //CHECK-NEXT:      |-UnaryOperator {{.*}} '_Float16' prefix '-'<br>
 //CHECK-NEXT:      | `-FloatingLiteral {{.*}} '_Float16' 1.000000e+00<br>
 //CHECK-NEXT:      |-UnaryOperator {{.*}} '_Float16' prefix '-'<br>
<br>
diff  --git a/clang/test/AST/pr47636.cpp b/clang/test/AST/pr47636.cpp<br>
index 29d2a0a06e791..5311edb892c55 100644<br>
--- a/clang/test/AST/pr47636.cpp<br>
+++ b/clang/test/AST/pr47636.cpp<br>
@@ -2,25 +2,25 @@<br>
<br>
 int(&&intu_rvref)[] {1,2,3,4};<br>
 // CHECK: VarDecl 0x[[GLOB_ADDR:[0-9a-f]+]] {{.*}} intu_rvref 'int (&&)[4]' listinit<br>
-// CHECK-NEXT: ExprWithCleanups {{.*}} 'int [4]' xvalue<br>
-// CHECK-NEXT: MaterializeTemporaryExpr {{.*}} 'int [4]' xvalue extended by Var 0x[[GLOB_ADDR]] 'intu_rvref' 'int (&&)[4]'<br>
-// CHECK-NEXT: InitListExpr {{.*}} 'int [4]'<br>
+// CHECK-NEXT: ExprWithCleanups {{.*}} 'int[4]' xvalue<br>
+// CHECK-NEXT: MaterializeTemporaryExpr {{.*}} 'int[4]' xvalue extended by Var 0x[[GLOB_ADDR]] 'intu_rvref' 'int (&&)[4]'<br>
+// CHECK-NEXT: InitListExpr {{.*}} 'int[4]'<br>
<br>
 // CHECK: FunctionDecl {{.*}} static_const<br>
 void static_const() {<br>
   static const int(&&intu_rvref)[] {1,2,3,4};<br>
   // CHECK: VarDecl 0x[[STATIC_ADDR:[0-9a-f]+]] {{.*}} intu_rvref 'const int (&&)[4]' static listinit<br>
-  // CHECK-NEXT: ExprWithCleanups {{.*}} 'const int [4]' xvalue<br>
-  // CHECK-NEXT: MaterializeTemporaryExpr {{.*}} 'const int [4]' xvalue extended by Var 0x[[STATIC_ADDR]] 'intu_rvref' 'const int (&&)[4]'<br>
-  // CHECK-NEXT: InitListExpr {{.*}} 'const int [4]'<br>
+  // CHECK-NEXT: ExprWithCleanups {{.*}} 'const int[4]' xvalue<br>
+  // CHECK-NEXT: MaterializeTemporaryExpr {{.*}} 'const int[4]' xvalue extended by Var 0x[[STATIC_ADDR]] 'intu_rvref' 'const int (&&)[4]'<br>
+  // CHECK-NEXT: InitListExpr {{.*}} 'const int[4]'<br>
 }<br>
<br>
 // CHECK: FunctionDecl {{.*}} const_expr<br>
 constexpr int const_expr() {<br>
   int(&&intu_rvref)[]{1, 2, 3, 4};<br>
   // CHECK: VarDecl 0x[[CE_ADDR:[0-9a-f]+]] {{.*}} intu_rvref 'int (&&)[4]' listinit<br>
-  // CHECK-NEXT: ExprWithCleanups {{.*}} 'int [4]' xvalue<br>
-  // CHECK-NEXT: MaterializeTemporaryExpr {{.*}} 'int [4]' xvalue extended by Var 0x[[CE_ADDR]] 'intu_rvref' 'int (&&)[4]'<br>
-  // CHECK-NEXT: InitListExpr {{.*}} 'int [4]'<br>
+  // CHECK-NEXT: ExprWithCleanups {{.*}} 'int[4]' xvalue<br>
+  // CHECK-NEXT: MaterializeTemporaryExpr {{.*}} 'int[4]' xvalue extended by Var 0x[[CE_ADDR]] 'intu_rvref' 'int (&&)[4]'<br>
+  // CHECK-NEXT: InitListExpr {{.*}} 'int[4]'<br>
   return intu_rvref[0];<br>
 }<br>
<br>
diff  --git a/clang/test/AST/sourceranges.cpp b/clang/test/AST/sourceranges.cpp<br>
index cd1095c69afc3..afb9492b2c366 100644<br>
--- a/clang/test/AST/sourceranges.cpp<br>
+++ b/clang/test/AST/sourceranges.cpp<br>
@@ -13,7 +13,7 @@ enum B {};<br>
 typedef int C;<br>
 }<br>
<br>
-// CHECK: VarDecl {{0x[0-9a-fA-F]+}} <line:[[@LINE+1]]:1, col:36> col:15 ImplicitConstrArray 'foo::A [2]'<br>
+// CHECK: VarDecl {{0x[0-9a-fA-F]+}} <line:[[@LINE+1]]:1, col:36> col:15 ImplicitConstrArray 'foo::A[2]'<br>
 static foo::A ImplicitConstrArray[2];<br>
<br>
 int main() {<br>
<br>
diff  --git a/clang/test/ASTMerge/var/test.c b/clang/test/ASTMerge/var/test.c<br>
index a43de77bfe62a..5efc25fdb573d 100644<br>
--- a/clang/test/ASTMerge/var/test.c<br>
+++ b/clang/test/ASTMerge/var/test.c<br>
@@ -7,6 +7,6 @@<br>
 // CHECK: var2.c:3:5: warning: external variable 'x2' declared with incompatible types in <br>
diff erent translation units ('int' vs. 'double')<br>
 // CHECK: In file included from{{.*}}var1.c:3:<br>
 // CHECK: var1.h:1:8: note: declared here with type 'double'<br>
-// CHECK: warning: external variable 'xarray3' declared with incompatible types in <br>
diff erent translation units ('int [17]' vs. 'int [18]')<br>
-// CHECK: var1.c:7:5: note: declared here with type 'int [18]'<br>
+// CHECK: warning: external variable 'xarray3' declared with incompatible types in <br>
diff erent translation units ('int[17]' vs. 'int[18]')<br>
+// CHECK: var1.c:7:5: note: declared here with type 'int[18]'<br>
 // CHECK: 3 warnings generated<br>
<br>
diff  --git a/clang/test/Analysis/auto-obj-dtors-cfg-output.cpp b/clang/test/Analysis/auto-obj-dtors-cfg-output.cpp<br>
index 22df86e1773c6..82c86a95792a9 100644<br>
--- a/clang/test/Analysis/auto-obj-dtors-cfg-output.cpp<br>
+++ b/clang/test/Analysis/auto-obj-dtors-cfg-output.cpp<br>
@@ -334,7 +334,7 @@ void test_aggregate_array_lifetime_extension() {<br>
 // CHECK-NEXT:    61: ~A() (Temporary object destructor)<br>
 // CHECK-NEXT:    62: ~A() (Temporary object destructor)<br>
 // CHECK-NEXT:    63: ~A() (Temporary object destructor)<br>
-// CHECK-NEXT:    64: [B1.57].~D [2]() (Implicit destructor)<br>
+// CHECK-NEXT:    64: [B1.57].~D[2]() (Implicit destructor)<br>
 // CHECK-NEXT:    65: [B1.18].~D() (Implicit destructor)<br>
 // CHECK-NEXT:     Preds (1): B2<br>
 // CHECK-NEXT:     Succs (1): B0<br>
@@ -357,13 +357,13 @@ void test_aggregate_with_nontrivial_own_destructor() {<br>
 // CHECK:      [B2 (ENTRY)]<br>
 // CHECK-NEXT:   Succs (1): B1<br>
 // CHECK:      [B1]<br>
-// WARNINGS-NEXT:   1:  (CXXConstructExpr, class A [2])<br>
-// ANALYZER-NEXT:   1:  (CXXConstructExpr, [B1.2], class A [2])<br>
+// WARNINGS-NEXT:   1:  (CXXConstructExpr, class A[2])<br>
+// ANALYZER-NEXT:   1:  (CXXConstructExpr, [B1.2], class A[2])<br>
 // CHECK-NEXT:   2: A a[2];<br>
-// WARNINGS-NEXT:   3:  (CXXConstructExpr, class A [0])<br>
-// ANALYZER-NEXT:   3:  (CXXConstructExpr, [B1.4], class A [0])<br>
+// WARNINGS-NEXT:   3:  (CXXConstructExpr, class A[0])<br>
+// ANALYZER-NEXT:   3:  (CXXConstructExpr, [B1.4], class A[0])<br>
 // CHECK-NEXT:   4: A b[0];<br>
-// CHECK-NEXT:   5: [B1.2].~A [2]() (Implicit destructor)<br>
+// CHECK-NEXT:   5: [B1.2].~A[2]() (Implicit destructor)<br>
 // CHECK-NEXT:   Preds (1): B2<br>
 // CHECK-NEXT:   Succs (1): B0<br>
 // CHECK:      [B0 (EXIT)]<br>
<br>
diff  --git a/clang/test/Analysis/cfg.cpp b/clang/test/Analysis/cfg.cpp<br>
index 14f5d1e155fd8..b61addcb5d861 100644<br>
--- a/clang/test/Analysis/cfg.cpp<br>
+++ b/clang/test/Analysis/cfg.cpp<br>
@@ -116,8 +116,8 @@ void test_deletedtor() {<br>
 // CHECK: [B1]<br>
 // CHECK-NEXT:   1: 5<br>
 // CHECK-NEXT:   2: CFGNewAllocator(A *)<br>
-// WARNINGS-NEXT:   3:  (CXXConstructExpr, class A [5])<br>
-// ANALYZER-NEXT:   3:  (CXXConstructExpr, [B1.4], class A [5])<br>
+// WARNINGS-NEXT:   3:  (CXXConstructExpr, class A[5])<br>
+// ANALYZER-NEXT:   3:  (CXXConstructExpr, [B1.4], class A[5])<br>
 // CHECK-NEXT:   4: new A {{\[\[}}B1.1]]<br>
 // CHECK-NEXT:   5: A *a = new A [5];<br>
 // CHECK-NEXT:   6: a<br>
@@ -342,8 +342,8 @@ void test_placement_new() {<br>
 // CHECK-NEXT:  4: [B1.3] (ImplicitCastExpr, BitCast, void *)<br>
 // CHECK-NEXT:  5: 5<br>
 // CHECK-NEXT:  6: CFGNewAllocator(MyClass *)<br>
-// WARNINGS-NEXT:  7:  (CXXConstructExpr, class MyClass [5])<br>
-// ANALYZER-NEXT:  7:  (CXXConstructExpr, [B1.8], class MyClass [5])<br>
+// WARNINGS-NEXT:  7:  (CXXConstructExpr, class MyClass[5])<br>
+// ANALYZER-NEXT:  7:  (CXXConstructExpr, [B1.8], class MyClass[5])<br>
 // CHECK-NEXT:  8: new ([B1.4]) MyClass {{\[\[}}B1.5]]<br>
 // CHECK-NEXT:  9: MyClass *obj = new (buffer) MyClass [5];<br>
 // CHECK-NEXT:  Preds (1): B2<br>
@@ -513,7 +513,7 @@ void vla_typedef(int x) {<br>
 // CHECK: [B1]<br>
 // CHECK-NEXT:   1: x<br>
 // CHECK-NEXT:   2: [B1.1] (ImplicitCastExpr, LValueToRValue, int)<br>
-// CHECK-NEXT:   3: using VLA = int [x];<br>
+// CHECK-NEXT:   3: using VLA = int[x];<br>
 void vla_typealias(int x) {<br>
   using VLA = int[x];<br>
 }<br>
@@ -538,7 +538,7 @@ void vla_typedef_multi(int x, int y) {<br>
 // CHECK-NEXT:   5: [B1.4] (ImplicitCastExpr, LValueToRValue, int)<br>
 // CHECK-NEXT:   6: typedef VLA VLA1[y];<br>
 // CHECK-NEXT:   7: 3<br>
-// CHECK-NEXT:   8: using VLA2 = VLA1 [3];<br>
+// CHECK-NEXT:   8: using VLA2 = VLA1[3];<br>
 // CHECK-NEXT:   9: 4<br>
 // CHECK-NEXT:  10: VLA2 vla[4];<br>
 void vla_typedefname_multi(int x, int y) {<br>
@@ -557,8 +557,8 @@ void vla_typedefname_multi(int x, int y) {<br>
 // CHECK-NEXT:   5: x<br>
 // CHECK-NEXT:   6: ++[B1.5]<br>
 // CHECK-NEXT:   7: [B1.6] (ImplicitCastExpr, LValueToRValue, int)<br>
-// CHECK-NEXT:   8: sizeof(int [++x])<br>
-// CHECK-NEXT:   9: alignof(int [++x])<br>
+// CHECK-NEXT:   8: sizeof(int[++x])<br>
+// CHECK-NEXT:   9: alignof(int[++x])<br>
 // CHECK-NEXT:  10: 0<br>
 // CHECK-NEXT:  11: x<br>
 // CHECK-NEXT:  12: [B1.11] (ImplicitCastExpr, LValueToRValue, int)<br>
<br>
diff  --git a/clang/test/Analysis/explain-svals.cpp b/clang/test/Analysis/explain-svals.cpp<br>
index 387530c17f6cd..44cd66b491ea7 100644<br>
--- a/clang/test/Analysis/explain-svals.cpp<br>
+++ b/clang/test/Analysis/explain-svals.cpp<br>
@@ -81,7 +81,7 @@ void test_4(int x, int y) {<br>
   clang_analyzer_explain(&stat); // expected-warning-re{{{{^pointer to static local variable 'stat'$}}}}<br>
   clang_analyzer_explain(stat_glob); // expected-warning-re{{{{^initial value of global variable 'stat_glob'$}}}}<br>
   clang_analyzer_explain(&stat_glob); // expected-warning-re{{{{^pointer to global variable 'stat_glob'$}}}}<br>
-  clang_analyzer_explain((int[]){1, 2, 3}); // expected-warning-re{{{{^pointer to element of type 'int' with index 0 of temporary object constructed at statement '\(int \[3\]\)\{1, 2, 3\}'$}}}}<br>
+  clang_analyzer_explain((int[]){1, 2, 3}); // expected-warning-re{{{{^pointer to element of type 'int' with index 0 of temporary object constructed at statement '\(int\[3\]\)\{1, 2, 3\}'$}}}}<br>
 }<br>
<br>
 namespace {<br>
<br>
diff  --git a/clang/test/Analysis/lifetime-cfg-output.cpp b/clang/test/Analysis/lifetime-cfg-output.cpp<br>
index dc2849db1b63f..2c574c7cae8a4 100644<br>
--- a/clang/test/Analysis/lifetime-cfg-output.cpp<br>
+++ b/clang/test/Analysis/lifetime-cfg-output.cpp<br>
@@ -84,9 +84,9 @@ void test_const_ref() {<br>
 // CHECK:      [B2 (ENTRY)]<br>
 // CHECK-NEXT:   Succs (1): B1<br>
 // CHECK:       [B1]<br>
-// CHECK-NEXT:    1:  (CXXConstructExpr, class A [2])<br>
+// CHECK-NEXT:    1:  (CXXConstructExpr, class A[2])<br>
 // CHECK-NEXT:    2: A a[2];<br>
-// CHECK-NEXT:    3:  (CXXConstructExpr, class A [0])<br>
+// CHECK-NEXT:    3:  (CXXConstructExpr, class A[0])<br>
 // CHECK-NEXT:    4: A b[0];<br>
 // lifetime of a ends when its destructors are run<br>
 // CHECK-NEXT:    5: [B1.2] (Lifetime ends)<br>
<br>
diff  --git a/clang/test/Analysis/malloc-sizeof.c b/clang/test/Analysis/malloc-sizeof.c<br>
index 22c4045b7bbd3..9d2ada4af1e25 100644<br>
--- a/clang/test/Analysis/malloc-sizeof.c<br>
+++ b/clang/test/Analysis/malloc-sizeof.c<br>
@@ -49,6 +49,6 @@ int *mallocArraySize() {<br>
<br>
 int *mallocWrongArraySize() {<br>
   static const double sTable[10];<br>
-  int *table = malloc(sizeof sTable); // expected-warning {{Result of 'malloc' is converted to a pointer of type 'int', which is incompatible with sizeof operand type 'const double [10]'}}<br>
+  int *table = malloc(sizeof sTable); // expected-warning {{Result of 'malloc' is converted to a pointer of type 'int', which is incompatible with sizeof operand type 'const double[10]'}}<br>
   return table;<br>
 }<br>
<br>
diff  --git a/clang/test/Analysis/more-dtors-cfg-output.cpp b/clang/test/Analysis/more-dtors-cfg-output.cpp<br>
index 668210a0f61e0..964c6d94d378d 100644<br>
--- a/clang/test/Analysis/more-dtors-cfg-output.cpp<br>
+++ b/clang/test/Analysis/more-dtors-cfg-output.cpp<br>
@@ -208,7 +208,7 @@ void compound_literal() {<br>
 // CHECK: void compound_literal()<br>
 // CHECK: (CXXConstructExpr, struct Bar)<br>
 // CHECK: (CXXConstructExpr, struct Bar)<br>
-// CHECK: ~Bar [2]() (Temporary object destructor)<br>
+// CHECK: ~Bar[2]() (Temporary object destructor)<br>
<br>
 Foo elided_return() {<br>
   return get_foo();<br>
@@ -258,17 +258,17 @@ void default_ctor_with_default_arg() {<br>
   DefaultArgInCtor qux[3];<br>
 }<br>
 // CHECK: void default_ctor_with_default_arg()<br>
-// CHECK: CXXConstructExpr, {{.*}}, struct DefaultArgInCtor [3]<br>
+// CHECK: CXXConstructExpr, {{.*}}, struct DefaultArgInCtor[3]<br>
 // CXX14: ~Foo() (Temporary object destructor)<br>
 // CHECK: ~Foo() (Temporary object destructor)<br>
-// CHECK: .~DefaultArgInCtor [3]() (Implicit destructor)<br>
+// CHECK: .~DefaultArgInCtor[3]() (Implicit destructor)<br>
<br>
 void new_default_ctor_with_default_arg(long count) {<br>
   // Same problems as above.<br>
   new DefaultArgInCtor[count];<br>
 }<br>
 // CHECK: void new_default_ctor_with_default_arg(long count)<br>
-// CHECK: CXXConstructExpr, {{.*}}, struct DefaultArgInCtor []<br>
+// CHECK: CXXConstructExpr, {{.*}}, struct DefaultArgInCtor[]<br>
 // CXX14: ~Foo() (Temporary object destructor)<br>
 // CHECK: ~Foo() (Temporary object destructor)<br>
<br>
<br>
diff  --git a/clang/test/Analysis/scopes-cfg-output.cpp b/clang/test/Analysis/scopes-cfg-output.cpp<br>
index 4b6e2a92c53ad..c8212d51f6b24 100644<br>
--- a/clang/test/Analysis/scopes-cfg-output.cpp<br>
+++ b/clang/test/Analysis/scopes-cfg-output.cpp<br>
@@ -34,11 +34,11 @@ extern const bool UV;<br>
 // CHECK-NEXT:   Succs (1): B1<br>
 // CHECK:      [B1]<br>
 // CHECK-NEXT:   1: CFGScopeBegin(a)<br>
-// CHECK-NEXT:   2:  (CXXConstructExpr, [B1.3], class A [2])<br>
+// CHECK-NEXT:   2:  (CXXConstructExpr, [B1.3], class A[2])<br>
 // CHECK-NEXT:   3: A a[2];<br>
-// CHECK-NEXT:   4:  (CXXConstructExpr, [B1.5], class A [0])<br>
+// CHECK-NEXT:   4:  (CXXConstructExpr, [B1.5], class A[0])<br>
 // CHECK-NEXT:   5: A b[0];<br>
-// CHECK-NEXT:   6: [B1.3].~A [2]() (Implicit destructor)<br>
+// CHECK-NEXT:   6: [B1.3].~A[2]() (Implicit destructor)<br>
 // CHECK-NEXT:   7: CFGScopeEnd(a)<br>
 // CHECK-NEXT:   Preds (1): B2<br>
 // CHECK-NEXT:   Succs (1): B0<br>
@@ -810,7 +810,7 @@ void test_for_compound_and_break() {<br>
 // CHECK-NEXT:   1: CFGScopeEnd(__end1)<br>
 // CHECK-NEXT:   2: CFGScopeEnd(__begin1)<br>
 // CHECK-NEXT:   3: CFGScopeEnd(__range1)<br>
-// CHECK-NEXT:   4: [B5.3].~A [10]() (Implicit destructor)<br>
+// CHECK-NEXT:   4: [B5.3].~A[10]() (Implicit destructor)<br>
 // CHECK-NEXT:   5: CFGScopeEnd(a)<br>
 // CHECK-NEXT:   Preds (1): B2<br>
 // CHECK-NEXT:   Succs (1): B0<br>
@@ -846,7 +846,7 @@ void test_for_compound_and_break() {<br>
 // CHECK-NEXT:   Succs (1): B3<br>
 // CHECK:      [B5]<br>
 // CHECK-NEXT:   1: CFGScopeBegin(a)<br>
-// CHECK-NEXT:   2:  (CXXConstructExpr, [B5.3], class A [10])<br>
+// CHECK-NEXT:   2:  (CXXConstructExpr, [B5.3], class A[10])<br>
 // CHECK-NEXT:   3: A a[10];<br>
 // CHECK-NEXT:   4: a<br>
 // CHECK-NEXT:   5: auto &&__range1 = a;<br>
<br>
diff  --git a/clang/test/CXX/basic/basic.types/p10.cpp b/clang/test/CXX/basic/basic.types/p10.cpp<br>
index eae0c6513ac24..d41b394bb60f2 100644<br>
--- a/clang/test/CXX/basic/basic.types/p10.cpp<br>
+++ b/clang/test/CXX/basic/basic.types/p10.cpp<br>
@@ -32,7 +32,7 @@ struct Incomplete; // expected-note 2{{forward declaration of 'Incomplete'}}<br>
 template<class T> struct ClassTemp {};<br>
<br>
 constexpr Incomplete incomplete = {}; // expected-error {{constexpr variable cannot have non-literal type 'const Incomplete'}} expected-note {{incomplete type 'const Incomplete' is not a literal type}}<br>
-constexpr Incomplete incomplete2[] = {}; // expected-error {{constexpr variable cannot have non-literal type 'const Incomplete []'}} expected-note {{incomplete type 'const Incomplete []' is not a literal type}}<br>
+constexpr Incomplete incomplete2[] = {}; // expected-error {{constexpr variable cannot have non-literal type 'const Incomplete[]'}} expected-note {{incomplete type 'const Incomplete[]' is not a literal type}}<br>
 constexpr ClassTemp<int> classtemplate = {};<br>
 constexpr ClassTemp<int> classtemplate2[] = {};<br>
<br>
@@ -132,12 +132,12 @@ struct ArrGood {<br>
 constexpr int f(ArrGood) { return 0; }<br>
<br>
 struct ArrBad {<br>
-  S s[3]; // expected-note {{data member 's' of non-literal type 'S [3]'}}<br>
+  S s[3]; // expected-note {{data member 's' of non-literal type 'S[3]'}}<br>
 };<br>
 constexpr int f(ArrBad) { return 0; } // expected-error {{1st parameter type 'ArrBad' is not a literal type}}<br>
<br>
 constexpr int arb(int n) {<br>
-  int a[n]; // expected-error {{variable of non-literal type 'int [n]' cannot be defined in a constexpr function}}<br>
+  int a[n]; // expected-error {{variable of non-literal type 'int[n]' cannot be defined in a constexpr function}}<br>
 }<br>
 // expected-warning@+1 {{variable length array folded to constant array as an extension}}<br>
 constexpr long Overflow[(1 << 30) << 2]{}; // expected-warning {{requires 34 bits to represent}}<br>
<br>
diff  --git a/clang/test/CXX/dcl.dcl/dcl.attr/dcl.align/p7.cpp b/clang/test/CXX/dcl.dcl/dcl.attr/dcl.align/p7.cpp<br>
index 81e2ca5f1e4d6..4f28d5359aa2e 100644<br>
--- a/clang/test/CXX/dcl.dcl/dcl.attr/dcl.align/p7.cpp<br>
+++ b/clang/test/CXX/dcl.dcl/dcl.attr/dcl.align/p7.cpp<br>
@@ -9,7 +9,7 @@ static_assert(alignof(X<int, char, 1>) == alignof(int), "");<br>
<br>
<br>
 template<typename T, typename A, int N> struct Y {<br>
-  alignas(A) T buffer[N]; // expected-error {{requested alignment is less than minimum alignment of 4 for type 'int [1]'}}<br>
+  alignas(A) T buffer[N]; // expected-error {{requested alignment is less than minimum alignment of 4 for type 'int[1]'}}<br>
 };<br>
<br>
 static_assert(alignof(Y<char, int, sizeof(int)>) == alignof(int), "");<br>
<br>
diff  --git a/clang/test/CXX/dcl.dcl/dcl.spec/dcl.typedef/p2-0x.cpp b/clang/test/CXX/dcl.dcl/dcl.spec/dcl.typedef/p2-0x.cpp<br>
index 8c6f6e5ddc796..5ef917fe356c5 100644<br>
--- a/clang/test/CXX/dcl.dcl/dcl.spec/dcl.typedef/p2-0x.cpp<br>
+++ b/clang/test/CXX/dcl.dcl/dcl.spec/dcl.typedef/p2-0x.cpp<br>
@@ -40,7 +40,7 @@ namespace VariableLengthArrays {<br>
   const int m = 42;<br>
   using U = int[m];<br>
   using U = int[42]; // expected-note {{previous definition}}<br>
-  using U = int; // expected-error {{type alias redefinition with <br>
diff erent types ('int' vs 'int [42]')}}<br>
+  using U = int; // expected-error {{type alias redefinition with <br>
diff erent types ('int' vs 'int[42]')}}<br>
<br>
   void f() {<br>
     int n = 42;<br>
<br>
diff  --git a/clang/test/CXX/dcl.decl/dcl.decomp/p2.cpp b/clang/test/CXX/dcl.decl/dcl.decomp/p2.cpp<br>
index 211719a7e9c64..cad7d8e89ce0f 100644<br>
--- a/clang/test/CXX/dcl.decl/dcl.decomp/p2.cpp<br>
+++ b/clang/test/CXX/dcl.decl/dcl.decomp/p2.cpp<br>
@@ -16,8 +16,8 @@ int array() {<br>
   using X3 = X[3];<br>
   auto [a3, b3, c3] = X3{1, 2, 3};<br>
<br>
-  auto &[d, e] = arr; // expected-error {{type 'int [3]' decomposes into 3 elements, but only 2 names were provided}}<br>
-  auto &[f, g, h, i] = arr; // expected-error {{type 'int [3]' decomposes into 3 elements, but 4 names were provided}}<br>
+  auto &[d, e] = arr; // expected-error {{type 'int[3]' decomposes into 3 elements, but only 2 names were provided}}<br>
+  auto &[f, g, h, i] = arr; // expected-error {{type 'int[3]' decomposes into 3 elements, but 4 names were provided}}<br>
<br>
   auto &[r0, r1, r2] = arr;<br>
   const auto &[cr0, cr1, cr2] = arr;<br>
<br>
diff  --git a/clang/test/CXX/dcl.decl/dcl.init/dcl.init.list/p3.cpp b/clang/test/CXX/dcl.decl/dcl.init/dcl.init.list/p3.cpp<br>
index 6e39bdd2429dd..46f46d249666e 100644<br>
--- a/clang/test/CXX/dcl.decl/dcl.init/dcl.init.list/p3.cpp<br>
+++ b/clang/test/CXX/dcl.decl/dcl.init/dcl.init.list/p3.cpp<br>
@@ -134,11 +134,11 @@ namespace rdar13395022 {<br>
<br>
   void test(MoveOnly mo) {<br>
     auto &&list1 = {mo}; // expected-error {{call to implicitly-deleted copy constructor}} expected-note {{in initialization of temporary of type 'std::initializer_list}}<br>
-    MoveOnly (&&list2)[1] = {mo}; // expected-error {{call to implicitly-deleted copy constructor}} expected-note {{in initialization of temporary of type 'rdar13395022::MoveOnly [1]'}}<br>
+    MoveOnly (&&list2)[1] = {mo}; // expected-error {{call to implicitly-deleted copy constructor}} expected-note {{in initialization of temporary of type 'rdar13395022::MoveOnly[1]'}}<br>
     std::initializer_list<MoveOnly> &&list3 = {};<br>
     MoveOnly (&&list4)[1] = {}; // expected-error {{no matching constructor}}<br>
     // expected-note@-1 {{in implicit initialization of array element 0 with omitted initializer}}<br>
-    // expected-note@-2 {{in initialization of temporary of type 'rdar13395022::MoveOnly [1]' created to list-initialize this reference}}<br>
+    // expected-note@-2 {{in initialization of temporary of type 'rdar13395022::MoveOnly[1]' created to list-initialize this reference}}<br>
   }<br>
 }<br>
<br>
<br>
diff  --git a/clang/test/CXX/dcl.decl/dcl.meaning/dcl.array/p3.cpp b/clang/test/CXX/dcl.decl/dcl.meaning/dcl.array/p3.cpp<br>
index 188a0a2c7eed0..bf16d123abe77 100644<br>
--- a/clang/test/CXX/dcl.decl/dcl.meaning/dcl.array/p3.cpp<br>
+++ b/clang/test/CXX/dcl.decl/dcl.meaning/dcl.array/p3.cpp<br>
@@ -8,9 +8,9 @@<br>
 namespace test0 {<br>
   extern "C" int array[];<br>
   void declare() { extern int array[100]; }<br>
-  int value1 = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int []'}}<br>
+  int value1 = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int[]'}}<br>
   extern "C" int array[];<br>
-  int value2 = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int []'}}<br>
+  int value2 = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int[]'}}<br>
 }<br>
<br>
 namespace test1 {<br>
@@ -18,21 +18,21 @@ namespace test1 {<br>
   void test() {<br>
     { extern int array[100]; }<br>
     extern int array[];<br>
-    int x = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int []'}}<br>
+    int x = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int[]'}}<br>
   }<br>
 }<br>
<br>
 namespace test2 {<br>
   void declare() { extern int array[100]; }<br>
   extern int array[];<br>
-  int value = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int []'}}<br>
+  int value = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int[]'}}<br>
 }<br>
<br>
 namespace test3 {<br>
   void test() {<br>
     { extern int array[100]; }<br>
     extern int array[];<br>
-    int x = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int []'}}<br>
+    int x = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int[]'}}<br>
   }<br>
 }<br>
<br>
@@ -42,7 +42,7 @@ namespace test4 {<br>
     extern int array[100];<br>
     int x = sizeof(array);<br>
   }<br>
-  int y = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int []'}}<br>
+  int y = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int[]'}}<br>
 }<br>
<br>
 namespace test5 {<br>
@@ -58,7 +58,7 @@ namespace test6 {<br>
     extern int array[100];<br>
     {<br>
       extern int array[];<br>
-      int x = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int []'}}<br>
+      int x = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int[]'}}<br>
     }<br>
     int y = sizeof(array);<br>
     extern int array[];<br>
@@ -70,7 +70,7 @@ namespace test7 {<br>
   extern int array[100];<br>
   void test() {<br>
     extern int array[];<br>
-    int x = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int []'}}<br>
+    int x = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int[]'}}<br>
   }<br>
   int y = sizeof(array);<br>
   extern int array[];<br>
@@ -83,9 +83,9 @@ namespace test8 {<br>
     extern int array[100];<br>
     int x = sizeof(array);<br>
   }<br>
-  int y = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int []'}}<br>
+  int y = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int[]'}}<br>
   extern int array[];<br>
-  int z = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int []'}}<br>
+  int z = sizeof(array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int[]'}}<br>
 }<br>
<br>
 namespace dependent {<br>
@@ -145,7 +145,7 @@ namespace dependent {<br>
<br>
   template<typename T, typename U> void l() {<br>
     extern T arrX; // expected-note {{previous}}<br>
-    extern U arrX; // expected-error {{<br>
diff erent type: 'int [4]' vs 'int [3]'}}<br>
+    extern U arrX; // expected-error {{<br>
diff erent type: 'int[4]' vs 'int[3]'}}<br>
     (void)sizeof(arrX); // expected-error {{incomplete}}<br>
   }<br>
<br>
@@ -210,4 +210,4 @@ namespace use_outside_ns {<br>
<br>
 extern int arr[];<br>
 void f1() { extern int arr[2]; } // expected-note {{previous}}<br>
-void f2() { extern int arr[3]; } // expected-error {{<br>
diff erent type: 'int [3]' vs 'int [2]'}}<br>
+void f2() { extern int arr[3]; } // expected-error {{<br>
diff erent type: 'int[3]' vs 'int[2]'}}<br>
<br>
diff  --git a/clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp b/clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp<br>
index de1c5a708db68..9cc13b4efb80f 100644<br>
--- a/clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp<br>
+++ b/clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp<br>
@@ -57,15 +57,15 @@ template<typename T><br>
 void b(T[] ...);<br>
<br>
 template<typename T><br>
-void c(T ... []); // expected-error{{type 'T []' of function parameter pack does not contain any unexpanded parameter packs}}<br>
+void c(T ... []); // expected-error{{type 'T[]' of function parameter pack does not contain any unexpanded parameter packs}}<br>
<br>
 template<typename T><br>
-void d(T ... x[]); // expected-error{{type 'T []' of function parameter pack does not contain any unexpanded parameter packs}}<br>
+void d(T ... x[]); // expected-error{{type 'T[]' of function parameter pack does not contain any unexpanded parameter packs}}<br>
<br>
 void ai(int[] ... x); // expected-error{{expected ')'}} expected-note{{to match this '('}}<br>
 void bi(int[] ...);<br>
-void ci(int ... []); // expected-error{{type 'int []' of function parameter pack does not contain any unexpanded parameter packs}}<br>
-void di(int ... x[]); // expected-error{{type 'int []' of function parameter pack does not contain any unexpanded parameter packs}}<br>
+void ci(int ... []); // expected-error{{type 'int[]' of function parameter pack does not contain any unexpanded parameter packs}}<br>
+void di(int ... x[]); // expected-error{{type 'int[]' of function parameter pack does not contain any unexpanded parameter packs}}<br>
 }<br>
<br>
 void f5a(auto fp(int)->unk ...) {} // expected-error{{unknown type name 'unk'}}<br>
<br>
diff  --git a/clang/test/CXX/drs/dr177x.cpp b/clang/test/CXX/drs/dr177x.cpp<br>
index d307988ddbb66..7b96ff0996c72 100644<br>
--- a/clang/test/CXX/drs/dr177x.cpp<br>
+++ b/clang/test/CXX/drs/dr177x.cpp<br>
@@ -13,8 +13,8 @@ namespace dr1772 { // dr1772: 14<br>
   // CXX11: CXXRecordDecl<br>
   // CXX11: CXXMethodDecl{{.+}} operator() 'void () {{.*}}const'<br>
   // CXX11-NEXT: CompoundStmt<br>
-  // CXX11-NEXT: PredefinedExpr{{.+}} 'const char [11]' lvalue __func__<br>
-  // CXX11-NEXT: StringLiteral{{.+}} 'const char [11]' lvalue "operator()"<br>
+  // CXX11-NEXT: PredefinedExpr{{.+}} 'const char[11]' lvalue __func__<br>
+  // CXX11-NEXT: StringLiteral{{.+}} 'const char[11]' lvalue "operator()"<br>
<br>
   void func() {<br>
     // CXX11: FunctionDecl{{.+}} func<br>
@@ -24,8 +24,8 @@ namespace dr1772 { // dr1772: 14<br>
   // CXX11: CXXRecordDecl<br>
   // CXX11: CXXMethodDecl{{.+}} operator() 'void () {{.*}}const'<br>
   // CXX11-NEXT: CompoundStmt<br>
-  // CXX11-NEXT: PredefinedExpr{{.+}} 'const char [11]' lvalue __func__<br>
-  // CXX11-NEXT: StringLiteral{{.+}} 'const char [11]' lvalue "operator()"<br>
+  // CXX11-NEXT: PredefinedExpr{{.+}} 'const char[11]' lvalue __func__<br>
+  // CXX11-NEXT: StringLiteral{{.+}} 'const char[11]' lvalue "operator()"<br>
   }<br>
 #endif // __cplusplus >= 201103L<br>
 }<br>
<br>
diff  --git a/clang/test/CXX/expr/expr.prim/<a href="http://expr.prim.id/mixed-constraints.cpp" rel="noreferrer" target="_blank">expr.prim.id/mixed-constraints.cpp</a> b/clang/test/CXX/expr/expr.prim/<a href="http://expr.prim.id/mixed-constraints.cpp" rel="noreferrer" target="_blank">expr.prim.id/mixed-constraints.cpp</a><br>
index 6add2c5d10a49..dee5487771ef3 100644<br>
--- a/clang/test/CXX/expr/expr.prim/<a href="http://expr.prim.id/mixed-constraints.cpp" rel="noreferrer" target="_blank">expr.prim.id/mixed-constraints.cpp</a><br>
+++ b/clang/test/CXX/expr/expr.prim/<a href="http://expr.prim.id/mixed-constraints.cpp" rel="noreferrer" target="_blank">expr.prim.id/mixed-constraints.cpp</a><br>
@@ -1,13 +1,13 @@<br>
 // RUN:  %clang_cc1 -std=c++2a -verify %s<br>
<br>
 template<typename T> requires (sizeof(T) >= 4 && sizeof(T) <= 10)<br>
-// expected-note@-1{{because 'sizeof(char [20]) <= 10' (20 <= 10) evaluated to false}}<br>
+// expected-note@-1{{because 'sizeof(char[20]) <= 10' (20 <= 10) evaluated to false}}<br>
 // expected-note@-2{{because 'sizeof(char) >= 4' (1 >= 4) evaluated to false}}<br>
 void foo() requires (sizeof(T) <= 8) {}<br>
 // expected-note@-1{{candidate template ignored: constraints not satisfied [with T = char]}}<br>
-// expected-note@-2{{candidate template ignored: constraints not satisfied [with T = char [9]]}}<br>
-// expected-note@-3{{candidate template ignored: constraints not satisfied [with T = char [20]]}}<br>
-// expected-note@-4{{because 'sizeof(char [9]) <= 8' (9 <= 8) evaluated to false}}<br>
+// expected-note@-2{{candidate template ignored: constraints not satisfied [with T = char[9]]}}<br>
+// expected-note@-3{{candidate template ignored: constraints not satisfied [with T = char[20]]}}<br>
+// expected-note@-4{{because 'sizeof(char[9]) <= 8' (9 <= 8) evaluated to false}}<br>
<br>
 void bar() {<br>
   foo<char>(); // expected-error{{no matching function for call to 'foo'}}<br>
@@ -15,4 +15,4 @@ void bar() {<br>
   foo<unsigned long long int>();<br>
   foo<char[9]>(); // expected-error{{no matching function for call to 'foo'}}<br>
   foo<char[20]>(); // expected-error{{no matching function for call to 'foo'}}<br>
-}<br>
\ No newline at end of file<br>
+}<br>
<br>
diff  --git a/clang/test/CXX/expr/expr.prim/<a href="http://expr.prim.id/p4.cpp" rel="noreferrer" target="_blank">expr.prim.id/p4.cpp</a> b/clang/test/CXX/expr/expr.prim/<a href="http://expr.prim.id/p4.cpp" rel="noreferrer" target="_blank">expr.prim.id/p4.cpp</a><br>
index d3dde10ff2b2d..3c6b1b1bac590 100644<br>
--- a/clang/test/CXX/expr/expr.prim/<a href="http://expr.prim.id/p4.cpp" rel="noreferrer" target="_blank">expr.prim.id/p4.cpp</a><br>
+++ b/clang/test/CXX/expr/expr.prim/<a href="http://expr.prim.id/p4.cpp" rel="noreferrer" target="_blank">expr.prim.id/p4.cpp</a><br>
@@ -24,7 +24,7 @@ namespace methods<br>
 {<br>
   template<typename T><br>
   struct A {<br>
-    static void foo(int) requires (sizeof(T) == 1) {} // expected-note 3{{because 'sizeof(char [2]) == 1' (2 == 1) evaluated to false}}<br>
+    static void foo(int) requires (sizeof(T) == 1) {} // expected-note 3{{because 'sizeof(char[2]) == 1' (2 == 1) evaluated to false}}<br>
     static void bar(int) requires (sizeof(T) == 2) {} // expected-note 3{{because 'sizeof(char) == 2' (1 == 2) evaluated to false}}<br>
     // Make sure the function body is not instantiated before constraints are checked.<br>
     static auto baz(int) requires (sizeof(T) == 2) { return T::foo(); } // expected-note{{because 'sizeof(char) == 2' (1 == 2) evaluated to false}}<br>
@@ -58,4 +58,4 @@ namespace operators<br>
     auto* x = &A<int>::operator-; // expected-error{{invalid reference to function 'operator-': constraints not satisfied}}<br>
     auto y = &A<char>::operator-;<br>
   }<br>
-}<br>
\ No newline at end of file<br>
+}<br>
<br>
diff  --git a/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p4.cpp b/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p4.cpp<br>
index a36175af6fec5..5f7f73d622d82 100644<br>
--- a/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p4.cpp<br>
+++ b/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p4.cpp<br>
@@ -48,5 +48,5 @@ void test_result_type(int N) {<br>
   auto l1 = [] () -> Incomplete { }; // expected-error{{incomplete result type 'Incomplete' in lambda expression}}<br>
<br>
   typedef int vla[N];<br>
-  auto l2 = [] () -> vla { }; // expected-error{{function cannot return array type 'vla' (aka 'int [N]')}}<br>
+  auto l2 = [] () -> vla { }; // expected-error{{function cannot return array type 'vla' (aka 'int[N]')}}<br>
 }<br>
<br>
diff  --git a/clang/test/CXX/special/class.copy/p23-cxx11.cpp b/clang/test/CXX/special/class.copy/p23-cxx11.cpp<br>
index 0b9652b50fcfb..3e2341c3331fb 100644<br>
--- a/clang/test/CXX/special/class.copy/p23-cxx11.cpp<br>
+++ b/clang/test/CXX/special/class.copy/p23-cxx11.cpp<br>
@@ -78,7 +78,7 @@ struct B1 {<br>
   const int a; // expected-note 2{{field 'a' is of const-qualified type}}<br>
 };<br>
 struct B2 {<br>
-  const void *const a[3][9][2]; // expected-note 2{{field 'a' is of const-qualified type 'const void *const [3][9][2]'}}<br>
+  const void *const a[3][9][2]; // expected-note 2{{field 'a' is of const-qualified type 'const void *const[3][9][2]'}}<br>
 };<br>
 struct B3 {<br>
   const void *a[3];<br>
<br>
diff  --git a/clang/test/CXX/special/class.ctor/p5-0x.cpp b/clang/test/CXX/special/class.ctor/p5-0x.cpp<br>
index 5fa61008e8b77..67f0d2a935744 100644<br>
--- a/clang/test/CXX/special/class.ctor/p5-0x.cpp<br>
+++ b/clang/test/CXX/special/class.ctor/p5-0x.cpp<br>
@@ -57,7 +57,7 @@ class Deleted3a { const int a; }; // expected-note {{because field 'a' of const-<br>
                                      expected-warning {{does not declare any constructor}} \<br>
                                      expected-note {{will never be initialized}}<br>
 Deleted3a d3a; // expected-error {{implicitly-deleted default constructor}}<br>
-class Deleted3b { const DefaultedDefCtor1 a[42]; }; // expected-note {{because field 'a' of const-qualified type 'const DefaultedDefCtor1 [42]' would not be initialized}}<br>
+class Deleted3b { const DefaultedDefCtor1 a[42]; }; // expected-note {{because field 'a' of const-qualified type 'const DefaultedDefCtor1[42]' would not be initialized}}<br>
 Deleted3b d3b; // expected-error {{implicitly-deleted default constructor}}<br>
 class Deleted3c { const DefaultedDefCtor2 a; }; // expected-note {{because field 'a' of const-qualified type 'const DefaultedDefCtor2' would not be initialized}}<br>
 Deleted3c d3c; // expected-error {{implicitly-deleted default constructor}}<br>
<br>
diff  --git a/clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp b/clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp<br>
index 1c6aeeefe0067..d6d171470c21d 100644<br>
--- a/clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp<br>
+++ b/clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp<br>
@@ -121,10 +121,10 @@ void g() {<br>
     ;<br>
<br>
   extern int incomplete[];<br>
-  for (auto a : incomplete) // expected-error {{cannot use incomplete type 'int []' as a range}}<br>
+  for (auto a : incomplete) // expected-error {{cannot use incomplete type 'int[]' as a range}}<br>
     ;<br>
   extern struct Incomplete also_incomplete[2]; // expected-note 2{{forward declaration}}<br>
-  for (auto &a : also_incomplete) // expected-error {{cannot use incomplete type 'struct Incomplete [2]' as a range}}<br>
+  for (auto &a : also_incomplete) // expected-error {{cannot use incomplete type 'struct Incomplete[2]' as a range}}<br>
     ;<br>
<br>
   struct VoidBegin {<br>
<br>
diff  --git a/clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp b/clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp<br>
index 58290ac40fdb0..47bb95f2c024d 100644<br>
--- a/clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp<br>
+++ b/clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp<br>
@@ -113,7 +113,7 @@ namespace addr_of_obj_or_func {<br>
<br>
     X2<i> x2a;<br>
     X2<&i> x2a_addr; // expected-error {{address taken}}<br>
-    X2<iarr> x2b; // expected-error {{cannot bind to template argument of type 'int [10]'}}<br>
+    X2<iarr> x2b; // expected-error {{cannot bind to template argument of type 'int[10]'}}<br>
     X2<&iarr> x2b_addr; // expected-error {{address taken}}<br>
     X2<ki> x2c; // expected-error {{ignores qualifiers}}<br>
 #if __cplusplus <= 199711L<br>
<br>
diff  --git a/clang/test/CXX/temp/temp.constr/temp.constr.constr/non-function-templates.cpp b/clang/test/CXX/temp/temp.constr/temp.constr.constr/non-function-templates.cpp<br>
index 7d4d858b286f0..dd6bfe8011ddf 100644<br>
--- a/clang/test/CXX/temp/temp.constr/temp.constr.constr/non-function-templates.cpp<br>
+++ b/clang/test/CXX/temp/temp.constr/temp.constr.constr/non-function-templates.cpp<br>
@@ -9,20 +9,20 @@ static_assert(A<int>::value == 4);<br>
 static_assert(A<char>::value == 1); // expected-error{{constraints not satisfied for class template 'A' [with T = char]}}<br>
<br>
 template<typename T, typename U><br>
-  requires (sizeof(T) != sizeof(U) // expected-note{{because 'sizeof(int) != sizeof(char [4])' (4 != 4) evaluated to false}}<br>
+  requires (sizeof(T) != sizeof(U) // expected-note{{because 'sizeof(int) != sizeof(char[4])' (4 != 4) evaluated to false}}<br>
             && sizeof(T) >= 4) // expected-note{{because 'sizeof(char) >= 4' (1 >= 4) evaluated to false}}<br>
 constexpr int SizeDiff = sizeof(T) > sizeof(U) ? sizeof(T) - sizeof(U) : sizeof(U) - sizeof(T);<br>
<br>
 static_assert(SizeDiff<int, char> == 3);<br>
-static_assert(SizeDiff<int, char[4]> == 0); // expected-error{{constraints not satisfied for variable template 'SizeDiff' [with T = int, U = char [4]]}}<br>
+static_assert(SizeDiff<int, char[4]> == 0); // expected-error{{constraints not satisfied for variable template 'SizeDiff' [with T = int, U = char[4]]}}<br>
 static_assert(SizeDiff<char, int> == 3); // expected-error{{constraints not satisfied for variable template 'SizeDiff' [with T = char, U = int]}}<br>
<br>
 template<typename... Ts><br>
-  requires ((sizeof(Ts) == 4) || ...) // expected-note{{because 'sizeof(char) == 4' (1 == 4) evaluated to false}} expected-note{{'sizeof(long long) == 4' (8 == 4) evaluated to false}} expected-note{{'sizeof(int [20]) == 4' (80 == 4) evaluated to false}}<br>
+  requires ((sizeof(Ts) == 4) || ...) // expected-note{{because 'sizeof(char) == 4' (1 == 4) evaluated to false}} expected-note{{'sizeof(long long) == 4' (8 == 4) evaluated to false}} expected-note{{'sizeof(int[20]) == 4' (80 == 4) evaluated to false}}<br>
 constexpr auto SumSizes = (sizeof(Ts) + ...);<br>
<br>
 static_assert(SumSizes<char, long long, int> == 13);<br>
-static_assert(SumSizes<char, long long, int[20]> == 89); // expected-error{{constraints not satisfied for variable template 'SumSizes' [with Ts = <char, long long, int [20]>]}}<br>
+static_assert(SumSizes<char, long long, int[20]> == 89); // expected-error{{constraints not satisfied for variable template 'SumSizes' [with Ts = <char, long long, int[20]>]}}<br>
<br>
 template<typename T><br>
 concept IsBig = sizeof(T) > 100; // expected-note{{because 'sizeof(int) > 100' (4 > 100) evaluated to false}}<br>
@@ -44,28 +44,28 @@ static_assert(S<S2>::value);<br>
 template<typename T><br>
 struct AA<br>
 {<br>
-    template<typename U> requires (sizeof(U) == sizeof(T)) // expected-note{{because 'sizeof(int [2]) == sizeof(int)' (8 == 4) evaluated to false}}<br>
+    template<typename U> requires (sizeof(U) == sizeof(T)) // expected-note{{because 'sizeof(int[2]) == sizeof(int)' (8 == 4) evaluated to false}}<br>
     struct B<br>
     {<br>
         static constexpr int a = 0;<br>
     };<br>
<br>
-    template<typename U> requires (sizeof(U) == sizeof(T)) // expected-note{{because 'sizeof(int [2]) == sizeof(int)' (8 == 4) evaluated to false}}<br>
+    template<typename U> requires (sizeof(U) == sizeof(T)) // expected-note{{because 'sizeof(int[2]) == sizeof(int)' (8 == 4) evaluated to false}}<br>
     static constexpr int b = 1;<br>
<br>
-    template<typename U> requires (sizeof(U) == sizeof(T)) // expected-note{{because 'sizeof(int [2]) == sizeof(int)' (8 == 4) evaluated to false}}<br>
-    static constexpr int getB() { // expected-note{{candidate template ignored: constraints not satisfied [with U = int [2]]}}<br>
+    template<typename U> requires (sizeof(U) == sizeof(T)) // expected-note{{because 'sizeof(int[2]) == sizeof(int)' (8 == 4) evaluated to false}}<br>
+    static constexpr int getB() { // expected-note{{candidate template ignored: constraints not satisfied [with U = int[2]]}}<br>
         return 2;<br>
     }<br>
<br>
     static auto foo()<br>
     {<br>
-        return B<T[2]>::a; // expected-error{{constraints not satisfied for class template 'B' [with U = int [2]]}}<br>
+        return B<T[2]>::a; // expected-error{{constraints not satisfied for class template 'B' [with U = int[2]]}}<br>
     }<br>
<br>
     static auto foo1()<br>
     {<br>
-        return b<T[2]>; // expected-error{{constraints not satisfied for variable template 'b' [with U = int [2]]}}<br>
+        return b<T[2]>; // expected-error{{constraints not satisfied for variable template 'b' [with U = int[2]]}}<br>
     }<br>
<br>
     static auto foo2()<br>
<br>
diff  --git a/clang/test/CXX/temp/temp.decls/temp.variadic/p2.cpp b/clang/test/CXX/temp/temp.decls/temp.variadic/p2.cpp<br>
index e7a62366a9be5..8c2a9c1513235 100644<br>
--- a/clang/test/CXX/temp/temp.decls/temp.variadic/p2.cpp<br>
+++ b/clang/test/CXX/temp/temp.decls/temp.variadic/p2.cpp<br>
@@ -12,11 +12,11 @@ void test() {<br>
 template<typename Head, typename ...Tail><br>
 void recurse_until_fail(const Head &, const Tail &...tail) { // expected-note{{candidate function template not viable: requires at least 1 argument, but 0 were provided}}<br>
   recurse_until_fail(tail...); // expected-error{{no matching function for call to 'recurse_until_fail'}} \<br>
-  // expected-note{{in instantiation of function template specialization 'recurse_until_fail<char [7]>' requested here}} \<br>
-  // expected-note{{in instantiation of function template specialization 'recurse_until_fail<double, char [7]>' requested here}}<br>
+  // expected-note{{in instantiation of function template specialization 'recurse_until_fail<char[7]>' requested here}} \<br>
+  // expected-note{{in instantiation of function template specialization 'recurse_until_fail<double, char[7]>' requested here}}<br>
 }<br>
<br>
 void test_recurse_until_fail() {<br>
-  recurse_until_fail(1, 3.14159, "string");   // expected-note{{in instantiation of function template specialization 'recurse_until_fail<int, double, char [7]>' requested here}}<br>
+  recurse_until_fail(1, 3.14159, "string");   // expected-note{{in instantiation of function template specialization 'recurse_until_fail<int, double, char[7]>' requested here}}<br>
<br>
 }<br>
<br>
diff  --git a/clang/test/CXX/temp/temp.explicit/p8.cpp b/clang/test/CXX/temp/temp.explicit/p8.cpp<br>
index 1f09be04afb9a..6224080588b87 100644<br>
--- a/clang/test/CXX/temp/temp.explicit/p8.cpp<br>
+++ b/clang/test/CXX/temp/temp.explicit/p8.cpp<br>
@@ -1,13 +1,13 @@<br>
 // RUN: %clang_cc1 -std=c++2a -x c++ -verify %s<br>
<br>
 template<typename T, typename S = char> requires (sizeof(T) + sizeof(S) < 10)<br>
-// expected-note@-1{{because 'sizeof(char [100]) + sizeof(char) < 10' (101 < 10) evaluated to false}}<br>
+// expected-note@-1{{because 'sizeof(char[100]) + sizeof(char) < 10' (101 < 10) evaluated to false}}<br>
 void f(T t, S s) requires (sizeof(t) == 1 && sizeof(s) == 1) { };<br>
 // expected-note@-1{{candidate template ignored: constraints not satisfied [with T = int, S = char]}}<br>
 // expected-note@-2{{because 'sizeof (t) == 1' (4 == 1) evaluated to false}}<br>
 // expected-note@-3{{candidate template ignored: constraints not satisfied [with T = char, S = short]}}<br>
 // expected-note@-4{{because 'sizeof (s) == 1' (2 == 1) evaluated to false}}<br>
-// expected-note@-5{{candidate template ignored: constraints not satisfied [with T = char [100], S = char]}}<br>
+// expected-note@-5{{candidate template ignored: constraints not satisfied [with T = char[100], S = char]}}<br>
<br>
 template<><br>
 void f<int>(int t, char s) { };<br>
@@ -19,4 +19,4 @@ void f<char, short>(char t, short s) { };<br>
<br>
 template<><br>
 void f<char[100]>(char t[100], char s) { };<br>
-// expected-error@-1{{no function template matches function template specialization 'f'}}<br>
\ No newline at end of file<br>
+// expected-error@-1{{no function template matches function template specialization 'f'}}<br>
<br>
diff  --git a/clang/test/CXX/temp/temp.param/p10-2a.cpp b/clang/test/CXX/temp/temp.param/p10-2a.cpp<br>
index f0364274fb359..4f5fdd3b4809a 100644<br>
--- a/clang/test/CXX/temp/temp.param/p10-2a.cpp<br>
+++ b/clang/test/CXX/temp/temp.param/p10-2a.cpp<br>
@@ -27,21 +27,21 @@ using b4 = B<short, char>; // expected-error {{constraints not satisfied for ali<br>
<br>
 template<typename... T><br>
 concept C3 = (sizeof(T) + ...) == 12;<br>
-// expected-note@-1 {{because 'sizeof(char [11]) == 12' (11 == 12) evaluated to false}}<br>
-// expected-note@-2 {{because 'sizeof(char [10]) == 12' (10 == 12) evaluated to false}}<br>
+// expected-note@-1 {{because 'sizeof(char[11]) == 12' (11 == 12) evaluated to false}}<br>
+// expected-note@-2 {{because 'sizeof(char[10]) == 12' (10 == 12) evaluated to false}}<br>
 // expected-note@-3 3{{because 'sizeof(int) == 12' (4 == 12) evaluated to false}}<br>
 // expected-note@-4 6{{because 'sizeof(short) == 12' (2 == 12) evaluated to false}}<br>
<br>
 template<C3 T1, C3 T2, C3 T3><br>
-// expected-note@-1 {{because 'char [11]' does not satisfy 'C3'}}<br>
-// expected-note@-2 {{because 'char [10]' does not satisfy 'C3'}}<br>
+// expected-note@-1 {{because 'char[11]' does not satisfy 'C3'}}<br>
+// expected-note@-2 {{because 'char[10]' does not satisfy 'C3'}}<br>
 using C = T2;<br>
<br>
 using c1 = C<char[12], int[3], short[6]>;<br>
 using c2 = C<char[12], char[11], char[10]>;<br>
-// expected-error@-1 {{constraints not satisfied for alias template 'C' [with T1 = char [12], T2 = char [11], T3 = char [10]]}}<br>
+// expected-error@-1 {{constraints not satisfied for alias template 'C' [with T1 = char[12], T2 = char[11], T3 = char[10]]}}<br>
 using c3 = C<char[12], char[12], char[10]>;<br>
-// expected-error@-1 {{constraints not satisfied for alias template 'C' [with T1 = char [12], T2 = char [12], T3 = char [10]]}}<br>
+// expected-error@-1 {{constraints not satisfied for alias template 'C' [with T1 = char[12], T2 = char[12], T3 = char[10]]}}<br>
<br>
 template<C3... Ts><br>
 // expected-note@-1 {{because 'int' does not satisfy 'C3'}}<br>
@@ -87,33 +87,33 @@ using f2 = F<long>; // expected-error {{constraints not satisfied for alias temp<br>
<br>
 template<typename T, typename... Ts><br>
 concept OneOf = (is_same_v<T, Ts> || ...);<br>
-// expected-note@-1 2{{because 'is_same_v<char, char [1]>' evaluated to false}}<br>
-// expected-note@-2 2{{and 'is_same_v<char, char [2]>' evaluated to false}}<br>
+// expected-note@-1 2{{because 'is_same_v<char, char[1]>' evaluated to false}}<br>
+// expected-note@-2 2{{and 'is_same_v<char, char[2]>' evaluated to false}}<br>
 // expected-note@-3 {{because 'is_same_v<short, int>' evaluated to false}}<br>
 // expected-note@-4 {{and 'is_same_v<short, long>' evaluated to false}}<br>
 // expected-note@-5 {{and 'is_same_v<short, char>' evaluated to false}}<br>
-// expected-note@-6 3{{because 'is_same_v<int, char [1]>' evaluated to false}}<br>
-// expected-note@-7 3{{and 'is_same_v<int, char [2]>' evaluated to false}}<br>
+// expected-note@-6 3{{because 'is_same_v<int, char[1]>' evaluated to false}}<br>
+// expected-note@-7 3{{and 'is_same_v<int, char[2]>' evaluated to false}}<br>
 // expected-note@-8 2{{because 'is_same_v<std::nullptr_t, char>' evaluated to false}}<br>
 // expected-note@-9 2{{and 'is_same_v<std::nullptr_t, int>' evaluated to false}}<br>
<br>
 template<OneOf<char[1], char[2]> T, OneOf<int, long, char> U><br>
-// expected-note@-1 2{{because 'OneOf<char, char [1], char [2]>' evaluated to false}}<br>
+// expected-note@-1 2{{because 'OneOf<char, char[1], char[2]>' evaluated to false}}<br>
 // expected-note@-2 {{because 'OneOf<short, int, long, char>' evaluated to false}}<br>
 using G = T;<br>
<br>
 using g1 = G<char[1], int>;<br>
 using g2 = G<char, int>; // expected-error{{constraints not satisfied for alias template 'G' [with T = char, U = int]}}<br>
-using g3 = G<char[1], short>; // expected-error{{constraints not satisfied for alias template 'G' [with T = char [1], U = short]}}<br>
+using g3 = G<char[1], short>; // expected-error{{constraints not satisfied for alias template 'G' [with T = char[1], U = short]}}<br>
 using g4 = G<char, short>; // expected-error{{constraints not satisfied for alias template 'G' [with T = char, U = short]}}<br>
<br>
 template<OneOf<char[1], char[2]>... Ts><br>
-// expected-note@-1 2{{because 'OneOf<int, char [1], char [2]>' evaluated to false}}<br>
-// expected-note@-2 {{and 'OneOf<int, char [1], char [2]>' evaluated to false}}<br>
+// expected-note@-1 2{{because 'OneOf<int, char[1], char[2]>' evaluated to false}}<br>
+// expected-note@-2 {{and 'OneOf<int, char[1], char[2]>' evaluated to false}}<br>
 using H = int;<br>
<br>
 using h1 = H<char[1], int>;<br>
-// expected-error@-1 {{constraints not satisfied for alias template 'H' [with Ts = <char [1], int>]}}<br>
+// expected-error@-1 {{constraints not satisfied for alias template 'H' [with Ts = <char[1], int>]}}<br>
 using h2 = H<int, int>;<br>
 // expected-error@-1 {{constraints not satisfied for alias template 'H' [with Ts = <int, int>]}}<br>
 using h3 = H<char[1], char[2]>;<br>
<br>
diff  --git a/clang/test/CodeGen/const-init.c b/clang/test/CodeGen/const-init.c<br>
index 08783862837e8..7a0818a78a0a6 100644<br>
--- a/clang/test/CodeGen/const-init.c<br>
+++ b/clang/test/CodeGen/const-init.c<br>
@@ -156,7 +156,7 @@ void g29() {<br>
   // CHECK: @g29.b = internal global [1 x i32] [i32 ptrtoint ([5 x i8]* @.str.1 to i32)], align 4<br>
   // CHECK: @g29.c = internal global [1 x i32] [i32 97], align 4<br>
   static DCC_SRVR_NM a = { {"@"} };<br>
-  static int b[1] = { "asdf" }; // expected-warning {{incompatible pointer to integer conversion initializing 'int' with an expression of type 'char [5]'}}<br>
+  static int b[1] = { "asdf" }; // expected-warning {{incompatible pointer to integer conversion initializing 'int' with an expression of type 'char[5]'}}<br>
   static int c[1] = { L"a" };<br>
 }<br>
<br>
<br>
diff  --git a/clang/test/CodeGen/dump-struct-builtin.c b/clang/test/CodeGen/dump-struct-builtin.c<br>
index 929c5f71131bc..6464d7fa70d89 100644<br>
--- a/clang/test/CodeGen/dump-struct-builtin.c<br>
+++ b/clang/test/CodeGen/dump-struct-builtin.c<br>
@@ -91,7 +91,7 @@<br>
<br>
 // CHECK: @__const.unit15.a = private unnamed_addr constant %struct.U15A { [3 x i32] [i32 1, i32 2, i32 3] }, align 4<br>
 // CHECK-NEXT: [[STRUCT_STR_U15:@[0-9]+]] = private unnamed_addr constant [15 x i8] c"struct U15A {\0A\00"<br>
-// CHECK-NEXT: [[FIELD_U15:@[0-9]+]] = private unnamed_addr constant [13 x i8] c"int [3] a : \00"<br>
+// CHECK-NEXT: [[FIELD_U15:@[0-9]+]] = private unnamed_addr constant [12 x i8] c"int[3] a : \00"<br>
 // CHECK-NEXT: [[FORMAT_U15:@[0-9]+]] = private unnamed_addr constant [4 x i8] c"%p\0A\00"<br>
 // CHECK-NEXT: [[END_STRUCT_U15:@[0-9]+]] = private unnamed_addr constant [3 x i8] c"}\0A\00"<br>
<br>
@@ -380,7 +380,7 @@ void unit15() {<br>
<br>
   // CHECK: call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* [[STRUCT_STR_U15]], i32 0, i32 0))<br>
   // CHECK: [[RES1:%[0-9]+]] = getelementptr inbounds %struct.U15A, %struct.U15A* %a, i32 0, i32 0<br>
-  // CHECK: call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* [[FIELD_U15]], i32 0, i32 0))<br>
+  // CHECK: call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* [[FIELD_U15]], i32 0, i32 0))<br>
   // CHECK: [[LOAD1:%[0-9]+]] = load [3 x i32], [3 x i32]* [[RES1]],<br>
   // CHECK: call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* [[FORMAT_U15]], i32 0, i32 0), [3 x i32] [[LOAD1]])<br>
   // CHECK: call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* [[END_STRUCT_U15]], i32 0, i32 0)<br>
<br>
diff  --git a/clang/test/Import/array-init-loop-expr/test.cpp b/clang/test/Import/array-init-loop-expr/test.cpp<br>
index 7fe109c305ddd..653f68140d5a5 100644<br>
--- a/clang/test/Import/array-init-loop-expr/test.cpp<br>
+++ b/clang/test/Import/array-init-loop-expr/test.cpp<br>
@@ -1,7 +1,7 @@<br>
 // RUN: clang-import-test -dump-ast -import %S/Inputs/S.cpp -expression %s | FileCheck %s<br>
 // CHECK: CXXCtorInitializer<br>
 // CHECK-NEXT: ArrayInitLoopExpr<br>
-// CHECK-SAME: 'int [10]'<br>
+// CHECK-SAME: 'int[10]'<br>
<br>
 // CHECK: ArrayInitIndexExpr<br>
<br>
<br>
diff  --git a/clang/test/Index/print-type-size.cpp b/clang/test/Index/print-type-size.cpp<br>
index b4098d97726c4..c61965004000b 100644<br>
--- a/clang/test/Index/print-type-size.cpp<br>
+++ b/clang/test/Index/print-type-size.cpp<br>
@@ -368,7 +368,7 @@ struct BaseStruct<br>
 namespace NotConstantSize {<br>
<br>
 void f(int i) {<br>
-// CHECK32: VarDecl=v2:[[@LINE+1]]:8 (Definition) [type=int [i]] [typekind=VariableArray] [sizeof=-4] [alignof=4]<br>
+// CHECK32: VarDecl=v2:[[@LINE+1]]:8 (Definition) [type=int[i]] [typekind=VariableArray] [sizeof=-4] [alignof=4]<br>
    int v2[i];<br>
    {<br>
    struct CS1 {<br>
<br>
diff  --git a/clang/test/Index/print-type.c b/clang/test/Index/print-type.c<br>
index 745b661113ca0..c976e28e3321f 100644<br>
--- a/clang/test/Index/print-type.c<br>
+++ b/clang/test/Index/print-type.c<br>
@@ -32,12 +32,12 @@ void fun(struct { int x; int y; } *param);<br>
 _Atomic(unsigned long) aul;<br>
<br>
 // RUN: c-index-test -test-print-type %s | FileCheck %s<br>
-// CHECK: FunctionDecl=f:3:6 (Definition) [type=int *(int *, char *, FooType, int *, void (*)(int))] [typekind=FunctionProto] [canonicaltype=int *(int *, char *, int, int *, void (*)(int))] [canonicaltypekind=FunctionProto] [resulttype=int *] [resulttypekind=Pointer] [args= [int *] [Pointer] [char *] [Pointer] [FooType] [Typedef] [int [5]] [ConstantArray] [void (*)(int)] [Pointer]] [isPOD=0]<br>
+// CHECK: FunctionDecl=f:3:6 (Definition) [type=int *(int *, char *, FooType, int *, void (*)(int))] [typekind=FunctionProto] [canonicaltype=int *(int *, char *, int, int *, void (*)(int))] [canonicaltypekind=FunctionProto] [resulttype=int *] [resulttypekind=Pointer] [args= [int *] [Pointer] [char *] [Pointer] [FooType] [Typedef] [int[5]] [ConstantArray] [void (*)(int)] [Pointer]] [isPOD=0]<br>
 // CHECK: ParmDecl=p:3:13 (Definition) [type=int *] [typekind=Pointer] [isPOD=1] [pointeetype=int] [pointeekind=Int]<br>
 // CHECK: ParmDecl=x:3:22 (Definition) [type=char *] [typekind=Pointer] [isPOD=1] [pointeetype=char] [pointeekind=Char_{{[US]}}]<br>
 // CHECK: ParmDecl=z:3:33 (Definition) [type=FooType] [typekind=Typedef] [canonicaltype=int] [canonicaltypekind=Int] [isPOD=1]<br>
 // CHECK: TypeRef=FooType:1:13 [type=FooType] [typekind=Typedef] [canonicaltype=int] [canonicaltypekind=Int] [isPOD=1]<br>
-// CHECK: ParmDecl=arr:3:40 (Definition) [type=int [5]] [typekind=ConstantArray] [isPOD=1]<br>
+// CHECK: ParmDecl=arr:3:40 (Definition) [type=int[5]] [typekind=ConstantArray] [isPOD=1]<br>
 // CHECK: IntegerLiteral= [type=int] [typekind=Int] [isPOD=1]<br>
 // CHECK: ParmDecl=fn:3:55 (Definition) [type=void (*)(int)] [typekind=Pointer] [canonicaltype=void (*)(int)] [canonicaltypekind=Pointer] [isPOD=1] [pointeetype=void (int)] [pointeekind=FunctionProto]<br>
 // CHECK: ParmDecl=:3:62 (Definition) [type=int] [typekind=Int] [isPOD=1]<br>
@@ -56,14 +56,14 @@ _Atomic(unsigned long) aul;<br>
 // CHECK: DeclRefExpr=p:3:13 [type=int *] [typekind=Pointer] [isPOD=1] [pointeetype=int] [pointeekind=Int]<br>
 // CHECK: DeclRefExpr=z:3:33 [type=FooType] [typekind=Typedef] [canonicaltype=int] [canonicaltypekind=Int] [isPOD=1]<br>
 // CHECK: ArraySubscriptExpr= [type=int] [typekind=Int] [isPOD=1]<br>
-// CHECK: UnexposedExpr=arr:3:40 [type=int [5]] [typekind=ConstantArray] [isPOD=1]<br>
+// CHECK: UnexposedExpr=arr:3:40 [type=int[5]] [typekind=ConstantArray] [isPOD=1]<br>
 // CHECK: IntegerLiteral= [type=int] [typekind=Int] [isPOD=1]<br>
 // CHECK: TypedefDecl=OtherType:8:16 (Definition) [type=OtherType] [typekind=Typedef] [canonicaltype=double] [canonicaltypekind=Double] [isPOD=1]<br>
-// CHECK: TypedefDecl=ArrayType:9:13 (Definition) [type=ArrayType] [typekind=Typedef] [canonicaltype=int [5]] [canonicaltypekind=ConstantArray] [isPOD=1]<br>
+// CHECK: TypedefDecl=ArrayType:9:13 (Definition) [type=ArrayType] [typekind=Typedef] [canonicaltype=int[5]] [canonicaltypekind=ConstantArray] [isPOD=1]<br>
 // CHECK: IntegerLiteral= [type=int] [typekind=Int] [isPOD=1]<br>
 // CHECK: VarDecl=x:10:38 [type=__attribute__((__vector_size__(4 * sizeof(int)))) int] [typekind=Vector] [isPOD=1]<br>
 // CHECK: TypedefDecl=int4_t:11:46 (Definition) [type=int4_t] [typekind=Typedef] [canonicaltype=__attribute__((__vector_size__(4 * sizeof(int)))) int] [canonicaltypekind=Vector] [isPOD=1]<br>
-// CHECK: ParmDecl=incompletearray:13:12 (Definition) [type=int []] [typekind=IncompleteArray] [isPOD=1]<br>
+// CHECK: ParmDecl=incompletearray:13:12 (Definition) [type=int[]] [typekind=IncompleteArray] [isPOD=1]<br>
 // CHECK: FunctionDecl=elaboratedEnumType:15:25 [type=enum Enum ()] [typekind=FunctionNoProto] [canonicaltype=enum Enum ()] [canonicaltypekind=FunctionNoProto] [resulttype=enum Enum] [resulttypekind=Elaborated] [isPOD=0]<br>
 // CHECK: TypeRef=enum Enum:15:6 [type=enum Enum] [typekind=Enum] [isPOD=1]<br>
 // CHECK: StructDecl=Struct:16:8 (Definition) [type=struct Struct] [typekind=Record] [isPOD=1]<br>
<br>
diff  --git a/clang/test/Index/print-type.cpp b/clang/test/Index/print-type.cpp<br>
index 18259e80ebac2..f52ee8092e8f3 100644<br>
--- a/clang/test/Index/print-type.cpp<br>
+++ b/clang/test/Index/print-type.cpp<br>
@@ -130,7 +130,7 @@ inline namespace InlineNS {}<br>
 // CHECK: UnexposedExpr=z:22:35 [type=outer::inner::Bar::FooType] [typekind=Typedef] [canonicaltype=int] [canonicaltypekind=Int] [isPOD=1]<br>
 // CHECK: DeclRefExpr=z:22:35 [type=outer::inner::Bar::FooType] [typekind=Typedef] [canonicaltype=int] [canonicaltypekind=Int] [isPOD=1]<br>
 // CHECK: TypedefDecl=OtherType:26:18 (Definition) [type=outer::inner::Bar::OtherType] [typekind=Typedef] [canonicaltype=double] [canonicaltypekind=Double] [isPOD=1]<br>
-// CHECK: TypedefDecl=ArrayType:27:15 (Definition) [type=outer::inner::Bar::ArrayType] [typekind=Typedef] [canonicaltype=int [5]] [canonicaltypekind=ConstantArray] [isPOD=1]<br>
+// CHECK: TypedefDecl=ArrayType:27:15 (Definition) [type=outer::inner::Bar::ArrayType] [typekind=Typedef] [canonicaltype=int[5]] [canonicaltypekind=ConstantArray] [isPOD=1]<br>
 // CHECK: IntegerLiteral= [type=int] [typekind=Int] [isPOD=1]<br>
 // CHECK: FieldDecl=baz:28:20 (Definition) [type=Baz<int, 1, outer::Foo>] [typekind=Unexposed] [templateargs/3= [type=int] [typekind=Int]] [canonicaltype=outer::Baz<int, 1, outer::Foo>] [canonicaltypekind=Record] [canonicaltemplateargs/3= [type=int] [typekind=Int]] [isPOD=1]<br>
 // CHECK: TemplateRef=Baz:9:8 [type=] [typekind=Invalid] [isPOD=0]<br>
@@ -146,20 +146,20 @@ inline namespace InlineNS {}<br>
 // CHECK: FunctionTemplate=tbar:39:3 [type=T (int *)] [typekind=FunctionProto] [canonicaltype=type-parameter-0-0 (int *)] [canonicaltypekind=FunctionProto] [resulttype=T] [resulttypekind=Unexposed] [isPOD=0]<br>
 // CHECK: TemplateTypeParameter=T:38:20 (Definition) [type=T] [typekind=Unexposed] [canonicaltype=type-parameter-0-0] [canonicaltypekind=Unexposed] [isPOD=0]<br>
 // CHECK: TypeRef=T:38:20 [type=T] [typekind=Unexposed] [canonicaltype=type-parameter-0-0] [canonicaltypekind=Unexposed] [isPOD=0]<br>
-// CHECK: ParmDecl=:39:11 (Definition) [type=int [5]] [typekind=ConstantArray] [isPOD=1]<br>
+// CHECK: ParmDecl=:39:11 (Definition) [type=int[5]] [typekind=ConstantArray] [isPOD=1]<br>
 // CHECK: IntegerLiteral= [type=int] [typekind=Int] [isPOD=1]<br>
 // CHECK: FunctionTemplate=tbar:42:3 [type=T (int *)] [typekind=FunctionProto] [canonicaltype=type-parameter-0-0 (int *)] [canonicaltypekind=FunctionProto] [resulttype=T] [resulttypekind=Unexposed] [isPOD=0]<br>
 // CHECK: TemplateTypeParameter=T:41:20 (Definition) [type=T] [typekind=Unexposed] [canonicaltype=type-parameter-0-0] [canonicaltypekind=Unexposed] [isPOD=0]<br>
 // CHECK: NonTypeTemplateParameter=size:41:27 (Definition) [type=int] [typekind=Int] [isPOD=1]<br>
 // CHECK: TypeRef=T:41:20 [type=T] [typekind=Unexposed] [canonicaltype=type-parameter-0-0] [canonicaltypekind=Unexposed] [isPOD=0]<br>
-// CHECK: ParmDecl=:42:11 (Definition) [type=int [size]] [typekind=DependentSizedArray] [isPOD=0]<br>
+// CHECK: ParmDecl=:42:11 (Definition) [type=int[size]] [typekind=DependentSizedArray] [isPOD=0]<br>
 // CHECK: DeclRefExpr=size:41:27 [type=int] [typekind=Int] [isPOD=1]<br>
-// CHECK: FunctionDecl=foo:44:6 (Definition) [type=void (int, int *)] [typekind=FunctionProto] [canonicaltype=void (int, int *)] [canonicaltypekind=FunctionProto] [resulttype=void] [resulttypekind=Void] [args= [int] [Int] [int []] [IncompleteArray]] [isPOD=0]<br>
+// CHECK: FunctionDecl=foo:44:6 (Definition) [type=void (int, int *)] [typekind=FunctionProto] [canonicaltype=void (int, int *)] [canonicaltypekind=FunctionProto] [resulttype=void] [resulttypekind=Void] [args= [int] [Int] [int[]] [IncompleteArray]] [isPOD=0]<br>
 // CHECK: ParmDecl=i:44:14 (Definition) [type=int] [typekind=Int] [isPOD=1]<br>
-// CHECK: ParmDecl=incomplete_array:44:21 (Definition) [type=int []] [typekind=IncompleteArray] [isPOD=1]<br>
+// CHECK: ParmDecl=incomplete_array:44:21 (Definition) [type=int[]] [typekind=IncompleteArray] [isPOD=1]<br>
 // CHECK: CompoundStmt= [type=] [typekind=Invalid] [isPOD=0]<br>
 // CHECK: DeclStmt= [type=] [typekind=Invalid] [isPOD=0]<br>
-// CHECK: VarDecl=variable_array:44:47 (Definition) [type=int [i]] [typekind=VariableArray] [isPOD=1]<br>
+// CHECK: VarDecl=variable_array:44:47 (Definition) [type=int[i]] [typekind=VariableArray] [isPOD=1]<br>
 // CHECK: DeclRefExpr=i:44:14 [type=int] [typekind=Int] [isPOD=1]<br>
 // CHECK: StructDecl=Blob:46:8 (Definition) [type=Blob] [typekind=Record] [isPOD=1] [nbFields=2]<br>
 // CHECK: FieldDecl=i:47:7 (Definition) [type=int] [typekind=Int] [isPOD=1]<br>
<br>
diff  --git a/clang/test/Layout/aix-Wpacked-expecting-diagnostics.cpp b/clang/test/Layout/aix-Wpacked-expecting-diagnostics.cpp<br>
index 1980c04877c51..37982fcb74b96 100644<br>
--- a/clang/test/Layout/aix-Wpacked-expecting-diagnostics.cpp<br>
+++ b/clang/test/Layout/aix-Wpacked-expecting-diagnostics.cpp<br>
@@ -22,9 +22,9 @@ int b = sizeof(C);<br>
<br>
 // CHECK:               0 | struct C<br>
 // CHECK-NEXT:          0 |   struct B (base)<br>
-// CHECK-NEXT:          0 |     char [8] x<br>
+// CHECK-NEXT:          0 |     char[8] x<br>
 // CHECK-NEXT:          8 |   struct A (base)<br>
 // CHECK-NEXT:          8 |     double d<br>
-// CHECK-NEXT:         16 |   char [8] x<br>
+// CHECK-NEXT:         16 |   char[8] x<br>
 // CHECK-NEXT:            | [sizeof=24, dsize=24, align=4, preferredalign=4,<br>
 // CHECK-NEXT:            |  nvsize=24, nvalign=4, preferrednvalign=4]<br>
<br>
diff  --git a/clang/test/Layout/aix-double-struct-member.cpp b/clang/test/Layout/aix-double-struct-member.cpp<br>
index 32466259d31b6..6e091fcb1b1e1 100644<br>
--- a/clang/test/Layout/aix-double-struct-member.cpp<br>
+++ b/clang/test/Layout/aix-double-struct-member.cpp<br>
@@ -196,14 +196,14 @@ int a = sizeof(A);<br>
<br>
 // CHECK:      *** Dumping AST Record Layout<br>
 // CHECK-NEXT:          0 | struct test6::A::B<br>
-// CHECK-NEXT:          0 |   double [3] d<br>
+// CHECK-NEXT:          0 |   double[3] d<br>
 // CHECK-NEXT:            | [sizeof=24, dsize=24, align=4, preferredalign=8,<br>
 // CHECK-NEXT:            |  nvsize=24, nvalign=4, preferrednvalign=8]<br>
<br>
 // CHECK:      *** Dumping AST Record Layout<br>
 // CHECK-NEXT:          0 | struct test6::A<br>
 // CHECK-NEXT:          0 |   struct test6::A::B b<br>
-// CHECK-NEXT:          0 |     double [3] d<br>
+// CHECK-NEXT:          0 |     double[3] d<br>
 // CHECK-NEXT:            | [sizeof=24, dsize=24, align=4, preferredalign=8,<br>
 // CHECK-NEXT:            |  nvsize=24, nvalign=4, preferrednvalign=8]<br>
<br>
@@ -220,14 +220,14 @@ int a = sizeof(A);<br>
<br>
 // CHECK:      *** Dumping AST Record Layout<br>
 // CHECK-NEXT:          0 | struct test7::A::B<br>
-// CHECK-NEXT:          0 |   _Complex long double [3] d<br>
+// CHECK-NEXT:          0 |   _Complex long double[3] d<br>
 // CHECK-NEXT:            | [sizeof=48, dsize=48, align=4, preferredalign=8,<br>
 // CHECK-NEXT:            |  nvsize=48, nvalign=4, preferrednvalign=8]<br>
<br>
 // CHECK:      *** Dumping AST Record Layout<br>
 // CHECK-NEXT:          0 | struct test7::A<br>
 // CHECK-NEXT:          0 |   struct test7::A::B b<br>
-// CHECK-NEXT:          0 |     _Complex long double [3] d<br>
+// CHECK-NEXT:          0 |     _Complex long double[3] d<br>
 // CHECK-NEXT:            | [sizeof=48, dsize=48, align=4, preferredalign=8,<br>
 // CHECK-NEXT:            |  nvsize=48, nvalign=4, preferrednvalign=8]<br>
<br>
@@ -284,14 +284,14 @@ int b = sizeof(D);<br>
<br>
 // CHECK:               0 | struct test9::B<br>
 // CHECK-NEXT:          0 |   struct test9::A (base)<br>
-// CHECK-NEXT:          0 |     char [0] zea<br>
+// CHECK-NEXT:          0 |     char[0] zea<br>
 // CHECK-NEXT:          0 |   double d<br>
 // CHECK-NEXT:            | [sizeof=8, dsize=8, align=4, preferredalign=4,<br>
 // CHECK-NEXT:            |  nvsize=8, nvalign=4, preferrednvalign=4]<br>
<br>
 // CHECK:               0 | struct test9::D<br>
 // CHECK-NEXT:          0 |   struct test9::A (base)<br>
-// CHECK-NEXT:          0 |     char [0] zea<br>
+// CHECK-NEXT:          0 |     char[0] zea<br>
 // CHECK-NEXT:          0 |   struct test9::C (base)<br>
 // CHECK-NEXT:          0 |     double d<br>
 // CHECK-NEXT:          8 |   char x<br>
<br>
diff  --git a/clang/test/Layout/aix-no-unique-address-with-double.cpp b/clang/test/Layout/aix-no-unique-address-with-double.cpp<br>
index 5188bf128bc50..470f4dfcb01fd 100644<br>
--- a/clang/test/Layout/aix-no-unique-address-with-double.cpp<br>
+++ b/clang/test/Layout/aix-no-unique-address-with-double.cpp<br>
@@ -52,7 +52,7 @@ struct B1 {<br>
 // CHECK-NEXT:          4 |     struct A a<br>
 // CHECK-NEXT:          4 |       double d<br>
 // CHECK-NEXT:         12 |     char c<br>
-// CHECK-NEXT:         13 |   char [7] ext<br>
+// CHECK-NEXT:         13 |   char[7] ext<br>
 // CHECK-NEXT:            | [sizeof=20, dsize=20, align=4, preferredalign=4,<br>
 // CHECK-NEXT:            |  nvsize=20, nvalign=4, preferrednvalign=4]<br>
<br>
@@ -85,7 +85,7 @@ struct C1 {<br>
 // CHECK-NEXT:          0 |     struct A a<br>
 // CHECK-NEXT:          0 |       double d<br>
 // CHECK-NEXT:          8 |     char c<br>
-// CHECK-NEXT:          9 |   char [7] ext<br>
+// CHECK-NEXT:          9 |   char[7] ext<br>
 // CHECK-NEXT:            | [sizeof=16, dsize=16, align=4, preferredalign=8,<br>
 // CHECK-NEXT:            |  nvsize=16, nvalign=4, preferrednvalign=8]<br>
<br>
@@ -118,7 +118,7 @@ struct D1 {<br>
 // CHECK-NEXT:          4 |     struct A a<br>
 // CHECK-NEXT:          4 |       double d<br>
 // CHECK-NEXT:         12 |     char c<br>
-// CHECK-NEXT:         13 |   char [7] ext<br>
+// CHECK-NEXT:         13 |   char[7] ext<br>
 // CHECK-NEXT:            | [sizeof=20, dsize=20, align=4, preferredalign=4,<br>
 // CHECK-NEXT:            |  nvsize=20, nvalign=4, preferrednvalign=4]<br>
<br>
<br>
diff  --git a/clang/test/Layout/aix-power-alignment-typedef.cpp b/clang/test/Layout/aix-power-alignment-typedef.cpp<br>
index f6925c34b1712..4696c195eaac1 100644<br>
--- a/clang/test/Layout/aix-power-alignment-typedef.cpp<br>
+++ b/clang/test/Layout/aix-power-alignment-typedef.cpp<br>
@@ -67,7 +67,7 @@ union U {<br>
 int x = sizeof(U);<br>
<br>
 // CHECK:          0 | union test4::U<br>
-// CHECK-NEXT:     0 |   test4::Dbl [] DblArr<br>
+// CHECK-NEXT:     0 |   test4::Dbl[] DblArr<br>
 // CHECK-NEXT:     0 |   char x<br>
 // CHECK-NEXT:       | [sizeof=2, dsize=2, align=2, preferredalign=2,<br>
 // CHECK-NEXT:       |  nvsize=2, nvalign=2, preferrednvalign=2]<br>
<br>
diff  --git a/clang/test/Layout/ms-aligned-array.c b/clang/test/Layout/ms-aligned-array.c<br>
index 81fbbbb62753c..7cf976ccd2be4 100644<br>
--- a/clang/test/Layout/ms-aligned-array.c<br>
+++ b/clang/test/Layout/ms-aligned-array.c<br>
@@ -36,17 +36,17 @@ CHECK_SIZE(C, 16);<br>
 // CHECK-NEXT:            | [sizeof=16, align=16]<br>
 // CHECK: *** Dumping AST Record Layout<br>
 // CHECK-NEXT:          0 | struct A<br>
-// CHECK-NEXT:          0 |   struct AlignedStruct [1] a<br>
+// CHECK-NEXT:          0 |   struct AlignedStruct[1] a<br>
 // CHECK-NEXT:            | [sizeof=16, align=16]<br>
 // CHECK: *** Dumping AST Record Layout<br>
 // CHECK-NEXT:          0 | struct B<br>
 // CHECK-NEXT:          0 |   char b<br>
-// CHECK-NEXT:         16 |   AlignedInt [1] a<br>
+// CHECK-NEXT:         16 |   AlignedInt[1] a<br>
 // CHECK-NEXT:            | [sizeof=32, align=16]<br>
 // CHECK: *** Dumping AST Record Layout<br>
 // CHECK-NEXT:          0 | struct C<br>
 // CHECK-NEXT:          0 |   char b<br>
-// CHECK-NEXT:         16 |   AlignedInt [] a<br>
+// CHECK-NEXT:         16 |   AlignedInt[] a<br>
 // CHECK-NEXT:            | [sizeof=16, align=16]<br>
<br>
 #pragma pack(pop)<br>
<br>
diff  --git a/clang/test/Layout/ms-x86-basic-layout.cpp b/clang/test/Layout/ms-x86-basic-layout.cpp<br>
index 0b49fcb0b0747..1bd85bf6057e1 100644<br>
--- a/clang/test/Layout/ms-x86-basic-layout.cpp<br>
+++ b/clang/test/Layout/ms-x86-basic-layout.cpp<br>
@@ -716,11 +716,11 @@ struct ArrayFieldOfRecords {<br>
 };<br>
<br>
 // CHECK-LABEL:   0 | struct ArrayFieldOfRecords{{$}}<br>
-// CHECK-NEXT:    0 |   struct A4 [2] InlineElts<br>
+// CHECK-NEXT:    0 |   struct A4[2] InlineElts<br>
 // CHECK-NEXT:      | [sizeof=8, align=4<br>
 // CHECK-NEXT:      |  nvsize=8, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct ArrayFieldOfRecords{{$}}<br>
-// CHECK-X64-NEXT:    0 |   struct A4 [2] InlineElts<br>
+// CHECK-X64-NEXT:    0 |   struct A4[2] InlineElts<br>
 // CHECK-X64-NEXT:      | [sizeof=8, align=4<br>
 // CHECK-X64-NEXT:      |  nvsize=8, nvalign=4]<br>
<br>
@@ -729,11 +729,11 @@ struct ArrayOfArrayFieldOfRecords {<br>
 };<br>
<br>
 // CHECK-LABEL:   0 | struct ArrayOfArrayFieldOfRecords{{$}}<br>
-// CHECK-NEXT:    0 |   struct A4 [2][2] InlineElts<br>
+// CHECK-NEXT:    0 |   struct A4[2][2] InlineElts<br>
 // CHECK-NEXT:      | [sizeof=16, align=4<br>
 // CHECK-NEXT:      |  nvsize=16, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct ArrayOfArrayFieldOfRecords{{$}}<br>
-// CHECK-X64-NEXT:    0 |   struct A4 [2][2] InlineElts<br>
+// CHECK-X64-NEXT:    0 |   struct A4[2][2] InlineElts<br>
 // CHECK-X64-NEXT:      | [sizeof=16, align=4<br>
 // CHECK-X64-NEXT:      |  nvsize=16, nvalign=4]<br>
<br>
@@ -743,11 +743,11 @@ struct RecordArrayTypedef {<br>
 };<br>
<br>
 // CHECK-LABEL:   0 | struct RecordArrayTypedef{{$}}<br>
-// CHECK-NEXT:    0 |   RecordArrayTypedef::ArrayTy [2] InlineElts<br>
+// CHECK-NEXT:    0 |   RecordArrayTypedef::ArrayTy[2] InlineElts<br>
 // CHECK-NEXT:      | [sizeof=16, align=4<br>
 // CHECK-NEXT:      |  nvsize=16, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct RecordArrayTypedef{{$}}<br>
-// CHECK-X64-NEXT:    0 |   RecordArrayTypedef::ArrayTy [2] InlineElts<br>
+// CHECK-X64-NEXT:    0 |   RecordArrayTypedef::ArrayTy[2] InlineElts<br>
 // CHECK-X64-NEXT:      | [sizeof=16, align=4<br>
 // CHECK-X64-NEXT:      |  nvsize=16, nvalign=4]<br>
<br>
@@ -756,11 +756,11 @@ struct EmptyIntMemb {<br>
 };<br>
<br>
 // CHECK-LABEL:   0 | struct EmptyIntMemb{{$}}<br>
-// CHECK-NEXT:    0 |   int [0] FlexArrayMemb<br>
+// CHECK-NEXT:    0 |   int[0] FlexArrayMemb<br>
 // CHECK-NEXT:      | [sizeof=1, align=4<br>
 // CHECK-NEXT:      |  nvsize=0, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct EmptyIntMemb{{$}}<br>
-// CHECK-X64-NEXT:    0 |   int [0] FlexArrayMemb<br>
+// CHECK-X64-NEXT:    0 |   int[0] FlexArrayMemb<br>
 // CHECK-X64-NEXT:      | [sizeof=4, align=4<br>
 // CHECK-X64-NEXT:      |  nvsize=0, nvalign=4]<br>
<br>
@@ -769,11 +769,11 @@ struct EmptyLongLongMemb {<br>
 };<br>
<br>
 // CHECK-LABEL:   0 | struct EmptyLongLongMemb{{$}}<br>
-// CHECK-NEXT:    0 |   long long [0] FlexArrayMemb<br>
+// CHECK-NEXT:    0 |   long long[0] FlexArrayMemb<br>
 // CHECK-NEXT:      | [sizeof=1, align=8<br>
 // CHECK-NEXT:      |  nvsize=0, nvalign=8]<br>
 // CHECK-X64-LABEL:   0 | struct EmptyLongLongMemb{{$}}<br>
-// CHECK-X64-NEXT:    0 |   long long [0] FlexArrayMemb<br>
+// CHECK-X64-NEXT:    0 |   long long[0] FlexArrayMemb<br>
 // CHECK-X64-NEXT:      | [sizeof=8, align=8<br>
 // CHECK-X64-NEXT:      |  nvsize=0, nvalign=8]<br>
<br>
<br>
diff  --git a/clang/test/Layout/ms-x86-empty-layout.c b/clang/test/Layout/ms-x86-empty-layout.c<br>
index 5dbd8446597ef..dfcbb851977ed 100644<br>
--- a/clang/test/Layout/ms-x86-empty-layout.c<br>
+++ b/clang/test/Layout/ms-x86-empty-layout.c<br>
@@ -8,7 +8,7 @@ struct EmptyIntMemb {<br>
 };<br>
 // CHECK:       *** Dumping AST Record Layout<br>
 // CHECK-NEXT:  0 | struct EmptyIntMemb<br>
-// CHECK-NEXT:  0 | int [0] FlexArrayMemb<br>
+// CHECK-NEXT:  0 | int[0] FlexArrayMemb<br>
 // CHECK-NEXT:    | [sizeof=4, align=4<br>
<br>
 struct EmptyLongLongMemb {<br>
@@ -16,7 +16,7 @@ struct EmptyLongLongMemb {<br>
 };<br>
 // CHECK: *** Dumping AST Record Layout<br>
 // CHECK-NEXT:  0 | struct EmptyLongLongMemb<br>
-// CHECK-NEXT:  0 | long long [0] FlexArrayMemb<br>
+// CHECK-NEXT:  0 | long long[0] FlexArrayMemb<br>
 // CHECK-NEXT:    | [sizeof=4, align=8<br>
<br>
 struct EmptyAligned2LongLongMemb {<br>
@@ -25,7 +25,7 @@ struct EmptyAligned2LongLongMemb {<br>
<br>
 // CHECK: *** Dumping AST Record Layout<br>
 // CHECK-NEXT:  0 | struct EmptyAligned2LongLongMemb<br>
-// CHECK-NEXT:  0 | long long [0] FlexArrayMemb<br>
+// CHECK-NEXT:  0 | long long[0] FlexArrayMemb<br>
 // CHECK-NEXT:    | [sizeof=4, align=8<br>
<br>
 struct EmptyAligned8LongLongMemb {<br>
@@ -34,7 +34,7 @@ struct EmptyAligned8LongLongMemb {<br>
<br>
 // CHECK: *** Dumping AST Record Layout<br>
 // CHECK-NEXT:  0 | struct EmptyAligned8LongLongMemb<br>
-// CHECK-NEXT:  0 | long long [0] FlexArrayMemb<br>
+// CHECK-NEXT:  0 | long long[0] FlexArrayMemb<br>
 // CHECK-NEXT:    | [sizeof=8, align=8<br>
<br>
 #pragma pack(1)<br>
@@ -45,7 +45,7 @@ struct __declspec(align(4)) EmptyPackedAligned4LongLongMemb {<br>
<br>
 // CHECK: *** Dumping AST Record Layout<br>
 // CHECK-NEXT:  0 | struct EmptyPackedAligned4LongLongMemb<br>
-// CHECK-NEXT:  0 | long long [0] FlexArrayMemb<br>
+// CHECK-NEXT:  0 | long long[0] FlexArrayMemb<br>
 // CHECK-NEXT:    | [sizeof=4, align=4<br>
<br>
 #pragma pack(1)<br>
@@ -56,7 +56,7 @@ struct EmptyPackedAligned8LongLongMemb {<br>
<br>
 // CHECK: *** Dumping AST Record Layout<br>
 // CHECK-NEXT:  0 | struct EmptyPackedAligned8LongLongMemb<br>
-// CHECK-NEXT:  0 | long long [0] FlexArrayMemb<br>
+// CHECK-NEXT:  0 | long long[0] FlexArrayMemb<br>
 // CHECK-NEXT:    | [sizeof=8, align=8<br>
<br>
<br>
<br>
diff  --git a/clang/test/Layout/ms-x86-empty-nonvirtual-bases.cpp b/clang/test/Layout/ms-x86-empty-nonvirtual-bases.cpp<br>
index b4ea0e447b25a..41658f6a11e54 100644<br>
--- a/clang/test/Layout/ms-x86-empty-nonvirtual-bases.cpp<br>
+++ b/clang/test/Layout/ms-x86-empty-nonvirtual-bases.cpp<br>
@@ -148,7 +148,7 @@ struct I {<br>
 };<br>
<br>
 // CHECK-LABEL:   0 | struct I{{$}}<br>
-// CHECK-NEXT:    0 |   int [0] i0<br>
+// CHECK-NEXT:    0 |   int[0] i0<br>
 // CHECK-NEXT:      | [sizeof={{1|4}}, align=4,<br>
 // CHECK-NEXT:      |  nvsize=0, nvalign=4]<br>
<br>
@@ -158,7 +158,7 @@ struct J : I {<br>
<br>
 // CHECK-LABEL:  0 | struct J{{$}}<br>
 // CHECK-NEXT:   0 |   struct I (base)<br>
-// CHECK-NEXT:   0 |     int [0] i0<br>
+// CHECK-NEXT:   0 |     int[0] i0<br>
 // CHECK-NEXT:   0 |   int j<br>
 // CHECK-NEXT:     | [sizeof=4, align=4,<br>
 // CHECK-NEXT:     |  nvsize=4, nvalign=4]<br>
<br>
diff  --git a/clang/test/Layout/ms-x86-empty-virtual-base.cpp b/clang/test/Layout/ms-x86-empty-virtual-base.cpp<br>
index 9b897a307953c..8c350a2a56e18 100644<br>
--- a/clang/test/Layout/ms-x86-empty-virtual-base.cpp<br>
+++ b/clang/test/Layout/ms-x86-empty-virtual-base.cpp<br>
@@ -572,7 +572,7 @@ struct T : virtual B0, virtual B1, virtual C0, virtual D2, virtual B2, virtual B<br>
 // CHECK-NEXT:   40 |   struct C0 (virtual base)<br>
 // CHECK-NEXT:   40 |     int a<br>
 // CHECK-NEXT:   44 |   struct D2 (virtual base)<br>
-// CHECK-NEXT:   44 |     int [8] a<br>
+// CHECK-NEXT:   44 |     int[8] a<br>
 // CHECK-NEXT:   80 |   struct B2 (virtual base) (empty)<br>
 // CHECK-NEXT:   88 |   struct B3 (virtual base) (empty)<br>
 // CHECK-NEXT:  104 |   struct B4 (virtual base) (empty)<br>
@@ -586,7 +586,7 @@ struct T : virtual B0, virtual B1, virtual C0, virtual D2, virtual B2, virtual B<br>
 // CHECK-X64-NEXT:   40 |   struct C0 (virtual base)<br>
 // CHECK-X64-NEXT:   40 |     int a<br>
 // CHECK-X64-NEXT:   44 |   struct D2 (virtual base)<br>
-// CHECK-X64-NEXT:   44 |     int [8] a<br>
+// CHECK-X64-NEXT:   44 |     int[8] a<br>
 // CHECK-X64-NEXT:   80 |   struct B2 (virtual base) (empty)<br>
 // CHECK-X64-NEXT:   88 |   struct B3 (virtual base) (empty)<br>
 // CHECK-X64-NEXT:  104 |   struct B4 (virtual base) (empty)<br>
<br>
diff  --git a/clang/test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp b/clang/test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp<br>
index 58488ece2923b..7eb6958ce4462 100644<br>
--- a/clang/test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp<br>
+++ b/clang/test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp<br>
@@ -33,7 +33,7 @@ struct AA : B8, B1, virtual B0 {<br>
<br>
 // CHECK-LABEL:   0 | struct AA{{$}}<br>
 // CHECK-NEXT:    0 |   struct B8 (base)<br>
-// CHECK-NEXT:    0 |     char [5] c<br>
+// CHECK-NEXT:    0 |     char[5] c<br>
 // CHECK-NEXT:   13 |   struct B1 (base) (empty)<br>
 // CHECK-NEXT:    8 |   (AA vbtable pointer)<br>
 // CHECK-NEXT:   16 |   int a<br>
@@ -42,7 +42,7 @@ struct AA : B8, B1, virtual B0 {<br>
 // CHECK-NEXT:      |  nvsize=20, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct AA{{$}}<br>
 // CHECK-X64-NEXT:    0 |   struct B8 (base)<br>
-// CHECK-X64-NEXT:    0 |     char [5] c<br>
+// CHECK-X64-NEXT:    0 |     char[5] c<br>
 // CHECK-X64-NEXT:   17 |   struct B1 (base) (empty)<br>
 // CHECK-X64-NEXT:    8 |   (AA vbtable pointer)<br>
 // CHECK-X64-NEXT:   20 |   int a<br>
@@ -57,7 +57,7 @@ struct AB : B8, B1, virtual B0 {<br>
<br>
 // CHECK-LABEL:   0 | struct AB{{$}}<br>
 // CHECK-NEXT:    0 |   struct B8 (base)<br>
-// CHECK-NEXT:    0 |     char [5] c<br>
+// CHECK-NEXT:    0 |     char[5] c<br>
 // CHECK-NEXT:   13 |   struct B1 (base) (empty)<br>
 // CHECK-NEXT:    8 |   (AB vbtable pointer)<br>
 // CHECK-NEXT:   14 |   short a<br>
@@ -66,7 +66,7 @@ struct AB : B8, B1, virtual B0 {<br>
 // CHECK-NEXT:      |  nvsize=16, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct AB{{$}}<br>
 // CHECK-X64-NEXT:    0 |   struct B8 (base)<br>
-// CHECK-X64-NEXT:    0 |     char [5] c<br>
+// CHECK-X64-NEXT:    0 |     char[5] c<br>
 // CHECK-X64-NEXT:   17 |   struct B1 (base) (empty)<br>
 // CHECK-X64-NEXT:    8 |   (AB vbtable pointer)<br>
 // CHECK-X64-NEXT:   18 |   short a<br>
@@ -81,7 +81,7 @@ struct AC : B8, B1, virtual B0 {<br>
<br>
 // CHECK-LABEL:   0 | struct AC{{$}}<br>
 // CHECK-NEXT:    0 |   struct B8 (base)<br>
-// CHECK-NEXT:    0 |     char [5] c<br>
+// CHECK-NEXT:    0 |     char[5] c<br>
 // CHECK-NEXT:   12 |   struct B1 (base) (empty)<br>
 // CHECK-NEXT:    8 |   (AC vbtable pointer)<br>
 // CHECK-NEXT:   12 |   char a<br>
@@ -90,7 +90,7 @@ struct AC : B8, B1, virtual B0 {<br>
 // CHECK-NEXT:      |  nvsize=16, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct AC{{$}}<br>
 // CHECK-X64-NEXT:    0 |   struct B8 (base)<br>
-// CHECK-X64-NEXT:    0 |     char [5] c<br>
+// CHECK-X64-NEXT:    0 |     char[5] c<br>
 // CHECK-X64-NEXT:   16 |   struct B1 (base) (empty)<br>
 // CHECK-X64-NEXT:    8 |   (AC vbtable pointer)<br>
 // CHECK-X64-NEXT:   16 |   char a<br>
@@ -104,7 +104,7 @@ struct AD : B8, B1, virtual B0 {<br>
<br>
 // CHECK-LABEL:   0 | struct AD{{$}}<br>
 // CHECK-NEXT:    0 |   struct B8 (base)<br>
-// CHECK-NEXT:    0 |     char [5] c<br>
+// CHECK-NEXT:    0 |     char[5] c<br>
 // CHECK-NEXT:   12 |   struct B1 (base) (empty)<br>
 // CHECK-NEXT:    8 |   (AD vbtable pointer)<br>
 // CHECK-NEXT:   12 |   struct B0 (virtual base) (empty)<br>
@@ -112,7 +112,7 @@ struct AD : B8, B1, virtual B0 {<br>
 // CHECK-NEXT:      |  nvsize=12, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct AD{{$}}<br>
 // CHECK-X64-NEXT:    0 |   struct B8 (base)<br>
-// CHECK-X64-NEXT:    0 |     char [5] c<br>
+// CHECK-X64-NEXT:    0 |     char[5] c<br>
 // CHECK-X64-NEXT:   16 |   struct B1 (base) (empty)<br>
 // CHECK-X64-NEXT:    8 |   (AD vbtable pointer)<br>
 // CHECK-X64-NEXT:   16 |   struct B0 (virtual base) (empty)<br>
@@ -126,7 +126,7 @@ struct AA1 : B9, B1, virtual B0 {<br>
<br>
 // CHECK-LABEL:   0 | struct AA1{{$}}<br>
 // CHECK-NEXT:    0 |   struct B9 (base)<br>
-// CHECK-NEXT:    0 |     char [6] c<br>
+// CHECK-NEXT:    0 |     char[6] c<br>
 // CHECK-NEXT:   14 |   struct B1 (base) (empty)<br>
 // CHECK-NEXT:    8 |   (AA1 vbtable pointer)<br>
 // CHECK-NEXT:   16 |   int a<br>
@@ -135,7 +135,7 @@ struct AA1 : B9, B1, virtual B0 {<br>
 // CHECK-NEXT:      |  nvsize=20, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct AA1{{$}}<br>
 // CHECK-X64-NEXT:    0 |   struct B9 (base)<br>
-// CHECK-X64-NEXT:    0 |     char [6] c<br>
+// CHECK-X64-NEXT:    0 |     char[6] c<br>
 // CHECK-X64-NEXT:   18 |   struct B1 (base) (empty)<br>
 // CHECK-X64-NEXT:    8 |   (AA1 vbtable pointer)<br>
 // CHECK-X64-NEXT:   20 |   int a<br>
@@ -150,7 +150,7 @@ struct AB1 : B9, B1, virtual B0 {<br>
<br>
 // CHECK-LABEL:   0 | struct AB1{{$}}<br>
 // CHECK-NEXT:    0 |   struct B9 (base)<br>
-// CHECK-NEXT:    0 |     char [6] c<br>
+// CHECK-NEXT:    0 |     char[6] c<br>
 // CHECK-NEXT:   12 |   struct B1 (base) (empty)<br>
 // CHECK-NEXT:    8 |   (AB1 vbtable pointer)<br>
 // CHECK-NEXT:   12 |   short a<br>
@@ -159,7 +159,7 @@ struct AB1 : B9, B1, virtual B0 {<br>
 // CHECK-NEXT:      |  nvsize=16, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct AB1{{$}}<br>
 // CHECK-X64-NEXT:    0 |   struct B9 (base)<br>
-// CHECK-X64-NEXT:    0 |     char [6] c<br>
+// CHECK-X64-NEXT:    0 |     char[6] c<br>
 // CHECK-X64-NEXT:   16 |   struct B1 (base) (empty)<br>
 // CHECK-X64-NEXT:    8 |   (AB1 vbtable pointer)<br>
 // CHECK-X64-NEXT:   16 |   short a<br>
@@ -174,7 +174,7 @@ struct AC1 : B9, B1, virtual B0 {<br>
<br>
 // CHECK-LABEL:   0 | struct AC1{{$}}<br>
 // CHECK-NEXT:    0 |   struct B9 (base)<br>
-// CHECK-NEXT:    0 |     char [6] c<br>
+// CHECK-NEXT:    0 |     char[6] c<br>
 // CHECK-NEXT:   12 |   struct B1 (base) (empty)<br>
 // CHECK-NEXT:    8 |   (AC1 vbtable pointer)<br>
 // CHECK-NEXT:   12 |   char a<br>
@@ -183,7 +183,7 @@ struct AC1 : B9, B1, virtual B0 {<br>
 // CHECK-NEXT:      |  nvsize=16, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct AC1{{$}}<br>
 // CHECK-X64-NEXT:    0 |   struct B9 (base)<br>
-// CHECK-X64-NEXT:    0 |     char [6] c<br>
+// CHECK-X64-NEXT:    0 |     char[6] c<br>
 // CHECK-X64-NEXT:   16 |   struct B1 (base) (empty)<br>
 // CHECK-X64-NEXT:    8 |   (AC1 vbtable pointer)<br>
 // CHECK-X64-NEXT:   16 |   char a<br>
@@ -197,7 +197,7 @@ struct AD1 : B9, B1, virtual B0 {<br>
<br>
 // CHECK-LABEL:   0 | struct AD1{{$}}<br>
 // CHECK-NEXT:    0 |   struct B9 (base)<br>
-// CHECK-NEXT:    0 |     char [6] c<br>
+// CHECK-NEXT:    0 |     char[6] c<br>
 // CHECK-NEXT:   12 |   struct B1 (base) (empty)<br>
 // CHECK-NEXT:    8 |   (AD1 vbtable pointer)<br>
 // CHECK-NEXT:   12 |   struct B0 (virtual base) (empty)<br>
@@ -205,7 +205,7 @@ struct AD1 : B9, B1, virtual B0 {<br>
 // CHECK-NEXT:      |  nvsize=12, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct AD1{{$}}<br>
 // CHECK-X64-NEXT:    0 |   struct B9 (base)<br>
-// CHECK-X64-NEXT:    0 |     char [6] c<br>
+// CHECK-X64-NEXT:    0 |     char[6] c<br>
 // CHECK-X64-NEXT:   16 |   struct B1 (base) (empty)<br>
 // CHECK-X64-NEXT:    8 |   (AD1 vbtable pointer)<br>
 // CHECK-X64-NEXT:   16 |   struct B0 (virtual base) (empty)<br>
@@ -219,7 +219,7 @@ struct AA2 : B10, B1, virtual B0 {<br>
<br>
 // CHECK-LABEL:   0 | struct AA2{{$}}<br>
 // CHECK-NEXT:    0 |   struct B10 (base)<br>
-// CHECK-NEXT:    0 |     char [7] c<br>
+// CHECK-NEXT:    0 |     char[7] c<br>
 // CHECK-NEXT:   15 |   struct B1 (base) (empty)<br>
 // CHECK-NEXT:    8 |   (AA2 vbtable pointer)<br>
 // CHECK-NEXT:   16 |   int a<br>
@@ -228,7 +228,7 @@ struct AA2 : B10, B1, virtual B0 {<br>
 // CHECK-NEXT:      |  nvsize=20, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct AA2{{$}}<br>
 // CHECK-X64-NEXT:    0 |   struct B10 (base)<br>
-// CHECK-X64-NEXT:    0 |     char [7] c<br>
+// CHECK-X64-NEXT:    0 |     char[7] c<br>
 // CHECK-X64-NEXT:   19 |   struct B1 (base) (empty)<br>
 // CHECK-X64-NEXT:    8 |   (AA2 vbtable pointer)<br>
 // CHECK-X64-NEXT:   20 |   int a<br>
@@ -243,7 +243,7 @@ struct AB2 : B10, B1, virtual B0 {<br>
<br>
 // CHECK-LABEL:   0 | struct AB2{{$}}<br>
 // CHECK-NEXT:    0 |   struct B10 (base)<br>
-// CHECK-NEXT:    0 |     char [7] c<br>
+// CHECK-NEXT:    0 |     char[7] c<br>
 // CHECK-NEXT:   13 |   struct B1 (base) (empty)<br>
 // CHECK-NEXT:    8 |   (AB2 vbtable pointer)<br>
 // CHECK-NEXT:   14 |   short a<br>
@@ -252,7 +252,7 @@ struct AB2 : B10, B1, virtual B0 {<br>
 // CHECK-NEXT:      |  nvsize=16, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct AB2{{$}}<br>
 // CHECK-X64-NEXT:    0 |   struct B10 (base)<br>
-// CHECK-X64-NEXT:    0 |     char [7] c<br>
+// CHECK-X64-NEXT:    0 |     char[7] c<br>
 // CHECK-X64-NEXT:   17 |   struct B1 (base) (empty)<br>
 // CHECK-X64-NEXT:    8 |   (AB2 vbtable pointer)<br>
 // CHECK-X64-NEXT:   18 |   short a<br>
@@ -267,7 +267,7 @@ struct AC2 : B10, B1, virtual B0 {<br>
<br>
 // CHECK-LABEL:   0 | struct AC2{{$}}<br>
 // CHECK-NEXT:    0 |   struct B10 (base)<br>
-// CHECK-NEXT:    0 |     char [7] c<br>
+// CHECK-NEXT:    0 |     char[7] c<br>
 // CHECK-NEXT:   12 |   struct B1 (base) (empty)<br>
 // CHECK-NEXT:    8 |   (AC2 vbtable pointer)<br>
 // CHECK-NEXT:   12 |   char a<br>
@@ -276,7 +276,7 @@ struct AC2 : B10, B1, virtual B0 {<br>
 // CHECK-NEXT:      |  nvsize=16, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct AC2{{$}}<br>
 // CHECK-X64-NEXT:    0 |   struct B10 (base)<br>
-// CHECK-X64-NEXT:    0 |     char [7] c<br>
+// CHECK-X64-NEXT:    0 |     char[7] c<br>
 // CHECK-X64-NEXT:   16 |   struct B1 (base) (empty)<br>
 // CHECK-X64-NEXT:    8 |   (AC2 vbtable pointer)<br>
 // CHECK-X64-NEXT:   16 |   char a<br>
@@ -290,7 +290,7 @@ struct AD2 : B10, B1, virtual B0 {<br>
<br>
 // CHECK-LABEL:   0 | struct AD2{{$}}<br>
 // CHECK-NEXT:    0 |   struct B10 (base)<br>
-// CHECK-NEXT:    0 |     char [7] c<br>
+// CHECK-NEXT:    0 |     char[7] c<br>
 // CHECK-NEXT:   12 |   struct B1 (base) (empty)<br>
 // CHECK-NEXT:    8 |   (AD2 vbtable pointer)<br>
 // CHECK-NEXT:   12 |   struct B0 (virtual base) (empty)<br>
@@ -298,7 +298,7 @@ struct AD2 : B10, B1, virtual B0 {<br>
 // CHECK-NEXT:      |  nvsize=12, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct AD2{{$}}<br>
 // CHECK-X64-NEXT:    0 |   struct B10 (base)<br>
-// CHECK-X64-NEXT:    0 |     char [7] c<br>
+// CHECK-X64-NEXT:    0 |     char[7] c<br>
 // CHECK-X64-NEXT:   16 |   struct B1 (base) (empty)<br>
 // CHECK-X64-NEXT:    8 |   (AD2 vbtable pointer)<br>
 // CHECK-X64-NEXT:   16 |   struct B0 (virtual base) (empty)<br>
@@ -312,7 +312,7 @@ struct AA3 : B11, B1, virtual B0 {<br>
<br>
 // CHECK-LABEL:   0 | struct AA3{{$}}<br>
 // CHECK-NEXT:    0 |   struct B11 (base)<br>
-// CHECK-NEXT:    0 |     char [8] c<br>
+// CHECK-NEXT:    0 |     char[8] c<br>
 // CHECK-NEXT:   12 |   struct B1 (base) (empty)<br>
 // CHECK-NEXT:    8 |   (AA3 vbtable pointer)<br>
 // CHECK-NEXT:   12 |   int a<br>
@@ -321,7 +321,7 @@ struct AA3 : B11, B1, virtual B0 {<br>
 // CHECK-NEXT:      |  nvsize=16, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct AA3{{$}}<br>
 // CHECK-X64-NEXT:    0 |   struct B11 (base)<br>
-// CHECK-X64-NEXT:    0 |     char [8] c<br>
+// CHECK-X64-NEXT:    0 |     char[8] c<br>
 // CHECK-X64-NEXT:   16 |   struct B1 (base) (empty)<br>
 // CHECK-X64-NEXT:    8 |   (AA3 vbtable pointer)<br>
 // CHECK-X64-NEXT:   16 |   int a<br>
@@ -336,7 +336,7 @@ struct AB3 : B11, B1, virtual B0 {<br>
<br>
 // CHECK-LABEL:   0 | struct AB3{{$}}<br>
 // CHECK-NEXT:    0 |   struct B11 (base)<br>
-// CHECK-NEXT:    0 |     char [8] c<br>
+// CHECK-NEXT:    0 |     char[8] c<br>
 // CHECK-NEXT:   12 |   struct B1 (base) (empty)<br>
 // CHECK-NEXT:    8 |   (AB3 vbtable pointer)<br>
 // CHECK-NEXT:   12 |   short a<br>
@@ -345,7 +345,7 @@ struct AB3 : B11, B1, virtual B0 {<br>
 // CHECK-NEXT:      |  nvsize=16, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct AB3{{$}}<br>
 // CHECK-X64-NEXT:    0 |   struct B11 (base)<br>
-// CHECK-X64-NEXT:    0 |     char [8] c<br>
+// CHECK-X64-NEXT:    0 |     char[8] c<br>
 // CHECK-X64-NEXT:   16 |   struct B1 (base) (empty)<br>
 // CHECK-X64-NEXT:    8 |   (AB3 vbtable pointer)<br>
 // CHECK-X64-NEXT:   16 |   short a<br>
@@ -360,7 +360,7 @@ struct AC3 : B11, B1, virtual B0 {<br>
<br>
 // CHECK-LABEL:   0 | struct AC3{{$}}<br>
 // CHECK-NEXT:    0 |   struct B11 (base)<br>
-// CHECK-NEXT:    0 |     char [8] c<br>
+// CHECK-NEXT:    0 |     char[8] c<br>
 // CHECK-NEXT:   12 |   struct B1 (base) (empty)<br>
 // CHECK-NEXT:    8 |   (AC3 vbtable pointer)<br>
 // CHECK-NEXT:   12 |   char a<br>
@@ -369,7 +369,7 @@ struct AC3 : B11, B1, virtual B0 {<br>
 // CHECK-NEXT:      |  nvsize=16, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct AC3{{$}}<br>
 // CHECK-X64-NEXT:    0 |   struct B11 (base)<br>
-// CHECK-X64-NEXT:    0 |     char [8] c<br>
+// CHECK-X64-NEXT:    0 |     char[8] c<br>
 // CHECK-X64-NEXT:   16 |   struct B1 (base) (empty)<br>
 // CHECK-X64-NEXT:    8 |   (AC3 vbtable pointer)<br>
 // CHECK-X64-NEXT:   16 |   char a<br>
@@ -383,7 +383,7 @@ struct AD3 : B11, B1, virtual B0 {<br>
<br>
 // CHECK-LABEL:   0 | struct AD3{{$}}<br>
 // CHECK-NEXT:    0 |   struct B11 (base)<br>
-// CHECK-NEXT:    0 |     char [8] c<br>
+// CHECK-NEXT:    0 |     char[8] c<br>
 // CHECK-NEXT:   12 |   struct B1 (base) (empty)<br>
 // CHECK-NEXT:    8 |   (AD3 vbtable pointer)<br>
 // CHECK-NEXT:   12 |   struct B0 (virtual base) (empty)<br>
@@ -391,7 +391,7 @@ struct AD3 : B11, B1, virtual B0 {<br>
 // CHECK-NEXT:      |  nvsize=12, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct AD3{{$}}<br>
 // CHECK-X64-NEXT:    0 |   struct B11 (base)<br>
-// CHECK-X64-NEXT:    0 |     char [8] c<br>
+// CHECK-X64-NEXT:    0 |     char[8] c<br>
 // CHECK-X64-NEXT:   16 |   struct B1 (base) (empty)<br>
 // CHECK-X64-NEXT:    8 |   (AD3 vbtable pointer)<br>
 // CHECK-X64-NEXT:   16 |   struct B0 (virtual base) (empty)<br>
@@ -507,7 +507,7 @@ struct F : B1, B6, B4, B8, B5, virtual B0 {<br>
 // CHECK-NEXT:    2 |   struct B6 (base) (empty)<br>
 // CHECK-NEXT:    3 |   struct B4 (base) (empty)<br>
 // CHECK-NEXT:    3 |   struct B8 (base)<br>
-// CHECK-NEXT:    3 |     char [5] c<br>
+// CHECK-NEXT:    3 |     char[5] c<br>
 // CHECK-NEXT:   12 |   struct B5 (base) (empty)<br>
 // CHECK-NEXT:    8 |   (F vbtable pointer)<br>
 // CHECK-NEXT:   12 |   int a<br>
@@ -519,7 +519,7 @@ struct F : B1, B6, B4, B8, B5, virtual B0 {<br>
 // CHECK-X64-NEXT:    2 |   struct B6 (base) (empty)<br>
 // CHECK-X64-NEXT:    3 |   struct B4 (base) (empty)<br>
 // CHECK-X64-NEXT:    3 |   struct B8 (base)<br>
-// CHECK-X64-NEXT:    3 |     char [5] c<br>
+// CHECK-X64-NEXT:    3 |     char[5] c<br>
 // CHECK-X64-NEXT:   16 |   struct B5 (base) (empty)<br>
 // CHECK-X64-NEXT:    8 |   (F vbtable pointer)<br>
 // CHECK-X64-NEXT:   16 |   int a<br>
@@ -535,7 +535,7 @@ struct G : B8, B1, virtual B0 {<br>
<br>
 // CHECK-LABEL:   0 | struct G{{$}}<br>
 // CHECK-NEXT:    0 |   struct B8 (base)<br>
-// CHECK-NEXT:    0 |     char [5] c<br>
+// CHECK-NEXT:    0 |     char[5] c<br>
 // CHECK-NEXT:   21 |   struct B1 (base) (empty)<br>
 // CHECK-NEXT:    8 |   (G vbtable pointer)<br>
 // CHECK-NEXT:   24 |   int a<br>
@@ -545,7 +545,7 @@ struct G : B8, B1, virtual B0 {<br>
 // CHECK-NEXT:      |  nvsize=48, nvalign=16]<br>
 // CHECK-X64-LABEL:   0 | struct G{{$}}<br>
 // CHECK-X64-NEXT:    0 |   struct B8 (base)<br>
-// CHECK-X64-NEXT:    0 |     char [5] c<br>
+// CHECK-X64-NEXT:    0 |     char[5] c<br>
 // CHECK-X64-NEXT:   21 |   struct B1 (base) (empty)<br>
 // CHECK-X64-NEXT:    8 |   (G vbtable pointer)<br>
 // CHECK-X64-NEXT:   24 |   int a<br>
<br>
diff  --git a/clang/test/Layout/ms-x86-misalignedarray.cpp b/clang/test/Layout/ms-x86-misalignedarray.cpp<br>
index de5bcc7c35c2d..7ca24ee6b468f 100644<br>
--- a/clang/test/Layout/ms-x86-misalignedarray.cpp<br>
+++ b/clang/test/Layout/ms-x86-misalignedarray.cpp<br>
@@ -11,7 +11,7 @@ struct T3 { T2 a[1]; char c; };<br>
 // CHECK: *** Dumping AST Record Layout<br>
 // CHECK: *** Dumping AST Record Layout<br>
 // CHECK-NEXT:    0 | struct T3<br>
-// CHECK-NEXT:    0 |   struct T2 [1] a<br>
+// CHECK-NEXT:    0 |   struct T2[1] a<br>
 // CHECK-NEXT:    5 |   char c<br>
 // CHECK-NEXT:      | [sizeof=8, align=4<br>
 // CHECK-NEXT:      |  nvsize=8, nvalign=4]<br>
@@ -19,7 +19,7 @@ struct T3 { T2 a[1]; char c; };<br>
 // CHECK-X64: *** Dumping AST Record Layout<br>
 // CHECK-X64: *** Dumping AST Record Layout<br>
 // CHECK-X64-NEXT:    0 | struct T3<br>
-// CHECK-X64-NEXT:    0 |   struct T2 [1] a<br>
+// CHECK-X64-NEXT:    0 |   struct T2[1] a<br>
 // CHECK-X64-NEXT:   16 |   char c<br>
 // CHECK-X64-NEXT:      | [sizeof=24, align=8<br>
 // CHECK-X64-NEXT:      |  nvsize=24, nvalign=8]<br>
<br>
diff  --git a/clang/test/Layout/ms-x86-pack-and-align.cpp b/clang/test/Layout/ms-x86-pack-and-align.cpp<br>
index c557ebcc954dd..fc4fe17b29e3b 100644<br>
--- a/clang/test/Layout/ms-x86-pack-and-align.cpp<br>
+++ b/clang/test/Layout/ms-x86-pack-and-align.cpp<br>
@@ -650,11 +650,11 @@ struct __declspec(align(4)) EmptyAlignedLongLongMemb {<br>
 };<br>
<br>
 // CHECK-LABEL:   0 | struct EmptyAlignedLongLongMemb{{$}}<br>
-// CHECK-NEXT:    0 |   long long [0] FlexArrayMemb<br>
+// CHECK-NEXT:    0 |   long long[0] FlexArrayMemb<br>
 // CHECK-NEXT:      | [sizeof=8, align=8<br>
 // CHECK-NEXT:      |  nvsize=0, nvalign=8]<br>
 // CHECK-X64-LABEL:   0 | struct EmptyAlignedLongLongMemb{{$}}<br>
-// CHECK-X64-NEXT:    0 |   long long [0] FlexArrayMemb<br>
+// CHECK-X64-NEXT:    0 |   long long[0] FlexArrayMemb<br>
 // CHECK-X64-NEXT:      | [sizeof=8, align=8<br>
 // CHECK-X64-NEXT:      |  nvsize=0, nvalign=8]<br>
<br>
@@ -665,11 +665,11 @@ struct __declspec(align(4)) EmptyPackedAlignedLongLongMemb {<br>
 #pragma pack()<br>
<br>
 // CHECK-LABEL:   0 | struct EmptyPackedAlignedLongLongMemb{{$}}<br>
-// CHECK-NEXT:    0 |   long long [0] FlexArrayMemb<br>
+// CHECK-NEXT:    0 |   long long[0] FlexArrayMemb<br>
 // CHECK-NEXT:      | [sizeof=4, align=4<br>
 // CHECK-NEXT:      |  nvsize=0, nvalign=4]<br>
 // CHECK-X64-LABEL:   0 | struct EmptyPackedAlignedLongLongMemb{{$}}<br>
-// CHECK-X64-NEXT:    0 |   long long [0] FlexArrayMemb<br>
+// CHECK-X64-NEXT:    0 |   long long[0] FlexArrayMemb<br>
 // CHECK-X64-NEXT:      | [sizeof=4, align=4<br>
 // CHECK-X64-NEXT:      |  nvsize=0, nvalign=4]<br>
<br>
<br>
diff  --git a/clang/test/Layout/no-unique-address.cpp b/clang/test/Layout/no-unique-address.cpp<br>
index 977355b558863..d5bb46647b88d 100644<br>
--- a/clang/test/Layout/no-unique-address.cpp<br>
+++ b/clang/test/Layout/no-unique-address.cpp<br>
@@ -154,7 +154,7 @@ namespace POD {<br>
   // CHECK:          0 | struct POD::B<br>
   // CHECK-NEXT:     0 |   struct POD::A a<br>
   // CHECK-NEXT:     0 |     int n<br>
-  // CHECK-NEXT:     4 |     char [3] c<br>
+  // CHECK-NEXT:     4 |     char[3] c<br>
   // CHECK-NEXT:     8 |   char d<br>
   // CHECK-NEXT:       | [sizeof=12, dsize=12, align=4,<br>
   // CHECK-NEXT:       |  nvsize=12, nvalign=4]<br>
@@ -169,7 +169,7 @@ namespace NonPOD {<br>
   // CHECK:          0 | struct NonPOD::B<br>
   // CHECK-NEXT:     0 |   struct NonPOD::A a<br>
   // CHECK-NEXT:     0 |     int n<br>
-  // CHECK-NEXT:     4 |     char [3] c<br>
+  // CHECK-NEXT:     4 |     char[3] c<br>
   // CHECK-NEXT:     7 |   char d<br>
   // CHECK-NEXT:       | [sizeof=8, dsize=8, align=4,<br>
   // CHECK-NEXT:       |  nvsize=8, nvalign=4]<br>
<br>
diff  --git a/clang/test/Layout/watchos-standard-layout.cpp b/clang/test/Layout/watchos-standard-layout.cpp<br>
index bd7bb1a434bdf..bf8af60fd98fb 100644<br>
--- a/clang/test/Layout/watchos-standard-layout.cpp<br>
+++ b/clang/test/Layout/watchos-standard-layout.cpp<br>
@@ -20,7 +20,7 @@ static_assert(!__is_standard_layout(B));<br>
 // CHECK-NEXT:     0 |     struct A (base) (empty)<br>
 // CHECK-NEXT:   0:- |       int <br>
 // CHECK-NEXT:     0 |     int n<br>
-// CHECK-NEXT:     4 |     char [3] c<br>
+// CHECK-NEXT:     4 |     char[3] c<br>
 // CHECK-NEXT:     8 |   char d<br>
 // CHECK-NEXT:       | [sizeof=12, dsize=9, align=4,<br>
 // CHECK-NEXT:       |  nvsize=9, nvalign=4]<br>
@@ -41,7 +41,7 @@ static_assert(!__is_standard_layout(F));<br>
 // CHECK-NEXT:     1 |     struct E (base) (empty)<br>
 // CHECK-NEXT:     1 |       struct D (base) (empty)<br>
 // CHECK-NEXT:     0 |     int n<br>
-// CHECK-NEXT:     4 |     char [3] c<br>
+// CHECK-NEXT:     4 |     char[3] c<br>
 // CHECK-NEXT:     8 |   char d<br>
 // CHECK-NEXT:       | [sizeof=12, dsize=9, align=4,<br>
 // CHECK-NEXT:       |  nvsize=9, nvalign=4]<br>
<br>
diff  --git a/clang/test/Misc/diag-macro-backtrace2.c b/clang/test/Misc/diag-macro-backtrace2.c<br>
index ca13dca074d83..b90dfa16900f2 100644<br>
--- a/clang/test/Misc/diag-macro-backtrace2.c<br>
+++ b/clang/test/Misc/diag-macro-backtrace2.c<br>
@@ -14,7 +14,7 @@ void PR16799() {<br>
   const char str[] = "string";<br>
   a(str);<br>
   // CHECK: :15:3: error: invalid operands to binary expression<br>
-  // CHECK:       ('const char [7]' and 'int')<br>
+  // CHECK:       ('const char[7]' and 'int')<br>
   // CHECK:   a(str);<br>
   // CHECK:   ^~~~~~<br>
   // CHECK: :3:11: note: expanded from macro 'a'<br>
<br>
diff  --git a/clang/test/Misc/integer-literal-printing.cpp b/clang/test/Misc/integer-literal-printing.cpp<br>
index 75e90be3c23ca..bd231a368fb70 100644<br>
--- a/clang/test/Misc/integer-literal-printing.cpp<br>
+++ b/clang/test/Misc/integer-literal-printing.cpp<br>
@@ -68,12 +68,12 @@ void Function() {<br>
   Function1(Type1<-42>()); // expected-error{{no matching function for call to 'Function1'}}<br>
   Function2(Type2<42>()); // expected-error{{no matching function for call to 'Function2'}}<br>
<br>
-  struct Type3<boolTy::b, "3"> t3; // expected-error{{value of type 'const char [2]' is not implicitly convertible to 'typename Type3Helper<(boolTy)false>::Ty' (aka 'boolTy')}}<br>
-<br>
-  struct Type4<charTy::c, "4"> t4; // expected-error{{value of type 'const char [2]' is not implicitly convertible to 'typename Type4Helper<(charTy)'\x00'>::Ty' (aka 'charTy')}}<br>
-  struct Type5<scharTy::c, "5"> t5; // expected-error{{value of type 'const char [2]' is not implicitly convertible to 'typename Type5Helper<(scharTy)'\x00'>::Ty' (aka 'scharTy')}}<br>
-  struct Type6<ucharTy::c, "6"> t6; // expected-error{{value of type 'const char [2]' is not implicitly convertible to 'typename Type6Helper<(ucharTy)'\x00'>::Ty' (aka 'ucharTy')}}<br>
-  struct Type7<wcharTy::c, "7"> t7; // expected-error{{value of type 'const char [2]' is not implicitly convertible to 'typename Type7Helper<(wcharTy)L'\x00'>::Ty' (aka 'wcharTy')}}<br>
-  struct Type8<char16Ty::c, "8"> t8; // expected-error{{value of type 'const char [2]' is not implicitly convertible to 'typename Type8Helper<(char16Ty)u'\x00'>::Ty' (aka 'char16Ty')}}<br>
-  struct Type9<char32Ty::c, "9"> t9; // expected-error{{value of type 'const char [2]' is not implicitly convertible to 'typename Type9Helper<(char32Ty)u'\x00'>::Ty' (aka 'char32Ty')}}<br>
+  struct Type3<boolTy::b, "3"> t3; // expected-error{{value of type 'const char[2]' is not implicitly convertible to 'typename Type3Helper<(boolTy)false>::Ty' (aka 'boolTy')}}<br>
+<br>
+  struct Type4<charTy::c, "4"> t4; // expected-error{{value of type 'const char[2]' is not implicitly convertible to 'typename Type4Helper<(charTy)'\x00'>::Ty' (aka 'charTy')}}<br>
+  struct Type5<scharTy::c, "5"> t5; // expected-error{{value of type 'const char[2]' is not implicitly convertible to 'typename Type5Helper<(scharTy)'\x00'>::Ty' (aka 'scharTy')}}<br>
+  struct Type6<ucharTy::c, "6"> t6; // expected-error{{value of type 'const char[2]' is not implicitly convertible to 'typename Type6Helper<(ucharTy)'\x00'>::Ty' (aka 'ucharTy')}}<br>
+  struct Type7<wcharTy::c, "7"> t7; // expected-error{{value of type 'const char[2]' is not implicitly convertible to 'typename Type7Helper<(wcharTy)L'\x00'>::Ty' (aka 'wcharTy')}}<br>
+  struct Type8<char16Ty::c, "8"> t8; // expected-error{{value of type 'const char[2]' is not implicitly convertible to 'typename Type8Helper<(char16Ty)u'\x00'>::Ty' (aka 'char16Ty')}}<br>
+  struct Type9<char32Ty::c, "9"> t9; // expected-error{{value of type 'const char[2]' is not implicitly convertible to 'typename Type9Helper<(char32Ty)u'\x00'>::Ty' (aka 'char32Ty')}}<br>
 }<br>
<br>
diff  --git a/clang/test/Modules/cxx-templates.cpp b/clang/test/Modules/cxx-templates.cpp<br>
index 5bb3ca3380516..b7d5741e69af6 100644<br>
--- a/clang/test/Modules/cxx-templates.cpp<br>
+++ b/clang/test/Modules/cxx-templates.cpp<br>
@@ -251,7 +251,7 @@ namespace Std {<br>
<br>
 // CHECK-DUMP:      ClassTemplateDecl {{.*}} <{{.*[/\\]}}cxx-templates-common.h:1:1, {{.*}}>  col:{{.*}} in cxx_templates_common SomeTemplate<br>
 // CHECK-DUMP:        ClassTemplateSpecializationDecl {{.*}} prev {{.*}} SomeTemplate<br>
-// CHECK-DUMP-NEXT:     TemplateArgument type 'char [2]'<br>
+// CHECK-DUMP-NEXT:     TemplateArgument type 'char[2]'<br>
 // CHECK-DUMP:        ClassTemplateSpecializationDecl {{.*}} SomeTemplate definition<br>
 // CHECK-DUMP-NEXT:     DefinitionData<br>
 // CHECK-DUMP-NEXT:       DefaultConstructor<br>
@@ -260,9 +260,9 @@ namespace Std {<br>
 // CHECK-DUMP-NEXT:       CopyAssignment<br>
 // CHECK-DUMP-NEXT:       MoveAssignment<br>
 // CHECK-DUMP-NEXT:       Destructor<br>
-// CHECK-DUMP-NEXT:     TemplateArgument type 'char [2]'<br>
+// CHECK-DUMP-NEXT:     TemplateArgument type 'char[2]'<br>
 // CHECK-DUMP:        ClassTemplateSpecializationDecl {{.*}} prev {{.*}} SomeTemplate<br>
-// CHECK-DUMP-NEXT:     TemplateArgument type 'char [1]'<br>
+// CHECK-DUMP-NEXT:     TemplateArgument type 'char[1]'<br>
 // CHECK-DUMP:        ClassTemplateSpecializationDecl {{.*}} SomeTemplate definition<br>
 // CHECK-DUMP-NEXT:     DefinitionData<br>
 // CHECK-DUMP-NEXT:       DefaultConstructor<br>
@@ -271,4 +271,4 @@ namespace Std {<br>
 // CHECK-DUMP-NEXT:       CopyAssignment<br>
 // CHECK-DUMP-NEXT:       MoveAssignment<br>
 // CHECK-DUMP-NEXT:       Destructor<br>
-// CHECK-DUMP-NEXT:     TemplateArgument type 'char [1]'<br>
+// CHECK-DUMP-NEXT:     TemplateArgument type 'char[1]'<br>
<br>
diff  --git a/clang/test/Modules/odr_hash.cpp b/clang/test/Modules/odr_hash.cpp<br>
index 6d26b3cfb570f..e2ff4348f04bb 100644<br>
--- a/clang/test/Modules/odr_hash.cpp<br>
+++ b/clang/test/Modules/odr_hash.cpp<br>
@@ -625,8 +625,8 @@ struct S14 {<br>
 };<br>
 #else<br>
 S14 s14;<br>
-// expected-error@second.h:* {{'Method::S14' has <br>
diff erent definitions in <br>
diff erent modules; first <br>
diff erence is definition in module 'SecondModule' found method 'A' with 1st parameter of type 'int *' decayed from 'int [3]'}}<br>
-// expected-note@first.h:* {{but in 'FirstModule' found method 'A' with 1st parameter of type 'int *' decayed from 'int [2]'}}<br>
+// expected-error@second.h:* {{'Method::S14' has <br>
diff erent definitions in <br>
diff erent modules; first <br>
diff erence is definition in module 'SecondModule' found method 'A' with 1st parameter of type 'int *' decayed from 'int[3]'}}<br>
+// expected-note@first.h:* {{but in 'FirstModule' found method 'A' with 1st parameter of type 'int *' decayed from 'int[2]'}}<br>
 #endif<br>
<br>
 #if defined(FIRST)<br>
@@ -4533,8 +4533,8 @@ int F9(int[1]) { return 0; }<br>
 int F9(int[2]) { return 0; }<br>
 #else<br>
 int I9 = F9(nullptr);<br>
-// expected-error@second.h:* {{'FunctionDecl::F9' has <br>
diff erent definitions in <br>
diff erent modules; definition in module 'SecondModule' first <br>
diff erence is 1st parameter with type 'int *' decayed from 'int [2]'}}<br>
-// expected-note@first.h:* {{but in 'FirstModule' found 1st parameter with type 'int *' decayed from 'int [1]'}}<br>
+// expected-error@second.h:* {{'FunctionDecl::F9' has <br>
diff erent definitions in <br>
diff erent modules; definition in module 'SecondModule' first <br>
diff erence is 1st parameter with type 'int *' decayed from 'int[2]'}}<br>
+// expected-note@first.h:* {{but in 'FirstModule' found 1st parameter with type 'int *' decayed from 'int[1]'}}<br>
 #endif<br>
<br>
 #if defined(FIRST)<br>
<br>
diff  --git a/clang/test/OpenMP/distribute_firstprivate_messages.cpp b/clang/test/OpenMP/distribute_firstprivate_messages.cpp<br>
index 1eb629512e6d4..30fa8be519ef2 100644<br>
--- a/clang/test/OpenMP/distribute_firstprivate_messages.cpp<br>
+++ b/clang/test/OpenMP/distribute_firstprivate_messages.cpp<br>
@@ -103,11 +103,11 @@ int main(int argc, char **argv) {<br>
   for (i = 0; i < argc; ++i) foo();<br>
   #pragma omp target<br>
   #pragma omp teams<br>
-  #pragma omp distribute firstprivate(ba) // expected-warning {{Type 'const S2 [5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
+  #pragma omp distribute firstprivate(ba) // expected-warning {{Type 'const S2[5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
   for (i = 0; i < argc; ++i) foo();<br>
   #pragma omp target<br>
   #pragma omp teams<br>
-  #pragma omp distribute firstprivate(ca) // expected-error {{no matching constructor for initialization of 'S3'}} expected-warning {{Type 'const S3 [5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
+  #pragma omp distribute firstprivate(ca) // expected-error {{no matching constructor for initialization of 'S3'}} expected-warning {{Type 'const S3[5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
   for (i = 0; i < argc; ++i) foo();<br>
   #pragma omp target<br>
   #pragma omp teams<br>
<br>
diff  --git a/clang/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp b/clang/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp<br>
index 16584a005f24c..84d6337be34bb 100644<br>
--- a/clang/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp<br>
+++ b/clang/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp<br>
@@ -256,12 +256,12 @@ int main(int argc, char **argv) {<br>
     foo();<br>
 #pragma omp target<br>
 #pragma omp teams<br>
-#pragma omp distribute parallel for firstprivate(ba) // expected-warning {{Type 'const S2 [5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
+#pragma omp distribute parallel for firstprivate(ba) // expected-warning {{Type 'const S2[5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
   for (i = 0; i < argc; ++i)<br>
     foo();<br>
 #pragma omp target<br>
 #pragma omp teams<br>
-#pragma omp distribute parallel for firstprivate(ca) // expected-warning {{Type 'const S3 [5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
+#pragma omp distribute parallel for firstprivate(ca) // expected-warning {{Type 'const S3[5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
   for (i = 0; i < argc; ++i)<br>
     foo();<br>
 #pragma omp target<br>
<br>
diff  --git a/clang/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp b/clang/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp<br>
index 6001e27155238..f403922e14e8b 100644<br>
--- a/clang/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp<br>
+++ b/clang/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp<br>
@@ -243,12 +243,12 @@ int main(int argc, char **argv) {<br>
     foo();<br>
 #pragma omp target<br>
 #pragma omp teams<br>
-#pragma omp distribute parallel for lastprivate(ba) // expected-warning {{Type 'const S2 [5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
+#pragma omp distribute parallel for lastprivate(ba) // expected-warning {{Type 'const S2[5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
   for (i = 0; i < argc; ++i)<br>
     foo();<br>
 #pragma omp target<br>
 #pragma omp teams<br>
-#pragma omp distribute parallel for lastprivate(ca) // expected-error {{const-qualified variable without mutable fields cannot be lastprivate}} expected-warning {{Type 'const S3 [5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
+#pragma omp distribute parallel for lastprivate(ca) // expected-error {{const-qualified variable without mutable fields cannot be lastprivate}} expected-warning {{Type 'const S3[5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
   for (i = 0; i < argc; ++i)<br>
     foo();<br>
 #pragma omp target<br>
<br>
diff  --git a/clang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp b/clang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp<br>
index 800e33897226e..645da9b7f0fed 100644<br>
--- a/clang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp<br>
+++ b/clang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp<br>
@@ -374,12 +374,12 @@ int main(int argc, char **argv) {<br>
     foo();<br>
 #pragma omp target<br>
 #pragma omp teams<br>
-#pragma omp distribute parallel for reduction(+ : ba) // expected-error {{const-qualified variable cannot be reduction}} expected-warning {{Type 'const S2 [5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
+#pragma omp distribute parallel for reduction(+ : ba) // expected-error {{const-qualified variable cannot be reduction}} expected-warning {{Type 'const S2[5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
   for (int i = 0; i < 10; ++i)<br>
     foo();<br>
 #pragma omp target<br>
 #pragma omp teams<br>
-#pragma omp distribute parallel for reduction(* : ca) // expected-error {{const-qualified variable cannot be reduction}} expected-warning {{Type 'const S3 [5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
+#pragma omp distribute parallel for reduction(* : ca) // expected-error {{const-qualified variable cannot be reduction}} expected-warning {{Type 'const S3[5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
   for (int i = 0; i < 10; ++i)<br>
     foo();<br>
 #pragma omp target<br>
<br>
diff  --git a/clang/test/OpenMP/distribute_parallel_for_simd_shared_messages.cpp b/clang/test/OpenMP/distribute_parallel_for_simd_shared_messages.cpp<br>
index 455eb7d053bf5..7c83e4c674c66 100644<br>
--- a/clang/test/OpenMP/distribute_parallel_for_simd_shared_messages.cpp<br>
+++ b/clang/test/OpenMP/distribute_parallel_for_simd_shared_messages.cpp<br>
@@ -131,14 +131,14 @@ T tmain(T argc, S **argv) {<br>
<br>
 #pragma omp target<br>
 #pragma omp teams<br>
-#pragma omp distribute parallel for simd shared(ba) // expected-warning {{Type 'const S2 [5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
+#pragma omp distribute parallel for simd shared(ba) // expected-warning {{Type 'const S2[5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
   for(int k = 0 ; k < n ; k++) {<br>
     acc++;<br>
   }<br>
<br>
 #pragma omp target<br>
 #pragma omp teams<br>
-#pragma omp distribute parallel for simd shared(ca) // expected-warning {{Type 'const S3 [5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
+#pragma omp distribute parallel for simd shared(ca) // expected-warning {{Type 'const S3[5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
   for(int k = 0 ; k < n ; k++) {<br>
     acc++;<br>
   }<br>
@@ -305,14 +305,14 @@ int main(int argc, char **argv) {<br>
<br>
 #pragma omp target<br>
 #pragma omp teams<br>
-#pragma omp distribute parallel for simd shared(ba) // expected-warning {{Type 'const S2 [5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
+#pragma omp distribute parallel for simd shared(ba) // expected-warning {{Type 'const S2[5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
   for(int k = 0 ; k < n ; k++) {<br>
     acc++;<br>
   }<br>
<br>
 #pragma omp target<br>
 #pragma omp teams<br>
-#pragma omp distribute parallel for simd shared(ca) // expected-warning {{Type 'const S3 [5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
+#pragma omp distribute parallel for simd shared(ca) // expected-warning {{Type 'const S3[5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
   for(int k = 0 ; k < n ; k++) {<br>
     acc++;<br>
   }<br>
<br>
diff  --git a/clang/test/OpenMP/distribute_simd_firstprivate_messages.cpp b/clang/test/OpenMP/distribute_simd_firstprivate_messages.cpp<br>
index 7ec5cf2f27741..43057fe5bacc5 100644<br>
--- a/clang/test/OpenMP/distribute_simd_firstprivate_messages.cpp<br>
+++ b/clang/test/OpenMP/distribute_simd_firstprivate_messages.cpp<br>
@@ -248,12 +248,12 @@ int main(int argc, char **argv) {<br>
     foo();<br>
 #pragma omp target<br>
 #pragma omp teams<br>
-#pragma omp distribute simd firstprivate(ba) // expected-warning {{Type 'const S2 [5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
+#pragma omp distribute simd firstprivate(ba) // expected-warning {{Type 'const S2[5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
   for (i = 0; i < argc; ++i)<br>
     foo();<br>
 #pragma omp target<br>
 #pragma omp teams<br>
-#pragma omp distribute simd firstprivate(ca) // expected-warning {{Type 'const S3 [5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
+#pragma omp distribute simd firstprivate(ca) // expected-warning {{Type 'const S3[5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
   for (i = 0; i < argc; ++i)<br>
     foo();<br>
 #pragma omp target<br>
<br>
diff  --git a/clang/test/OpenMP/distribute_simd_lastprivate_messages.cpp b/clang/test/OpenMP/distribute_simd_lastprivate_messages.cpp<br>
index 6033f6b0f4b45..7658288242ab3 100644<br>
--- a/clang/test/OpenMP/distribute_simd_lastprivate_messages.cpp<br>
+++ b/clang/test/OpenMP/distribute_simd_lastprivate_messages.cpp<br>
@@ -244,12 +244,12 @@ int main(int argc, char **argv) {<br>
     foo();<br>
 #pragma omp target<br>
 #pragma omp teams<br>
-#pragma omp distribute simd lastprivate(ba) // expected-warning {{Type 'const S2 [5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
+#pragma omp distribute simd lastprivate(ba) // expected-warning {{Type 'const S2[5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
   for (i = 0; i < argc; ++i)<br>
     foo();<br>
 #pragma omp target<br>
 #pragma omp teams<br>
-#pragma omp distribute simd lastprivate(ca) // expected-error {{const-qualified variable without mutable fields cannot be lastprivate}} expected-warning {{Type 'const S3 [5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
+#pragma omp distribute simd lastprivate(ca) // expected-error {{const-qualified variable without mutable fields cannot be lastprivate}} expected-warning {{Type 'const S3[5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
   for (i = 0; i < argc; ++i)<br>
     foo();<br>
 #pragma omp target<br>
<br>
diff  --git a/clang/test/OpenMP/distribute_simd_reduction_messages.cpp b/clang/test/OpenMP/distribute_simd_reduction_messages.cpp<br>
index 3ac2227625be1..841103d7a6b77 100644<br>
--- a/clang/test/OpenMP/distribute_simd_reduction_messages.cpp<br>
+++ b/clang/test/OpenMP/distribute_simd_reduction_messages.cpp<br>
@@ -379,12 +379,12 @@ int main(int argc, char **argv) {<br>
     foo();<br>
 #pragma omp target<br>
 #pragma omp teams<br>
-#pragma omp distribute simd reduction(+ : ba) // expected-error {{const-qualified variable cannot be reduction}} expected-warning {{Type 'const S2 [5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
+#pragma omp distribute simd reduction(+ : ba) // expected-error {{const-qualified variable cannot be reduction}} expected-warning {{Type 'const S2[5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
   for (int i = 0; i < 10; ++i)<br>
     foo();<br>
 #pragma omp target<br>
 #pragma omp teams<br>
-#pragma omp distribute simd reduction(* : ca) // expected-error {{const-qualified variable cannot be reduction}} expected-warning {{Type 'const S3 [5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
+#pragma omp distribute simd reduction(* : ca) // expected-error {{const-qualified variable cannot be reduction}} expected-warning {{Type 'const S3[5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
   for (int i = 0; i < 10; ++i)<br>
     foo();<br>
 #pragma omp target<br>
<br>
diff  --git a/clang/test/OpenMP/parallel_reduction_messages.c b/clang/test/OpenMP/parallel_reduction_messages.c<br>
index eef9a7d7d133a..fda8200f4b8d0 100644<br>
--- a/clang/test/OpenMP/parallel_reduction_messages.c<br>
+++ b/clang/test/OpenMP/parallel_reduction_messages.c<br>
@@ -16,7 +16,7 @@ void test(int *p) {<br>
   ;<br>
 #pragma omp parallel reduction(inscan, + : a) // expected-error {{'inscan' modifier can be used only in 'omp for', 'omp simd', 'omp for simd', 'omp parallel for', or 'omp parallel for simd' directive}}<br>
   ;<br>
-#pragma omp parallel reduction(+ : incomplete, ([10])p) // expected-error {{a reduction list item with incomplete type 'int []'}} expected-error {{expected variable name, array element or array section}}<br>
+#pragma omp parallel reduction(+ : incomplete, ([10])p) // expected-error {{a reduction list item with incomplete type 'int[]'}} expected-error {{expected variable name, array element or array section}}<br>
   ;<br>
 }<br>
<br>
<br>
diff  --git a/clang/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp b/clang/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp<br>
index cbb35568e22f1..fccf5515998dc 100644<br>
--- a/clang/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp<br>
+++ b/clang/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp<br>
@@ -119,7 +119,7 @@ int main(int argc, char **argv) {<br>
   for (i = 0; i < argc; ++i) foo();<br>
<br>
 #pragma omp target<br>
-#pragma omp teams distribute firstprivate(ca) // expected-error {{no matching constructor for initialization of 'S3'}} expected-warning {{Type 'const S3 [5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
+#pragma omp teams distribute firstprivate(ca) // expected-error {{no matching constructor for initialization of 'S3'}} expected-warning {{Type 'const S3[5]' is not trivially copyable and not guaranteed to be mapped correctly}}<br>
   for (i = 0; i < argc; ++i) foo();<br>
<br>
 #pragma omp target teams distribute firstprivate(da, z)<br>
<br>
diff  --git a/clang/test/PCH/objc_exprs.m b/clang/test/PCH/objc_exprs.m<br>
index 1f971e794133f..b503f419c7a32 100644<br>
--- a/clang/test/PCH/objc_exprs.m<br>
+++ b/clang/test/PCH/objc_exprs.m<br>
@@ -9,7 +9,7 @@<br>
 int *A1 = (objc_string)0;   // expected-warning {{aka 'NSString *'}}<br>
<br>
 char A2 = (objc_encode){};  // expected-error {{not a compile-time constant}} \<br>
-                               expected-warning {{char [2]}}<br>
+                               expected-warning {{char[2]}}<br>
<br>
 int *A3 = (objc_protocol)0; // expected-warning {{aka 'Protocol *'}}<br>
<br>
<br>
diff  --git a/clang/test/Parser/atomic.c b/clang/test/Parser/atomic.c<br>
index 928a43b330310..e8214966c3343 100644<br>
--- a/clang/test/Parser/atomic.c<br>
+++ b/clang/test/Parser/atomic.c<br>
@@ -29,7 +29,7 @@ typedef int int_fn();<br>
 typedef _Atomic int_fn atomic_int_fn; // expected-error {{_Atomic cannot be applied to function type 'int_fn' (aka 'int ()')}} \<br>
                                       // ext-warning {{'_Atomic' is a C11 extension}}<br>
 typedef _Atomic int atomic_int_array[3]; // ext-warning {{'_Atomic' is a C11 extension}}<br>
-typedef _Atomic atomic_int_array atomic_int_atomic_array; // expected-error {{_Atomic cannot be applied to array type 'atomic_int_array' (aka '_Atomic(int) [3]')}} \<br>
+typedef _Atomic atomic_int_array atomic_int_atomic_array; // expected-error {{_Atomic cannot be applied to array type 'atomic_int_array' (aka '_Atomic(int)[3]')}} \<br>
                                                           // ext-warning {{'_Atomic' is a C11 extension}}<br>
<br>
 _Atomic struct S { int n; }; // expected-warning {{'_Atomic' ignored on this declaration}} \<br>
<br>
diff  --git a/clang/test/Sema/array-constraint.c b/clang/test/Sema/array-constraint.c<br>
index bee33c09efbd0..b7e46fda7c560 100644<br>
--- a/clang/test/Sema/array-constraint.c<br>
+++ b/clang/test/Sema/array-constraint.c<br>
@@ -46,7 +46,7 @@ typedef int TA[I]; // expected-error {{variable length array declaration not all<br>
 void strFunc(char *); // expected-note{{passing argument to parameter here}}<br>
 const char staticAry[] = "test";<br>
 void checkStaticAry() { <br>
-  strFunc(staticAry); // expected-warning{{passing 'const char [5]' to parameter of type 'char *' discards qualifiers}}<br>
+  strFunc(staticAry); // expected-warning{{passing 'const char[5]' to parameter of type 'char *' discards qualifiers}}<br>
 }<br>
<br>
<br>
<br>
diff  --git a/clang/test/Sema/array-init.c b/clang/test/Sema/array-init.c<br>
index 15edcb0a86569..5ce5075dc9725 100644<br>
--- a/clang/test/Sema/array-init.c<br>
+++ b/clang/test/Sema/array-init.c<br>
@@ -11,7 +11,7 @@ int ary2[] = { x, y, z }; // expected-error{{initializer element is not a compil<br>
<br>
 extern int fileScopeExtern[3] = { 1, 3, 5 }; // expected-warning{{'extern' variable has an initializer}}<br>
<br>
-static long ary3[] = { 1, "abc", 3, 4 }; // expected-warning{{incompatible pointer to integer conversion initializing 'long' with an expression of type 'char [4]'}}<br>
+static long ary3[] = { 1, "abc", 3, 4 }; // expected-warning{{incompatible pointer to integer conversion initializing 'long' with an expression of type 'char[4]'}}<br>
<br>
 void func() {<br>
   int x = 1;<br>
@@ -51,7 +51,7 @@ void func() {<br>
   extern int blockScopeExtern[3] = { 1, 3, 5 }; // expected-error{{'extern' variable cannot have an initializer}}<br>
<br>
   static long x2[3] = { 1.0,<br>
-                        "abc", // expected-warning{{incompatible pointer to integer conversion initializing 'long' with an expression of type 'char [4]'}}<br>
+                        "abc", // expected-warning{{incompatible pointer to integer conversion initializing 'long' with an expression of type 'char[4]'}}<br>
                          5.8 }; // expected-warning {{implicit conversion from 'double' to 'long' changes value from 5.8 to 5}}<br>
 }<br>
<br>
@@ -114,12 +114,12 @@ int legal2() {<br>
 }<br>
<br>
 void illegal() {<br>
-  short q2[4][][2] = { // expected-error{{array has incomplete element type 'short [][2]'}}<br>
+  short q2[4][][2] = { // expected-error{{array has incomplete element type 'short[][2]'}}<br>
     { 1, 0, 0, 0, 0, 0 },<br>
     { 2, 3, 0, 0, 0, 0 },<br>
     { 4, 5, 6 }<br>
   };<br>
-  short q3[4][3][] = { // expected-error{{array has incomplete element type 'short []'}}<br>
+  short q3[4][3][] = { // expected-error{{array has incomplete element type 'short[]'}}<br>
     { <br>
       { 1 },<br>
     },<br>
@@ -131,7 +131,7 @@ void illegal() {<br>
       { 6 },<br>
     },<br>
   };<br>
-  int a[][] = { 1, 2 }; // expected-error{{array has incomplete element type 'int []'}}<br>
+  int a[][] = { 1, 2 }; // expected-error{{array has incomplete element type 'int[]'}}<br>
 }<br>
<br>
 typedef int AryT[];<br>
@@ -168,10 +168,10 @@ void charArrays() {<br>
   char c[] = { "Hello" };<br>
   int l[sizeof(c) == 6 ? 1 : -1];<br>
<br>
-  int i[] = { "Hello "}; // expected-warning{{incompatible pointer to integer conversion initializing 'int' with an expression of type 'char [7]'}}<br>
+  int i[] = { "Hello "}; // expected-warning{{incompatible pointer to integer conversion initializing 'int' with an expression of type 'char[7]'}}<br>
   char c2[] = { "Hello", "Good bye" }; //expected-warning{{excess elements in char array initializer}}<br>
<br>
-  int i2[1] = { "Hello" }; //expected-warning{{incompatible pointer to integer conversion initializing 'int' with an expression of type 'char [6]'}}<br>
+  int i2[1] = { "Hello" }; //expected-warning{{incompatible pointer to integer conversion initializing 'int' with an expression of type 'char[6]'}}<br>
   char c3[5] = { "Hello" };<br>
   char c4[4] = { "Hello" }; //expected-warning{{initializer-string for char array is too long}}<br>
<br>
@@ -204,7 +204,7 @@ void autoStructTest() {<br>
 struct s1 {char a; char b;} t1;<br>
 struct s2 {struct s1 c;} t2 = { t1 };<br>
 // The following is a less than great diagnostic (though it's on par with EDG).<br>
-struct s1 t3[] = {t1, t1, "abc", 0}; //expected-warning{{incompatible pointer to integer conversion initializing 'char' with an expression of type 'char [4]'}}<br>
+struct s1 t3[] = {t1, t1, "abc", 0}; //expected-warning{{incompatible pointer to integer conversion initializing 'char' with an expression of type 'char[4]'}}<br>
 int t4[sizeof t3 == 6 ? 1 : -1];<br>
 }<br>
 struct foo { int z; } w;<br>
@@ -282,13 +282,13 @@ char badchararray[1] = { badchararray[0], "asdf" }; // expected-warning {{excess<br>
 // Test the GNU extension for initializing an array from an array<br>
 // compound literal. PR9261.<br>
 typedef int int5[5];<br>
-int a1[5] = (int[]){1, 2, 3, 4, 5}; // expected-warning{{initialization of an array of type 'int [5]' from a compound literal of type 'int [5]' is a GNU extension}}<br>
-int a2[5] = (int[5]){1, 2, 3, 4, 5}; // expected-warning{{initialization of an array of type 'int [5]' from a compound literal of type 'int [5]' is a GNU extension}}<br>
-int a3[] = ((int[]){1, 2, 3, 4, 5}); // expected-warning{{initialization of an array of type 'int []' from a compound literal of type 'int [5]' is a GNU extension}}<br>
-int a4[] = (int[5]){1, 2, 3, 4, 5}; // expected-warning{{initialization of an array of type 'int []' from a compound literal of type 'int [5]' is a GNU extension}}<br>
-int a5[] = (int5){1, 2, 3, 4, 5}; // expected-warning{{initialization of an array of type 'int []' from a compound literal of type 'int5' (aka 'int [5]') is a GNU extension}}<br>
+int a1[5] = (int[]){1, 2, 3, 4, 5}; // expected-warning{{initialization of an array of type 'int[5]' from a compound literal of type 'int[5]' is a GNU extension}}<br>
+int a2[5] = (int[5]){1, 2, 3, 4, 5}; // expected-warning{{initialization of an array of type 'int[5]' from a compound literal of type 'int[5]' is a GNU extension}}<br>
+int a3[] = ((int[]){1, 2, 3, 4, 5}); // expected-warning{{initialization of an array of type 'int[]' from a compound literal of type 'int[5]' is a GNU extension}}<br>
+int a4[] = (int[5]){1, 2, 3, 4, 5}; // expected-warning{{initialization of an array of type 'int[]' from a compound literal of type 'int[5]' is a GNU extension}}<br>
+int a5[] = (int5){1, 2, 3, 4, 5}; // expected-warning{{initialization of an array of type 'int[]' from a compound literal of type 'int5' (aka 'int[5]') is a GNU extension}}<br>
<br>
-int a6[5] = (int[]){1, 2, 3}; // expected-error{{cannot initialize array of type 'int [5]' with array of type 'int [3]'}}<br>
+int a6[5] = (int[]){1, 2, 3}; // expected-error{{cannot initialize array of type 'int[5]' with array of type 'int[3]'}}<br>
<br>
 int nonconst_value();<br>
 int a7[5] = (int[5]){ 1,<br>
<br>
diff  --git a/clang/test/Sema/assign.c b/clang/test/Sema/assign.c<br>
index d65f9bf26547e..3a329432dfbcb 100644<br>
--- a/clang/test/Sema/assign.c<br>
+++ b/clang/test/Sema/assign.c<br>
@@ -13,8 +13,8 @@ typedef int arr[10];<br>
 void test3() {<br>
   const arr b;      // expected-note {{variable 'b' declared const here}}<br>
   const int b2[10]; // expected-note {{variable 'b2' declared const here}}<br>
-  b[4] = 1;         // expected-error {{cannot assign to variable 'b' with const-qualified type 'const arr' (aka 'const int [10]')}}<br>
-  b2[4] = 1;        // expected-error {{cannot assign to variable 'b2' with const-qualified type 'const int [10]'}}<br>
+  b[4] = 1;         // expected-error {{cannot assign to variable 'b' with const-qualified type 'const arr' (aka 'const int[10]')}}<br>
+  b2[4] = 1;        // expected-error {{cannot assign to variable 'b2' with const-qualified type 'const int[10]'}}<br>
 }<br>
<br>
 typedef struct I {<br>
<br>
diff  --git a/clang/test/Sema/builtin-expect-with-probability-avr.cpp b/clang/test/Sema/builtin-expect-with-probability-avr.cpp<br>
index 1767480134a28..b27ca80fd95a2 100644<br>
--- a/clang/test/Sema/builtin-expect-with-probability-avr.cpp<br>
+++ b/clang/test/Sema/builtin-expect-with-probability-avr.cpp<br>
@@ -6,7 +6,7 @@ void test(int x, double p) { // expected-note {{declared here}}<br>
   dummy = __builtin_expect_with_probability(x > 0, 1, 1.1); // expected-error {{probability argument to __builtin_expect_with_probability is outside the range [0.0, 1.0]}}<br>
   dummy = __builtin_expect_with_probability(x > 0, 1, -1); // expected-error {{probability argument to __builtin_expect_with_probability is outside the range [0.0, 1.0]}}<br>
   dummy = __builtin_expect_with_probability(x > 0, 1, p); // expected-error {{probability argument to __builtin_expect_with_probability must be constant floating-point expression}} expected-note {{function parameter 'p' with unknown value}}<br>
-  dummy = __builtin_expect_with_probability(x > 0, 1, "aa"); // expected-error {{cannot initialize a parameter of type 'double' with an lvalue of type 'const char [3]'}}<br>
+  dummy = __builtin_expect_with_probability(x > 0, 1, "aa"); // expected-error {{cannot initialize a parameter of type 'double' with an lvalue of type 'const char[3]'}}<br>
   dummy = __builtin_expect_with_probability(x > 0, 1, __builtin_nan("")); // expected-error {{probability argument to __builtin_expect_with_probability is outside the range [0.0, 1.0]}}<br>
   dummy = __builtin_expect_with_probability(x > 0, 1, __builtin_inf()); // expected-error {{probability argument to __builtin_expect_with_probability is outside the range [0.0, 1.0]}}<br>
   dummy = __builtin_expect_with_probability(x > 0, 1, -0.0);<br>
<br>
diff  --git a/clang/test/Sema/builtin-expect-with-probability.cpp b/clang/test/Sema/builtin-expect-with-probability.cpp<br>
index e05174f70673e..2b72c7b27ae93 100644<br>
--- a/clang/test/Sema/builtin-expect-with-probability.cpp<br>
+++ b/clang/test/Sema/builtin-expect-with-probability.cpp<br>
@@ -44,7 +44,7 @@ void test(int x, double p) { // expected-note {{declared here}}<br>
   dummy = __builtin_expect_with_probability(x > 0, 1, 1.1); // expected-error {{probability argument to __builtin_expect_with_probability is outside the range [0.0, 1.0]}}<br>
   dummy = __builtin_expect_with_probability(x > 0, 1, -1); // expected-error {{probability argument to __builtin_expect_with_probability is outside the range [0.0, 1.0]}}<br>
   dummy = __builtin_expect_with_probability(x > 0, 1, p); // expected-error {{probability argument to __builtin_expect_with_probability must be constant floating-point expression}} expected-note {{function parameter 'p'}}<br>
-  dummy = __builtin_expect_with_probability(x > 0, 1, "aa"); // expected-error {{cannot initialize a parameter of type 'double' with an lvalue of type 'const char [3]'}}<br>
+  dummy = __builtin_expect_with_probability(x > 0, 1, "aa"); // expected-error {{cannot initialize a parameter of type 'double' with an lvalue of type 'const char[3]'}}<br>
   dummy = __builtin_expect_with_probability(x > 0, 1, __builtin_nan("")); // expected-error {{probability argument to __builtin_expect_with_probability is outside the range [0.0, 1.0]}}<br>
   dummy = __builtin_expect_with_probability(x > 0, 1, __builtin_inf()); // expected-error {{probability argument to __builtin_expect_with_probability is outside the range [0.0, 1.0]}}<br>
   dummy = __builtin_expect_with_probability(x > 0, 1, -0.0);<br>
<br>
diff  --git a/clang/test/Sema/c11-typedef-redef.c b/clang/test/Sema/c11-typedef-redef.c<br>
index b899f15ce6388..77e28d248338b 100644<br>
--- a/clang/test/Sema/c11-typedef-redef.c<br>
+++ b/clang/test/Sema/c11-typedef-redef.c<br>
@@ -10,9 +10,9 @@ void f(int N) {<br>
   typedef int type2;<br>
<br>
   typedef int vla[N]; // expected-note{{previous definition is here}}<br>
-  typedef int vla[N]; // expected-error{{redefinition of typedef for variably-modified type 'int [N]'}}<br>
+  typedef int vla[N]; // expected-error{{redefinition of typedef for variably-modified type 'int[N]'}}<br>
<br>
   typedef int vla2[N];<br>
   typedef vla2 vla3; // expected-note{{previous definition is here}}<br>
-  typedef vla2 vla3; // expected-error{{redefinition of typedef for variably-modified type 'vla2' (aka 'int [N]')}}<br>
+  typedef vla2 vla3; // expected-error{{redefinition of typedef for variably-modified type 'vla2' (aka 'int[N]')}}<br>
 }<br>
<br>
diff  --git a/clang/test/Sema/compound-literal.c b/clang/test/Sema/compound-literal.c<br>
index 217dbeda8a7bc..ed18157a9276d 100644<br>
--- a/clang/test/Sema/compound-literal.c<br>
+++ b/clang/test/Sema/compound-literal.c<br>
@@ -11,7 +11,7 @@ static int *p = (int []){2,4};<br>
 static int x = (int){1};<br>
<br>
 static int *p2 = (int []){2,x}; // expected-error {{initializer element is not a compile-time constant}}<br>
-static long *p3 = (long []){2,"x"}; // expected-warning {{incompatible pointer to integer conversion initializing 'long' with an expression of type 'char [2]'}}<br>
+static long *p3 = (long []){2,"x"}; // expected-warning {{incompatible pointer to integer conversion initializing 'long' with an expression of type 'char[2]'}}<br>
<br>
 typedef struct { } cache_t; // expected-warning{{empty struct is a GNU extension}}<br>
 static cache_t clo_I1_cache = ((cache_t) { } ); // expected-warning{{use of GNU empty initializer extension}}<br>
<br>
diff  --git a/clang/test/Sema/crash-invalid-array.c b/clang/test/Sema/crash-invalid-array.c<br>
index 029413b9843fe..18fbd1c84dbcf 100644<br>
--- a/clang/test/Sema/crash-invalid-array.c<br>
+++ b/clang/test/Sema/crash-invalid-array.c<br>
@@ -10,7 +10,7 @@ int main()<br>
<br>
    for(i = 0; i < 10; ++i)<br>
    {<br>
-       p[i][i] = i; // expected-error {{subscript of pointer to incomplete type 'int []'}}<br>
+       p[i][i] = i; // expected-error {{subscript of pointer to incomplete type 'int[]'}}<br>
    }<br>
 }<br>
<br>
<br>
diff  --git a/clang/test/Sema/empty1.c b/clang/test/Sema/empty1.c<br>
index 9a2fb678de664..39a46a7b7cd53 100644<br>
--- a/clang/test/Sema/empty1.c<br>
+++ b/clang/test/Sema/empty1.c<br>
@@ -75,13 +75,13 @@ int func_7(struct A *x, struct A *y) {<br>
 }<br>
<br>
 int func_8(struct emp_1 (*x)[10], struct emp_1 (*y)[10]) {<br>
-  return x - y; // expected-warning {{subtraction of pointers to type 'struct emp_1 [10]' of zero size has undefined behavior}}<br>
+  return x - y; // expected-warning {{subtraction of pointers to type 'struct emp_1[10]' of zero size has undefined behavior}}<br>
 }<br>
<br>
 int func_9(struct emp_1 (*x)[], struct emp_1 (*y)[]) {<br>
-  return x - y; // expected-error {{arithmetic on a pointer to an incomplete type 'struct emp_1 []'}}<br>
+  return x - y; // expected-error {{arithmetic on a pointer to an incomplete type 'struct emp_1[]'}}<br>
 }<br>
<br>
 int func_10(int (*x)[0], int (*y)[0]) {<br>
-  return x - y; // expected-warning {{subtraction of pointers to type 'int [0]' of zero size has undefined behavior}}<br>
+  return x - y; // expected-warning {{subtraction of pointers to type 'int[0]' of zero size has undefined behavior}}<br>
 }<br>
<br>
diff  --git a/clang/test/Sema/extern-redecl.c b/clang/test/Sema/extern-redecl.c<br>
index 6bdb66e07f553..bccf7ba38a6df 100644<br>
--- a/clang/test/Sema/extern-redecl.c<br>
+++ b/clang/test/Sema/extern-redecl.c<br>
@@ -26,12 +26,12 @@ extern int test1_a[];<br>
 // rdar://13535367<br>
 void test2declarer() { extern int test2_array[100]; }<br>
 extern int test2_array[];<br>
-int test2v = sizeof(test2_array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int []'}}<br>
+int test2v = sizeof(test2_array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int[]'}}<br>
<br>
 void test3declarer() {<br>
   { extern int test3_array[100]; }<br>
   extern int test3_array[];<br>
-  int x = sizeof(test3_array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int []'}}<br>
+  int x = sizeof(test3_array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int[]'}}<br>
 }<br>
<br>
 void test4() {<br>
@@ -40,7 +40,7 @@ void test4() {<br>
     extern int test4_array[100];<br>
     int x = sizeof(test4_array); // fine<br>
   }<br>
-  int x = sizeof(test4_array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int []'}}<br>
+  int x = sizeof(test4_array); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int[]'}}<br>
 }<br>
<br>
 // Test that invalid local extern declarations of library<br>
<br>
diff  --git a/clang/test/Sema/generic-selection.c b/clang/test/Sema/generic-selection.c<br>
index f083dff8ac8b9..36cfce4a950af 100644<br>
--- a/clang/test/Sema/generic-selection.c<br>
+++ b/clang/test/Sema/generic-selection.c<br>
@@ -7,7 +7,7 @@ void foo(int n) {<br>
   (void) _Generic(0, // ext-warning {{'_Generic' is a C11 extension}}<br>
       struct A: 0, // expected-error {{type 'struct A' in generic association incomplete}}<br>
       void(): 0,   // expected-error {{type 'void ()' in generic association not an object type}}<br>
-      int[n]: 0);  // expected-error {{type 'int [n]' in generic association is a variably modified type}}<br>
+      int[n]: 0);  // expected-error {{type 'int[n]' in generic association is a variably modified type}}<br>
<br>
   (void) _Generic(0, // ext-warning {{'_Generic' is a C11 extension}}<br>
       void (*)():     0,  // expected-note {{compatible type 'void (*)()' specified here}}<br>
<br>
diff  --git a/clang/test/Sema/gnu-flags.c b/clang/test/Sema/gnu-flags.c<br>
index e53e5fdf11df0..163ed50a38a41 100644<br>
--- a/clang/test/Sema/gnu-flags.c<br>
+++ b/clang/test/Sema/gnu-flags.c<br>
@@ -97,7 +97,7 @@ void statementexp()<br>
<br>
<br>
 #if ALL || COMPOUNDLITERALINITIALIZER<br>
-// expected-warning@+4 {{initialization of an array of type 'int [5]' from a compound literal of type 'int [5]' is a GNU extension}}<br>
+// expected-warning@+4 {{initialization of an array of type 'int[5]' from a compound literal of type 'int[5]' is a GNU extension}}<br>
 #endif<br>
<br>
 typedef int int5[5];<br>
<br>
diff  --git a/clang/test/Sema/incomplete-decl.c b/clang/test/Sema/incomplete-decl.c<br>
index 0214a0c6ce4c9..08f86f683b833 100644<br>
--- a/clang/test/Sema/incomplete-decl.c<br>
+++ b/clang/test/Sema/incomplete-decl.c<br>
@@ -22,7 +22,7 @@ void func() {<br>
 }<br>
<br>
 int h[]; // expected-warning {{tentative array definition assumed to have one element}}<br>
-int (*i)[] = &h+1; // expected-error {{arithmetic on a pointer to an incomplete type 'int []'}}<br>
+int (*i)[] = &h+1; // expected-error {{arithmetic on a pointer to an incomplete type 'int[]'}}<br>
<br>
 struct bar j = {1}; // expected-error {{variable has incomplete type 'struct bar'}} \<br>
     expected-note {{forward declaration of 'struct bar'}}<br>
<br>
diff  --git a/clang/test/Sema/matrix-type-builtins.c b/clang/test/Sema/matrix-type-builtins.c<br>
index 2f7e4549e4950..c58384613e79c 100644<br>
--- a/clang/test/Sema/matrix-type-builtins.c<br>
+++ b/clang/test/Sema/matrix-type-builtins.c<br>
@@ -57,13 +57,13 @@ void column_major_load(float *p1, int *p2, _Bool *p3, struct Foo *p4) {<br>
       10,         // expected-error {{1st argument must be a pointer to a valid matrix element type}}<br>
       1ull << 21, // expected-error {{row dimension is outside the allowed range [1, 1048575]}}<br>
       1ull << 21, // expected-error {{column dimension is outside the allowed range [1, 1048575]}}<br>
-      "");        // expected-warning {{incompatible pointer to integer conversion casting 'char [1]' to type 'unsigned long'}}<br>
+      "");        // expected-warning {{incompatible pointer to integer conversion casting 'char[1]' to type 'unsigned long'}}<br>
<br>
   sx5x10_t a13 = __builtin_matrix_column_major_load(<br>
       10,  // expected-error {{1st argument must be a pointer to a valid matrix element type}}<br>
       *p4, // expected-error {{casting 'struct Foo' to incompatible type 'unsigned long'}}<br>
       "",  // expected-error {{column argument must be a constant unsigned integer expression}}<br>
-           // expected-warning@-1 {{incompatible pointer to integer conversion casting 'char [1]' to type 'unsigned long'}}<br>
+           // expected-warning@-1 {{incompatible pointer to integer conversion casting 'char[1]' to type 'unsigned long'}}<br>
       10);<br>
 }<br>
<br>
<br>
diff  --git a/clang/test/Sema/merge-decls.c b/clang/test/Sema/merge-decls.c<br>
index 29707d259b963..3b27c04a3e251 100644<br>
--- a/clang/test/Sema/merge-decls.c<br>
+++ b/clang/test/Sema/merge-decls.c<br>
@@ -73,7 +73,7 @@ void test4_f(a)<br>
<br>
 int test5_f(int (*)[10]);<br>
 int test5_f(int (*x)[]) {<br>
-  return sizeof(*x); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int []'}}<br>
+  return sizeof(*x); // expected-error {{invalid application of 'sizeof' to an incomplete type 'int[]'}}<br>
 }<br>
<br>
 void test6_f(int (*a)[11]);<br>
<br>
diff  --git a/clang/test/Sema/nullability.c b/clang/test/Sema/nullability.c<br>
index a5cb4b9a031eb..d462886de0436 100644<br>
--- a/clang/test/Sema/nullability.c<br>
+++ b/clang/test/Sema/nullability.c<br>
@@ -213,25 +213,25 @@ void testDecayedType() {<br>
   int produceAnErrorMessage = arrays; // expected-warning {{incompatible pointer to integer conversion initializing 'int' with an expression of type 'void (int * _Nonnull, void ** _Nullable, void *** _Nullable, void * _Null_unspecified * _Nonnull * _Nullable, int * _Nonnull, int * _Nonnull, int * _Nonnull, int * _Nonnull, int * _Nonnull, void ** _Nullable)'}}<br>
 }<br>
<br>
-int notInFunction[_Nullable 3]; // expected-error {{nullability specifier '_Nullable' cannot be applied to non-pointer type 'int [3]'}}<br>
+int notInFunction[_Nullable 3]; // expected-error {{nullability specifier '_Nullable' cannot be applied to non-pointer type 'int[3]'}}<br>
<br>
-void nestedArrays(int x[5][_Nonnull 1]) {} // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'int [1]'}}<br>
-void nestedArrays2(int x[5][_Nonnull 1][2]) {} // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'int [1][2]'}}<br>
+void nestedArrays(int x[5][_Nonnull 1]) {} // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'int[1]'}}<br>
+void nestedArrays2(int x[5][_Nonnull 1][2]) {} // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'int[1][2]'}}<br>
 void nestedArraysOK(int x[_Nonnull 5][1]) {} // ok<br>
<br>
 void nullabilityOnBase(_Nonnull int x[1], // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'int'}}<br>
                        int _Nonnull y[1]); // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'int'}}<br>
<br>
 typedef int INTS[4];<br>
-typedef int BAD_INTS[_Nonnull 4]; // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'int [4]'}}<br>
+typedef int BAD_INTS[_Nonnull 4]; // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'int[4]'}}<br>
<br>
 void typedefTest(INTS _Nonnull x,<br>
                  _Nonnull INTS xx,<br>
-                 INTS _Nonnull y[2], // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'INTS' (aka 'int [4]')}}<br>
+                 INTS _Nonnull y[2], // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'INTS' (aka 'int[4]')}}<br>
                  INTS z[_Nonnull 2]);<br>
<br>
-INTS _Nonnull x; // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'INTS' (aka 'int [4]')}}<br>
-_Nonnull INTS x; // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'INTS' (aka 'int [4]')}}<br>
+INTS _Nonnull x; // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'INTS' (aka 'int[4]')}}<br>
+_Nonnull INTS x; // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'INTS' (aka 'int[4]')}}<br>
<br>
 void arraysInBlocks() {<br>
   typedef int INTS[4];<br>
@@ -239,11 +239,11 @@ void arraysInBlocks() {<br>
   simple(0); // expected-warning {{null passed to a callee that requires a non-null argument}}<br>
   void (^nested)(void *_Nullable x[_Nonnull 2]) = ^(void *_Nullable x[_Nonnull 2]) {};<br>
   nested(0); // expected-warning {{null passed to a callee that requires a non-null argument}}<br>
-  void (^nestedBad)(int x[2][_Nonnull 2]) = // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'int [2]'}}<br>
-    ^(int x[2][_Nonnull 2]) {}; // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'int [2]'}}<br>
+  void (^nestedBad)(int x[2][_Nonnull 2]) = // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'int[2]'}}<br>
+    ^(int x[2][_Nonnull 2]) {}; // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'int[2]'}}<br>
<br>
   void (^withTypedef)(INTS _Nonnull) = ^(INTS _Nonnull x) {};<br>
   withTypedef(0); // expected-warning {{null passed to a callee that requires a non-null argument}}<br>
-  void (^withTypedefBad)(INTS _Nonnull [2]) = // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'INTS' (aka 'int [4]')}}<br>
-      ^(INTS _Nonnull x[2]) {}; // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'INTS' (aka 'int [4]')}}<br>
+  void (^withTypedefBad)(INTS _Nonnull [2]) = // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'INTS' (aka 'int[4]')}}<br>
+      ^(INTS _Nonnull x[2]) {}; // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'INTS' (aka 'int[4]')}}<br>
 }<br>
<br>
diff  --git a/clang/test/Sema/predef.c b/clang/test/Sema/predef.c<br>
index 95bcfb9d8d510..6db683eb66e1b 100644<br>
--- a/clang/test/Sema/predef.c<br>
+++ b/clang/test/Sema/predef.c<br>
@@ -6,7 +6,7 @@ void abcdefghi12(void) {<br>
 }<br>
<br>
 char *X = __func__; // expected-warning {{predefined identifier is only valid}} \<br>
-                       expected-warning {{initializing 'char *' with an expression of type 'const char [1]' discards qualifiers}}<br>
+                       expected-warning {{initializing 'char *' with an expression of type 'const char[1]' discards qualifiers}}<br>
<br>
 void a() {<br>
   __func__[0] = 'a';  // expected-error {{variable is not assignable}}<br>
<br>
diff  --git a/clang/test/Sema/typedef-retain.c b/clang/test/Sema/typedef-retain.c<br>
index d4358bce5ee5b..cbec109456a72 100644<br>
--- a/clang/test/Sema/typedef-retain.c<br>
+++ b/clang/test/Sema/typedef-retain.c<br>
@@ -17,7 +17,7 @@ typedef int a[5];<br>
 void test3() {<br>
   typedef const a b;<br>
   b r;       // expected-note {{variable 'r' declared const here}}<br>
-  r[0] = 10; // expected-error {{cannot assign to variable 'r' with const-qualified type 'b' (aka 'const int [5]')}}<br>
+  r[0] = 10; // expected-error {{cannot assign to variable 'r' with const-qualified type 'b' (aka 'const int[5]')}}<br>
 }<br>
<br>
 int test4(const a y) {<br>
<br>
diff  --git a/clang/test/Sema/types.c b/clang/test/Sema/types.c<br>
index c306c1ead5c61..941b002890bbf 100644<br>
--- a/clang/test/Sema/types.c<br>
+++ b/clang/test/Sema/types.c<br>
@@ -48,7 +48,7 @@ int i[(short)1];<br>
<br>
 enum e { e_1 };<br>
 extern int j[sizeof(enum e)];  // expected-note {{previous declaration}}<br>
-int j[42];   // expected-error {{redefinition of 'j' with a <br>
diff erent type: 'int [42]' vs 'int [4]'}}<br>
+int j[42];   // expected-error {{redefinition of 'j' with a <br>
diff erent type: 'int[42]' vs 'int[4]'}}<br>
<br>
 // rdar://6880104<br>
 _Decimal32 x;  // expected-error {{GNU decimal type extension not supported}}<br>
<br>
diff  --git a/clang/test/Sema/var-redecl.c b/clang/test/Sema/var-redecl.c<br>
index 024bfd436a420..1c254f504f565 100644<br>
--- a/clang/test/Sema/var-redecl.c<br>
+++ b/clang/test/Sema/var-redecl.c<br>
@@ -67,4 +67,4 @@ void f(int x) { // expected-note {{previous definition is here}}<br>
<br>
 extern int b[];<br>
 void g20() { extern int b[3]; } // expected-note{{previous declaration is here}}<br>
-void g21() { extern int b[4]; } // expected-error{{redeclaration of 'b' with a <br>
diff erent type: 'int [4]' vs 'int [3]'}}<br>
+void g21() { extern int b[4]; } // expected-error{{redeclaration of 'b' with a <br>
diff erent type: 'int[4]' vs 'int[3]'}}<br>
<br>
diff  --git a/clang/test/Sema/vla.cpp b/clang/test/Sema/vla.cpp<br>
index b4416a07cf0ee..f7d2669fb499b 100644<br>
--- a/clang/test/Sema/vla.cpp<br>
+++ b/clang/test/Sema/vla.cpp<br>
@@ -2,5 +2,5 @@<br>
<br>
 void f1(int n) {<br>
   typedef int x[n];<br>
-  const x y; // expected-error {{default initialization of an object of const type 'const x' (aka 'const int [n]')}}<br>
+  const x y; // expected-error {{default initialization of an object of const type 'const x' (aka 'const int[n]')}}<br>
 }<br>
<br>
diff  --git a/clang/test/Sema/warn-sizeof-array-decay.c b/clang/test/Sema/warn-sizeof-array-decay.c<br>
index cc3ee1d0fc65f..1bf33e20ecad1 100644<br>
--- a/clang/test/Sema/warn-sizeof-array-decay.c<br>
+++ b/clang/test/Sema/warn-sizeof-array-decay.c<br>
@@ -5,14 +5,14 @@ void f(int x) {<br>
   int bar[20];<br>
   char qux[30];<br>
<br>
-  (void)sizeof(bar + 10); // expected-warning{{sizeof on pointer operation will return size of 'int *' instead of 'int [20]'}}<br>
-  (void)sizeof(foo - 20); // expected-warning{{sizeof on pointer operation will return size of 'char *' instead of 'char [10]'}}<br>
-  (void)sizeof(bar - x); // expected-warning{{sizeof on pointer operation will return size of 'int *' instead of 'int [20]'}}<br>
-  (void)sizeof(foo + x); // expected-warning{{sizeof on pointer operation will return size of 'char *' instead of 'char [10]'}}<br>
+  (void)sizeof(bar + 10); // expected-warning{{sizeof on pointer operation will return size of 'int *' instead of 'int[20]'}}<br>
+  (void)sizeof(foo - 20); // expected-warning{{sizeof on pointer operation will return size of 'char *' instead of 'char[10]'}}<br>
+  (void)sizeof(bar - x); // expected-warning{{sizeof on pointer operation will return size of 'int *' instead of 'int[20]'}}<br>
+  (void)sizeof(foo + x); // expected-warning{{sizeof on pointer operation will return size of 'char *' instead of 'char[10]'}}<br>
<br>
   // This is ptr<br>
diff _t.<br>
   (void)sizeof(foo - qux); // no-warning<br>
<br>
   (void)sizeof(foo, x); // no-warning<br>
-  (void)sizeof(x, foo); // expected-warning{{sizeof on pointer operation will return size of 'char *' instead of 'char [10]'}}<br>
+  (void)sizeof(x, foo); // expected-warning{{sizeof on pointer operation will return size of 'char *' instead of 'char[10]'}}<br>
 }<br>
<br>
diff  --git a/clang/test/Sema/warn-sizeof-arrayarg.c b/clang/test/Sema/warn-sizeof-arrayarg.c<br>
index 32fd2b4d37458..7c1a9a2821617 100644<br>
--- a/clang/test/Sema/warn-sizeof-arrayarg.c<br>
+++ b/clang/test/Sema/warn-sizeof-arrayarg.c<br>
@@ -8,13 +8,13 @@ void f(int a[10], Arr arr) { // expected-note 4 {{declared here}}<br>
<br>
   /* Should warn. */<br>
   (void)sizeof(a);  // \<br>
-      // expected-warning{{sizeof on array function parameter will return size of 'int *' instead of 'int [10]'}}<br>
+      // expected-warning{{sizeof on array function parameter will return size of 'int *' instead of 'int[10]'}}<br>
   (void)sizeof((((a))));  // \<br>
-      // expected-warning{{sizeof on array function parameter will return size of 'int *' instead of 'int [10]'}}<br>
+      // expected-warning{{sizeof on array function parameter will return size of 'int *' instead of 'int[10]'}}<br>
   (void)sizeof a;  // \<br>
-      // expected-warning{{sizeof on array function parameter will return size of 'int *' instead of 'int [10]'}}<br>
+      // expected-warning{{sizeof on array function parameter will return size of 'int *' instead of 'int[10]'}}<br>
   (void)sizeof arr;  // \<br>
-      // expected-warning{{sizeof on array function parameter will return size of 'int *' instead of 'Arr' (aka 'int [10]')}}<br>
+      // expected-warning{{sizeof on array function parameter will return size of 'int *' instead of 'Arr' (aka 'int[10]')}}<br>
<br>
   /* Shouldn't warn. */<br>
   int b[10];<br>
<br>
diff  --git a/clang/test/Sema/warn-write-strings.c b/clang/test/Sema/warn-write-strings.c<br>
index dee554cf6b575..d8e31d95df0f9 100644<br>
--- a/clang/test/Sema/warn-write-strings.c<br>
+++ b/clang/test/Sema/warn-write-strings.c<br>
@@ -1,7 +1,7 @@<br>
 // RUN: %clang_cc1 -verify -fsyntax-only -fconst-strings %s<br>
<br>
 // PR4804<br>
-char* x = "foo"; // expected-warning {{initializing 'char *' with an expression of type 'const char [4]' discards qualifiers}}<br>
+char* x = "foo"; // expected-warning {{initializing 'char *' with an expression of type 'const char[4]' discards qualifiers}}<br>
<br>
 // PR7192<br>
 #include <stddef.h><br>
<br>
diff  --git a/clang/test/SemaCXX/MicrosoftExtensions.cpp b/clang/test/SemaCXX/MicrosoftExtensions.cpp<br>
index 5dfadae3682a5..f1ba8afc221fc 100644<br>
--- a/clang/test/SemaCXX/MicrosoftExtensions.cpp<br>
+++ b/clang/test/SemaCXX/MicrosoftExtensions.cpp<br>
@@ -96,7 +96,7 @@ void test_unaligned() {<br>
   p3_aligned_type4 = p1_aligned_type4;<br>
<br>
   __unaligned int a[10];<br>
-  int *b = a; // expected-error {{cannot initialize a variable of type 'int *' with an lvalue of type '__unaligned int [10]'}}<br>
+  int *b = a; // expected-error {{cannot initialize a variable of type 'int *' with an lvalue of type '__unaligned int[10]'}}<br>
 }<br>
<br>
 // Test from PR27367<br>
<br>
diff  --git a/clang/test/SemaCXX/address-space-initialize.cpp b/clang/test/SemaCXX/address-space-initialize.cpp<br>
index 50913384c5cf9..bd5ee926f5b6b 100644<br>
--- a/clang/test/SemaCXX/address-space-initialize.cpp<br>
+++ b/clang/test/SemaCXX/address-space-initialize.cpp<br>
@@ -17,7 +17,7 @@ int nocv_iarray[10] = { 4 };<br>
<br>
<br>
 __attribute__((address_space(9999)))<br>
-int* as_ptr = nocv_iarray; // expected-error{{cannot initialize a variable of type '__attribute__((address_space(9999))) int *' with an lvalue of type '__attribute__((address_space(42))) int [10]'}}<br>
+int* as_ptr = nocv_iarray; // expected-error{{cannot initialize a variable of type '__attribute__((address_space(9999))) int *' with an lvalue of type '__attribute__((address_space(42))) int[10]'}}<br>
<br>
<br>
 __attribute__((address_space(42))) int* __attribute__((address_space(42))) ptr_in_same_addr_space = nocv_iarray;<br>
<br>
diff  --git a/clang/test/SemaCXX/alias-template.cpp b/clang/test/SemaCXX/alias-template.cpp<br>
index f41c3aa8bca6a..0e5d9dae7bb7f 100644<br>
--- a/clang/test/SemaCXX/alias-template.cpp<br>
+++ b/clang/test/SemaCXX/alias-template.cpp<br>
@@ -37,7 +37,7 @@ namespace VariableLengthArrays {<br>
   const int m = 42;<br>
   template<typename Z> using U = int[m];<br>
   template<typename Z> using U = int[42]; // expected-note {{previous definition}} <br>
-  template<typename Z> using U = int; // expected-error {{type alias template redefinition with <br>
diff erent types ('int' vs 'int [42]')}}<br>
+  template<typename Z> using U = int; // expected-error {{type alias template redefinition with <br>
diff erent types ('int' vs 'int[42]')}}<br>
 }<br>
<br>
 namespace RedeclFunc {<br>
<br>
diff  --git a/clang/test/SemaCXX/array-bound-merge.cpp b/clang/test/SemaCXX/array-bound-merge.cpp<br>
index a360d007c3b7b..02d1916f6ee7f 100644<br>
--- a/clang/test/SemaCXX/array-bound-merge.cpp<br>
+++ b/clang/test/SemaCXX/array-bound-merge.cpp<br>
@@ -8,7 +8,7 @@ int b[];<br>
 extern int c[1];<br>
 int c[] = {1,2}; // expected-error {{excess elements in array initializer}}<br>
<br>
-int d[1][]; // expected-error {{array has incomplete element type 'int []'}}<br>
+int d[1][]; // expected-error {{array has incomplete element type 'int[]'}}<br>
<br>
 extern const int e[2]; // expected-note {{previous declaration is here}}<br>
-int e[] = { 1 }; // expected-error {{redefinition of 'e' with a <br>
diff erent type: 'int []' vs 'const int [2]'}}<br>
+int e[] = { 1 }; // expected-error {{redefinition of 'e' with a <br>
diff erent type: 'int[]' vs 'const int[2]'}}<br>
<br>
diff  --git a/clang/test/SemaCXX/attr-gnu.cpp b/clang/test/SemaCXX/attr-gnu.cpp<br>
index 83e58bbcd5e22..c257c2b029127 100644<br>
--- a/clang/test/SemaCXX/attr-gnu.cpp<br>
+++ b/clang/test/SemaCXX/attr-gnu.cpp<br>
@@ -13,10 +13,10 @@ void f() {<br>
 void g(int a[static [[]] 5]); // expected-error {{static array size is a C99 feature, not permitted in C++}}<br>
<br>
 template<typename T> struct A {<br>
-  int x[sizeof(T)] __attribute((vector_size(8))); // expected-error {{invalid vector element type 'int [sizeof(T)]'}}<br>
+  int x[sizeof(T)] __attribute((vector_size(8))); // expected-error {{invalid vector element type 'int[sizeof(T)]'}}<br>
 };<br>
<br>
-typedef int myvect[4] __attribute__((vector_size(16))); // expected-error {{invalid vector element type 'int [4]'}}<br>
+typedef int myvect[4] __attribute__((vector_size(16))); // expected-error {{invalid vector element type 'int[4]'}}<br>
 void foo(myvect *in, myvect *out) { (*out)[0] = (*in)[0]; }<br>
<br>
 namespace {<br>
<br>
diff  --git a/clang/test/SemaCXX/c99-variable-length-array-cxx11.cpp b/clang/test/SemaCXX/c99-variable-length-array-cxx11.cpp<br>
index 1360a20bfe8c9..15757f52af8b8 100644<br>
--- a/clang/test/SemaCXX/c99-variable-length-array-cxx11.cpp<br>
+++ b/clang/test/SemaCXX/c99-variable-length-array-cxx11.cpp<br>
@@ -22,7 +22,7 @@ void vla(int N) { // expected-note 5{{here}}<br>
   POD array2[N]; // expected-warning{{variable length arrays are a C99 feature}} expected-note {{parameter 'N'}}<br>
   StillPOD array3[N]; // expected-warning{{variable length arrays are a C99 feature}} expected-note {{parameter 'N'}}<br>
   StillPOD2 array4[N][3]; // expected-warning{{variable length arrays are a C99 feature}} expected-note {{parameter 'N'}}<br>
-  NonPOD array5[N]; // expected-error{{no matching constructor for initialization of 'NonPOD [N]'}}<br>
+  NonPOD array5[N]; // expected-error{{no matching constructor for initialization of 'NonPOD[N]'}}<br>
   // expected-warning@-1{{variable length arrays are a C99 feature}} expected-note@-1 {{parameter 'N'}}<br>
   // expected-note@-16{{candidate constructor not viable}}<br>
   // expected-note@-18{{candidate constructor (the implicit copy constructor) not viable}}<br>
<br>
diff  --git a/clang/test/SemaCXX/c99-variable-length-array.cpp b/clang/test/SemaCXX/c99-variable-length-array.cpp<br>
index 5f6337e1db061..726187ed0763a 100644<br>
--- a/clang/test/SemaCXX/c99-variable-length-array.cpp<br>
+++ b/clang/test/SemaCXX/c99-variable-length-array.cpp<br>
@@ -52,7 +52,7 @@ template<typename T> struct X0 { };<br>
 // argument.<br>
 void inst_with_vla(int N) {<br>
   int array[N]; // expected-warning{{variable length arrays are a C99 feature}}<br>
-  X0<__typeof__(array)> x0a; // expected-error{{variably modified type 'typeof (array)' (aka 'int [N]') cannot be used as a template argument}}<br>
+  X0<__typeof__(array)> x0a; // expected-error{{variably modified type 'typeof (array)' (aka 'int[N]') cannot be used as a template argument}}<br>
 }<br>
<br>
 template<typename T><br>
@@ -70,7 +70,7 @@ X1<HasNonConstantValue> x1b; // expected-note{{in instantiation of}}<br>
 // Template argument deduction does not allow deducing a size from a VLA.<br>
 // FIXME: This diagnostic should make it clear that the two 'N's are <br>
diff erent entities!<br>
 template<typename T, unsigned N><br>
-void accept_array(T (&array)[N]); // expected-note{{candidate template ignored: could not match 'T [N]' against 'int [N]'}}<br>
+void accept_array(T (&array)[N]); // expected-note{{candidate template ignored: could not match 'T[N]' against 'int[N]'}}<br>
<br>
 void test_accept_array(int N) {<br>
   int array[N]; // expected-warning{{variable length arrays are a C99 feature}}<br>
<br>
diff  --git a/clang/test/SemaCXX/compare-cxx2a.cpp b/clang/test/SemaCXX/compare-cxx2a.cpp<br>
index fdeb93153715d..61b8558ccc02c 100644<br>
--- a/clang/test/SemaCXX/compare-cxx2a.cpp<br>
+++ b/clang/test/SemaCXX/compare-cxx2a.cpp<br>
@@ -351,7 +351,7 @@ void test_array_conv() {<br>
   int arr[5];<br>
   int *ap = arr + 2;<br>
   int arr2[3];<br>
-  (void)(arr <=> arr); // expected-error {{invalid operands to binary expression ('int [5]' and 'int [5]')}}<br>
+  (void)(arr <=> arr); // expected-error {{invalid operands to binary expression ('int[5]' and 'int[5]')}}<br>
   (void)(+arr <=> arr);<br>
 }<br>
<br>
<br>
diff  --git a/clang/test/SemaCXX/constant-expression-cxx11.cpp b/clang/test/SemaCXX/constant-expression-cxx11.cpp<br>
index 8d7e460c4b1ab..c338214b82312 100644<br>
--- a/clang/test/SemaCXX/constant-expression-cxx11.cpp<br>
+++ b/clang/test/SemaCXX/constant-expression-cxx11.cpp<br>
@@ -2065,11 +2065,11 @@ namespace ZeroSizeTypes {<br>
   constexpr int (*p1)[0] = 0, (*p2)[0] = 0;<br>
   constexpr int k = p2 - p1;<br>
   // expected-error@-1 {{constexpr variable 'k' must be initialized by a constant expression}}<br>
-  // expected-note@-2 {{subtraction of pointers to type 'int [0]' of zero size}}<br>
+  // expected-note@-2 {{subtraction of pointers to type 'int[0]' of zero size}}<br>
<br>
   int arr[5][0];<br>
   constexpr int f() { // expected-error {{never produces a constant expression}}<br>
-    return &arr[3] - &arr[0]; // expected-note {{subtraction of pointers to type 'int [0]' of zero size}}<br>
+    return &arr[3] - &arr[0]; // expected-note {{subtraction of pointers to type 'int[0]' of zero size}}<br>
   }<br>
 }<br>
<br>
<br>
diff  --git a/clang/test/SemaCXX/constant-expression-cxx2a.cpp b/clang/test/SemaCXX/constant-expression-cxx2a.cpp<br>
index caba033476698..88c20c8d1bc69 100644<br>
--- a/clang/test/SemaCXX/constant-expression-cxx2a.cpp<br>
+++ b/clang/test/SemaCXX/constant-expression-cxx2a.cpp<br>
@@ -816,15 +816,15 @@ namespace dynamic_alloc {<br>
     S *p = new T[3]{&a, &a, &a}; // expected-note 2{{heap allocation}}<br>
     switch (mode) {<br>
     case 0:<br>
-      delete p; // expected-note {{non-array delete used to delete pointer to array object of type 'T [3]'}}<br>
+      delete p; // expected-note {{non-array delete used to delete pointer to array object of type 'T[3]'}}<br>
       break;<br>
     case 1:<br>
       // FIXME: This diagnosic isn't great; we should mention the cast to S*<br>
       // somewhere in here.<br>
-      delete[] p; // expected-note {{delete of pointer to subobject '&{*new T [3]#0}[0]'}}<br>
+      delete[] p; // expected-note {{delete of pointer to subobject '&{*new T[3]#0}[0]'}}<br>
       break;<br>
     case 2:<br>
-      delete (T*)p; // expected-note {{non-array delete used to delete pointer to array object of type 'T [3]'}}<br>
+      delete (T*)p; // expected-note {{non-array delete used to delete pointer to array object of type 'T[3]'}}<br>
       break;<br>
     case 3:<br>
       delete[] (T*)p;<br>
@@ -1033,7 +1033,7 @@ namespace delete_random_things {<br>
   struct A { int n; };<br>
   static_assert((delete &(new A)->n, true)); // expected-error {{}} expected-note {{delete of pointer to subobject '&{*new delete_random_things::A#0}.n'}}<br>
   static_assert((delete (new int + 1), true)); // expected-error {{}} expected-note {{delete of pointer '&{*new int#0} + 1' that does not point to complete object}}<br>
-  static_assert((delete[] (new int[3] + 1), true)); // expected-error {{}} expected-note {{delete of pointer to subobject '&{*new int [3]#0}[1]'}}<br>
+  static_assert((delete[] (new int[3] + 1), true)); // expected-error {{}} expected-note {{delete of pointer to subobject '&{*new int[3]#0}[1]'}}<br>
   static_assert((delete &(int&)(int&&)0, true)); // expected-error {{}} expected-note {{delete of pointer '&0' that does not point to a heap-allocated object}} expected-note {{temporary created here}}<br>
 }<br>
<br>
<br>
diff  --git a/clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp b/clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp<br>
index 5b5d1cb7bc807..cb1812905d3d2 100644<br>
--- a/clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp<br>
+++ b/clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp<br>
@@ -204,7 +204,7 @@ void backtrace() {<br>
   };<br>
<br>
   struct B {<br>
-    // expected-note@+1 {{invalid type 'A [10]' is a member of 'B'}}<br>
+    // expected-note@+1 {{invalid type 'A[10]' is a member of 'B'}}<br>
     A as[10];<br>
   };<br>
<br>
<br>
diff  --git a/clang/test/SemaCXX/constexpr-string.cpp b/clang/test/SemaCXX/constexpr-string.cpp<br>
index f33627e812b22..401f64945ef5c 100644<br>
--- a/clang/test/SemaCXX/constexpr-string.cpp<br>
+++ b/clang/test/SemaCXX/constexpr-string.cpp<br>
@@ -661,7 +661,7 @@ namespace MemcpyEtc {<br>
   constexpr int test_address_of_incomplete_array_type() { // expected-error {{never produces a constant}}<br>
     extern int arr[];<br>
     __builtin_memmove(&arr, &arr, 4 * sizeof(arr[0]));<br>
-    // expected-note@-1 2{{cannot constant evaluate 'memmove' between objects of incomplete type 'int []'}}<br>
+    // expected-note@-1 2{{cannot constant evaluate 'memmove' between objects of incomplete type 'int[]'}}<br>
     return arr[0] * 1000 + arr[1] * 100 + arr[2] * 10 + arr[3];<br>
   }<br>
   static_assert(test_address_of_incomplete_array_type() == 1234); // expected-error {{constant}} expected-note {{in call}}<br>
<br>
diff  --git a/clang/test/SemaCXX/coroutines.cpp b/clang/test/SemaCXX/coroutines.cpp<br>
index 681af0a7f884c..9222066e87938 100644<br>
--- a/clang/test/SemaCXX/coroutines.cpp<br>
+++ b/clang/test/SemaCXX/coroutines.cpp<br>
@@ -189,7 +189,7 @@ void coreturn(int n) {<br>
   if (n == 1)<br>
     co_return {4}; // expected-warning {{braces around scalar initializer}}<br>
   if (n == 2)<br>
-    co_return "foo"; // expected-error {{cannot initialize a parameter of type 'int' with an lvalue of type 'const char [4]'}}<br>
+    co_return "foo"; // expected-error {{cannot initialize a parameter of type 'int' with an lvalue of type 'const char[4]'}}<br>
   co_return 42;<br>
 }<br>
<br>
<br>
diff  --git a/clang/test/SemaCXX/cxx0x-initializer-aggregates.cpp b/clang/test/SemaCXX/cxx0x-initializer-aggregates.cpp<br>
index 94fee530aea6a..e25b2cb25ee6b 100644<br>
--- a/clang/test/SemaCXX/cxx0x-initializer-aggregates.cpp<br>
+++ b/clang/test/SemaCXX/cxx0x-initializer-aggregates.cpp<br>
@@ -127,7 +127,7 @@ namespace multidimensional_array {<br>
<br>
 namespace array_addressof {<br>
   using T = int[5];<br>
-  T *p = &T{1,2,3,4,5}; // expected-error {{taking the address of a temporary object of type 'array_addressof::T' (aka 'int [5]')}}<br>
+  T *p = &T{1,2,3,4,5}; // expected-error {{taking the address of a temporary object of type 'array_addressof::T' (aka 'int[5]')}}<br>
 }<br>
<br>
 namespace PR24816 {<br>
<br>
diff  --git a/clang/test/SemaCXX/cxx0x-type-convert-construct.cpp b/clang/test/SemaCXX/cxx0x-type-convert-construct.cpp<br>
index 25a43d7053ccd..a58a82ac2aaf5 100644<br>
--- a/clang/test/SemaCXX/cxx0x-type-convert-construct.cpp<br>
+++ b/clang/test/SemaCXX/cxx0x-type-convert-construct.cpp<br>
@@ -2,20 +2,20 @@<br>
<br>
 void f() {<br>
   char *u8str;<br>
-  u8str = u8"a UTF-8 string"; // expected-error {{assigning to 'char *' from incompatible type 'const char [15]'}}<br>
+  u8str = u8"a UTF-8 string"; // expected-error {{assigning to 'char *' from incompatible type 'const char[15]'}}<br>
   char16_t *ustr;<br>
-  ustr = u"a UTF-16 string"; // expected-error {{assigning to 'char16_t *' from incompatible type 'const char16_t [16]'}}<br>
+  ustr = u"a UTF-16 string"; // expected-error {{assigning to 'char16_t *' from incompatible type 'const char16_t[16]'}}<br>
   char32_t *Ustr;<br>
-  Ustr = U"a UTF-32 string"; // expected-error {{assigning to 'char32_t *' from incompatible type 'const char32_t [16]'}}<br>
+  Ustr = U"a UTF-32 string"; // expected-error {{assigning to 'char32_t *' from incompatible type 'const char32_t[16]'}}<br>
<br>
   char *Rstr;<br>
   Rstr = R"foo(a raw string)foo"; // expected-warning{{ISO C++11 does not allow conversion from string literal to 'char *'}}<br>
   wchar_t *LRstr;<br>
   LRstr = LR"foo(a wide raw string)foo"; // expected-warning{{ISO C++11 does not allow conversion from string literal to 'wchar_t *'}}<br>
   char *u8Rstr;<br>
-  u8Rstr = u8R"foo(a UTF-8 raw string)foo"; // expected-error {{assigning to 'char *' from incompatible type 'const char [19]'}}<br>
+  u8Rstr = u8R"foo(a UTF-8 raw string)foo"; // expected-error {{assigning to 'char *' from incompatible type 'const char[19]'}}<br>
   char16_t *uRstr;<br>
-  uRstr = uR"foo(a UTF-16 raw string)foo"; // expected-error {{assigning to 'char16_t *' from incompatible type 'const char16_t [20]'}}<br>
+  uRstr = uR"foo(a UTF-16 raw string)foo"; // expected-error {{assigning to 'char16_t *' from incompatible type 'const char16_t[20]'}}<br>
   char32_t *URstr;<br>
-  URstr = UR"foo(a UTF-32 raw string)foo"; // expected-error {{assigning to 'char32_t *' from incompatible type 'const char32_t [20]'}}<br>
+  URstr = UR"foo(a UTF-32 raw string)foo"; // expected-error {{assigning to 'char32_t *' from incompatible type 'const char32_t[20]'}}<br>
 }<br>
<br>
diff  --git a/clang/test/SemaCXX/cxx1z-decomposition.cpp b/clang/test/SemaCXX/cxx1z-decomposition.cpp<br>
index 1ce75fe48db33..26fbbadafdcbf 100644<br>
--- a/clang/test/SemaCXX/cxx1z-decomposition.cpp<br>
+++ b/clang/test/SemaCXX/cxx1z-decomposition.cpp<br>
@@ -10,13 +10,13 @@ void num_elems() {<br>
<br>
   auto [] = a0; // expected-warning {{does not allow a decomposition group to be empty}}<br>
   auto [v1] = a0; // expected-error {{type 'A0' decomposes into 0 elements, but 1 name was provided}}<br>
-  auto [] = a1; // expected-error {{type 'int [1]' decomposes into 1 element, but no names were provided}} expected-warning {{empty}}<br>
+  auto [] = a1; // expected-error {{type 'int[1]' decomposes into 1 element, but no names were provided}} expected-warning {{empty}}<br>
   auto [v2] = a1;<br>
-  auto [v3, v4] = a1; // expected-error {{type 'int [1]' decomposes into 1 element, but 2 names were provided}}<br>
-  auto [] = a2; // expected-error {{type 'int [2]' decomposes into 2 elements, but no names were provided}} expected-warning {{empty}}<br>
-  auto [v5] = a2; // expected-error {{type 'int [2]' decomposes into 2 elements, but only 1 name was provided}}<br>
+  auto [v3, v4] = a1; // expected-error {{type 'int[1]' decomposes into 1 element, but 2 names were provided}}<br>
+  auto [] = a2; // expected-error {{type 'int[2]' decomposes into 2 elements, but no names were provided}} expected-warning {{empty}}<br>
+  auto [v5] = a2; // expected-error {{type 'int[2]' decomposes into 2 elements, but only 1 name was provided}}<br>
   auto [v6, v7] = a2;<br>
-  auto [v8, v9, v10] = a2; // expected-error {{type 'int [2]' decomposes into 2 elements, but 3 names were provided}}<br>
+  auto [v8, v9, v10] = a2; // expected-error {{type 'int[2]' decomposes into 2 elements, but 3 names were provided}}<br>
 }<br>
<br>
 // As a Clang extension, _Complex can be decomposed.<br>
<br>
diff  --git a/clang/test/SemaCXX/cxx2a-compat.cpp b/clang/test/SemaCXX/cxx2a-compat.cpp<br>
index de9d4442a45eb..0e9eafdc9b702 100644<br>
--- a/clang/test/SemaCXX/cxx2a-compat.cpp<br>
+++ b/clang/test/SemaCXX/cxx2a-compat.cpp<br>
@@ -34,8 +34,8 @@ string u8str = u8"test" u8"test";<br>
 // expected-warning@-4 {{type of UTF-8 string literal will change}} expected-note@-4 {{remove 'u8' prefix}}<br>
 #else<br>
 // expected-error@-8 {{ISO C++20 does not permit initialization of char array with UTF-8 string literal}}<br>
-// expected-error@-8 {{cannot initialize a variable of type 'const char *' with an lvalue of type 'const char8_t [6]'}}<br>
-// expected-error@-8 {{no viable conversion from 'const char8_t [9]' to 'string'}}<br>
+// expected-error@-8 {{cannot initialize a variable of type 'const char *' with an lvalue of type 'const char8_t[6]'}}<br>
+// expected-error@-8 {{no viable conversion from 'const char8_t[9]' to 'string'}}<br>
 #endif<br>
<br>
 template<bool b><br>
<br>
diff  --git a/clang/test/SemaCXX/dcl_init_aggr.cpp b/clang/test/SemaCXX/dcl_init_aggr.cpp<br>
index 2b5149cf278f9..af04766c0e334 100644<br>
--- a/clang/test/SemaCXX/dcl_init_aggr.cpp<br>
+++ b/clang/test/SemaCXX/dcl_init_aggr.cpp<br>
@@ -176,4 +176,4 @@ u u1 = { 1 };<br>
 u u2 = u1; <br>
 u u3 = 1; // expected-error{{no viable conversion}}<br>
 u u4 = { 0, "asdf" };  // expected-error{{excess elements in union initializer}}<br>
-u u5 = { "asdf" }; // expected-error{{cannot initialize a member subobject of type 'int' with an lvalue of type 'const char [5]'}}<br>
+u u5 = { "asdf" }; // expected-error{{cannot initialize a member subobject of type 'int' with an lvalue of type 'const char[5]'}}<br>
<br>
diff  --git a/clang/test/SemaCXX/decl-init-ref.cpp b/clang/test/SemaCXX/decl-init-ref.cpp<br>
index f515630d3f5e1..e0ff2daf07928 100644<br>
--- a/clang/test/SemaCXX/decl-init-ref.cpp<br>
+++ b/clang/test/SemaCXX/decl-init-ref.cpp<br>
@@ -26,10 +26,10 @@ int main() {<br>
 }<br>
<br>
 struct PR6139 { A (&x)[1]; };<br>
-PR6139 x = {{A()}}; // expected-error{{non-const lvalue reference to type 'A [1]' cannot bind to an initializer list temporary}}<br>
+PR6139 x = {{A()}}; // expected-error{{non-const lvalue reference to type 'A[1]' cannot bind to an initializer list temporary}}<br>
<br>
 struct PR6139b { A (&x)[1]; };<br>
-PR6139b y = {A()}; // expected-error{{non-const lvalue reference to type 'A [1]' cannot bind to a temporary of type 'A'}}<br>
+PR6139b y = {A()}; // expected-error{{non-const lvalue reference to type 'A[1]' cannot bind to a temporary of type 'A'}}<br>
<br>
 namespace PR16502 {<br>
   struct A { int &&temporary; int x, y; };<br>
@@ -39,7 +39,7 @@ namespace PR16502 {<br>
<br>
 namespace IncompleteTest {<br>
   struct String;<br>
-  // expected-error@+1 {{reference to incomplete type 'const IncompleteTest::String' could not bind to an lvalue of type 'const char [1]'}}<br>
+  // expected-error@+1 {{reference to incomplete type 'const IncompleteTest::String' could not bind to an lvalue of type 'const char[1]'}}<br>
   void takeString(const String& = "") {} // expected-note {{passing argument to parameter here}}<br>
   void test() {<br>
         takeString();<br>
<br>
diff  --git a/clang/test/SemaCXX/exceptions.cpp b/clang/test/SemaCXX/exceptions.cpp<br>
index 1e786adaa1b41..61c3e4bccb2be 100644<br>
--- a/clang/test/SemaCXX/exceptions.cpp<br>
+++ b/clang/test/SemaCXX/exceptions.cpp<br>
@@ -157,7 +157,7 @@ namespace Decay {<br>
<br>
   C<E[10]> e;<br>
 #if __cplusplus <= 199711L<br>
-  // expected-note@-2 {{in instantiation of template class 'Decay::C<Decay::E [10]>' requested here}}<br>
+  // expected-note@-2 {{in instantiation of template class 'Decay::C<Decay::E[10]>' requested here}}<br>
 #endif<br>
 }<br>
<br>
<br>
diff  --git a/clang/test/SemaCXX/flexible-array-test.cpp b/clang/test/SemaCXX/flexible-array-test.cpp<br>
index f2105ca361300..19f130288b610 100644<br>
--- a/clang/test/SemaCXX/flexible-array-test.cpp<br>
+++ b/clang/test/SemaCXX/flexible-array-test.cpp<br>
@@ -67,7 +67,7 @@ union B {<br>
 };<br>
<br>
 class C {<br>
-  char c[]; // expected-error {{flexible array member 'c' with type 'char []' is not at the end of class}}<br>
+  char c[]; // expected-error {{flexible array member 'c' with type 'char[]' is not at the end of class}}<br>
   int s; // expected-note {{next field declaration is here}}<br>
 };<br>
<br>
@@ -93,7 +93,7 @@ struct NonTrivDtor { ~NonTrivDtor(); };<br>
 // FIXME: It's not clear whether we should disallow examples like this. GCC accepts.<br>
 struct FlexNonTrivDtor {<br>
   int n;<br>
-  NonTrivDtor ntd[]; // expected-error {{flexible array member 'ntd' of type 'NonTrivDtor []' with non-trivial destruction}}<br>
+  NonTrivDtor ntd[]; // expected-error {{flexible array member 'ntd' of type 'NonTrivDtor[]' with non-trivial destruction}}<br>
   ~FlexNonTrivDtor() {<br>
     for (int i = n; i != 0; --i)<br>
       ntd[i-1].~NonTrivDtor();<br>
<br>
diff  --git a/clang/test/SemaCXX/for-range-examples.cpp b/clang/test/SemaCXX/for-range-examples.cpp<br>
index 5424b7a8ee797..5376f48ff8e7f 100644<br>
--- a/clang/test/SemaCXX/for-range-examples.cpp<br>
+++ b/clang/test/SemaCXX/for-range-examples.cpp<br>
@@ -196,7 +196,7 @@ namespace test5 {<br>
 namespace test6 {<br>
   void foo(int arr[]) {  // expected-note {{declared here}}<br>
     for (auto i : arr) { }<br>
-      // expected-error@-1 {{cannot build range expression with array function parameter 'arr' since parameter with array type 'int []' is treated as pointer type 'int *'}}<br>
+      // expected-error@-1 {{cannot build range expression with array function parameter 'arr' since parameter with array type 'int[]' is treated as pointer type 'int *'}}<br>
   }<br>
<br>
   struct vector {<br>
@@ -207,7 +207,7 @@ namespace test6 {<br>
   void foo(vector arr[]) {  // expected-note {{declared here}}<br>
     // Don't suggest to dereference arr.<br>
     for (auto i : arr) { }<br>
-      // expected-error@-1 {{cannot build range expression with array function parameter 'arr' since parameter with array type 'test6::vector []' is treated as pointer type 'test6::vector *'}}<br>
+      // expected-error@-1 {{cannot build range expression with array function parameter 'arr' since parameter with array type 'test6::vector[]' is treated as pointer type 'test6::vector *'}}<br>
   }<br>
 }<br>
<br>
<br>
diff  --git a/clang/test/SemaCXX/new-delete.cpp b/clang/test/SemaCXX/new-delete.cpp<br>
index b26aba1296eb3..52dbe00f7e000 100644<br>
--- a/clang/test/SemaCXX/new-delete.cpp<br>
+++ b/clang/test/SemaCXX/new-delete.cpp<br>
@@ -353,7 +353,7 @@ void h(unsigned i) {<br>
   (void)new T(i); // expected-error {{array 'new' cannot have initialization arguments}}<br>
 }<br>
 template void h<unsigned>(unsigned);<br>
-template void h<unsigned[10]>(unsigned); // expected-note {{in instantiation of function template specialization 'Test1::h<unsigned int [10]>' requested here}}<br>
+template void h<unsigned[10]>(unsigned); // expected-note {{in instantiation of function template specialization 'Test1::h<unsigned int[10]>' requested here}}<br>
<br>
 }<br>
<br>
<br>
diff  --git a/clang/test/SemaCXX/no-wchar.cpp b/clang/test/SemaCXX/no-wchar.cpp<br>
index 040b46cdf5e5b..93e17f29265b2 100644<br>
--- a/clang/test/SemaCXX/no-wchar.cpp<br>
+++ b/clang/test/SemaCXX/no-wchar.cpp<br>
@@ -18,9 +18,9 @@ void foo1(wchar_t * t = L"");<br>
 #endif<br>
<br>
 short *a = L"";<br>
-// expected-error@-1 {{cannot initialize a variable of type 'short *' with an lvalue of type 'const unsigned short [1]'}}<br>
+// expected-error@-1 {{cannot initialize a variable of type 'short *' with an lvalue of type 'const unsigned short[1]'}}<br>
 char *b = L"";<br>
-// expected-error@-1 {{cannot initialize a variable of type 'char *' with an lvalue of type 'const unsigned short [1]'}}<br>
+// expected-error@-1 {{cannot initialize a variable of type 'char *' with an lvalue of type 'const unsigned short[1]'}}<br>
<br>
 // NOTE: MSVC allows deprecated conversion in conditional expression if at least<br>
 // one of the operand is a string literal but Clang doesn't allow it.<br>
<br>
diff  --git a/clang/test/SemaCXX/nullability.cpp b/clang/test/SemaCXX/nullability.cpp<br>
index 91ecc447c5347..978b90564a2a8 100644<br>
--- a/clang/test/SemaCXX/nullability.cpp<br>
+++ b/clang/test/SemaCXX/nullability.cpp<br>
@@ -126,11 +126,11 @@ void arraysInLambdas() {<br>
   simple(nullptr); // expected-warning {{null passed to a callee that requires a non-null argument}}<br>
   auto nested = [](void *_Nullable [_Nonnull 2]) {};<br>
   nested(nullptr); // expected-warning {{null passed to a callee that requires a non-null argument}}<br>
-  auto nestedBad = [](int [2][_Nonnull 2]) {}; // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'int [2]'}}<br>
+  auto nestedBad = [](int [2][_Nonnull 2]) {}; // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'int[2]'}}<br>
<br>
   auto withTypedef = [](INTS _Nonnull) {};<br>
   withTypedef(nullptr); // expected-warning {{null passed to a callee that requires a non-null argument}}<br>
-  auto withTypedefBad = [](INTS _Nonnull[2]) {}; // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'INTS' (aka 'int [4]')}}<br>
+  auto withTypedefBad = [](INTS _Nonnull[2]) {}; // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'INTS' (aka 'int[4]')}}<br>
 }<br>
<br>
 void testNullabilityCompletenessWithTemplate() {<br>
<br>
diff  --git a/clang/test/SemaCXX/overload-call.cpp b/clang/test/SemaCXX/overload-call.cpp<br>
index a34bce5014ab5..0e5978e56f889 100644<br>
--- a/clang/test/SemaCXX/overload-call.cpp<br>
+++ b/clang/test/SemaCXX/overload-call.cpp<br>
@@ -339,8 +339,8 @@ namespace PR5756 {<br>
 // Tests the exact text used to note the candidates<br>
 namespace test1 {<br>
 template <class T><br>
-void foo(T t, unsigned N);                        // expected-note {{candidate function template not viable: no known conversion from 'const char [6]' to 'unsigned int' for 2nd argument}}<br>
-void foo(int n, char N);                          // expected-note {{candidate function not viable: no known conversion from 'const char [6]' to 'char' for 2nd argument}}<br>
+void foo(T t, unsigned N);                        // expected-note {{candidate function template not viable: no known conversion from 'const char[6]' to 'unsigned int' for 2nd argument}}<br>
+void foo(int n, char N);                          // expected-note {{candidate function not viable: no known conversion from 'const char[6]' to 'char' for 2nd argument}}<br>
 void foo(int n, const char *s, int t);            // expected-note {{candidate function not viable: requires 3 arguments, but 2 were provided}}<br>
 void foo(int n, const char *s, int t, ...);       // expected-note {{candidate function not viable: requires at least 3 arguments, but 2 were provided}}<br>
 void foo(int n, const char *s, int t, int u = 0); // expected-note {{candidate function not viable: requires at least 3 arguments, but 2 were provided}}<br>
<br>
diff  --git a/clang/test/SemaCXX/overload-member-call.cpp b/clang/test/SemaCXX/overload-member-call.cpp<br>
index 9d0fc519b0cc7..0cf32694a1caa 100644<br>
--- a/clang/test/SemaCXX/overload-member-call.cpp<br>
+++ b/clang/test/SemaCXX/overload-member-call.cpp<br>
@@ -71,8 +71,8 @@ void test_X2(X2 *x2p, const X2 *cx2p) {<br>
 namespace test1 {<br>
   class A {<br>
     template <class T><br>
-    void foo(T t, unsigned N); // expected-note {{candidate function template not viable: no known conversion from 'const char [6]' to 'unsigned int' for 2nd argument}}<br>
-    void foo(int n, char N); // expected-note {{candidate function not viable: no known conversion from 'const char [6]' to 'char' for 2nd argument}} <br>
+    void foo(T t, unsigned N); // expected-note {{candidate function template not viable: no known conversion from 'const char[6]' to 'unsigned int' for 2nd argument}}<br>
+    void foo(int n, char N); // expected-note {{candidate function not viable: no known conversion from 'const char[6]' to 'char' for 2nd argument}} <br>
     void foo(int n, const char *s, int t); // expected-note {{candidate function not viable: requires 3 arguments, but 2 were provided}}<br>
     void foo(int n, const char *s, int t, ...); // expected-note {{candidate function not viable: requires at least 3 arguments, but 2 were provided}}<br>
     void foo(int n, const char *s, int t, int u = 0); // expected-note {{candidate function not viable: requires at least 3 arguments, but 2 were provided}}<br>
<br>
diff  --git a/clang/test/SemaCXX/static-assert-cxx17.cpp b/clang/test/SemaCXX/static-assert-cxx17.cpp<br>
index d5601839bdd3e..ce9826795d5de 100644<br>
--- a/clang/test/SemaCXX/static-assert-cxx17.cpp<br>
+++ b/clang/test/SemaCXX/static-assert-cxx17.cpp<br>
@@ -46,7 +46,7 @@ template void foo3<S2<long>, int, float>();<br>
 template <typename T><br>
 void foo4() {<br>
   static_assert(S1<T[sizeof(T)], int[4]>::value, "");<br>
-  // expected-error@-1{{static_assert failed due to requirement 'S1<float [4], int [4]>::value'}}<br>
+  // expected-error@-1{{static_assert failed due to requirement 'S1<float[4], int[4]>::value'}}<br>
 };<br>
 template void foo4<float>();<br>
 // expected-note@-1{{in instantiation of function template specialization 'foo4<float>' requested here}}<br>
@@ -94,7 +94,7 @@ void foo6() {<br>
   static_assert(static_cast<const X<typename T::T> *>(nullptr));<br>
   // expected-error@-1{{static_assert failed due to requirement 'static_cast<const X<int> *>(nullptr)'}}<br>
   static_assert((const X<typename T::T>[]){} == nullptr);<br>
-  // expected-error@-1{{static_assert failed due to requirement '(const X<int> [0]){} == nullptr'}}<br>
+  // expected-error@-1{{static_assert failed due to requirement '(const X<int>[0]){} == nullptr'}}<br>
   static_assert(sizeof(X<decltype(X<typename T::T>().X<typename T::T>::~X())>) == 0);<br>
   // expected-error@-1{{static_assert failed due to requirement 'sizeof(X<void>) == 0'}}<br>
   static_assert(constexpr_return_false<typename T::T, typename T::U>());<br>
<br>
diff  --git a/clang/test/SemaCXX/typedef-redecl.cpp b/clang/test/SemaCXX/typedef-redecl.cpp<br>
index 06883ffd4b5ef..adeda317c1f7b 100644<br>
--- a/clang/test/SemaCXX/typedef-redecl.cpp<br>
+++ b/clang/test/SemaCXX/typedef-redecl.cpp<br>
@@ -68,7 +68,7 @@ namespace PR11630 {<br>
     static void f()<br>
     {<br>
       typedef int q[C == 1 ? 1 : -1]; // expected-note{{previous definition is here}}<br>
-      typedef int q[C >= 1 ? 2 : -2]; // expected-error{{typedef redefinition with <br>
diff erent types ('int [2]' vs 'int [1]')}}<br>
+      typedef int q[C >= 1 ? 2 : -2]; // expected-error{{typedef redefinition with <br>
diff erent types ('int[2]' vs 'int[1]')}}<br>
       typedef int n[C == 1 ? 1 : -1];<br>
       typedef int n[C >= 1 ? 1 : -1];<br>
     }<br>
@@ -80,7 +80,7 @@ namespace PR11630 {<br>
     static void f()<br>
     {<br>
       typedef int q[1];  // expected-note{{previous definition is here}}<br>
-      typedef int q[T];  // expected-error{{typedef redefinition with <br>
diff erent types ('int [2]' vs 'int [1]')}}<br>
+      typedef int q[T];  // expected-error{{typedef redefinition with <br>
diff erent types ('int[2]' vs 'int[1]')}}<br>
     }<br>
   };<br>
<br>
<br>
diff  --git a/clang/test/SemaCXX/typeid.cpp b/clang/test/SemaCXX/typeid.cpp<br>
index 4e696deee1317..26cad1c88f4d6 100644<br>
--- a/clang/test/SemaCXX/typeid.cpp<br>
+++ b/clang/test/SemaCXX/typeid.cpp<br>
@@ -24,8 +24,8 @@ void g1(X &x) {<br>
<br>
 void h(int i) {<br>
   char V[i];<br>
-  typeid(V);        // expected-error{{'typeid' of variably modified type 'char [i]'}}<br>
-  typeid(char [i]); // expected-error{{'typeid' of variably modified type 'char [i]'}}<br>
+  typeid(V);        // expected-error{{'typeid' of variably modified type 'char[i]'}}<br>
+  typeid(char [i]); // expected-error{{'typeid' of variably modified type 'char[i]'}}<br>
 }<br>
<br>
 // expected-note@+1 {{read of object 'typeid(int).name' whose value is not known}}<br>
<br>
diff  --git a/clang/test/SemaCXX/warn-string-conversion.cpp b/clang/test/SemaCXX/warn-string-conversion.cpp<br>
index b26126f6c72f4..8a0042016532a 100644<br>
--- a/clang/test/SemaCXX/warn-string-conversion.cpp<br>
+++ b/clang/test/SemaCXX/warn-string-conversion.cpp<br>
@@ -4,21 +4,21 @@<br>
 // An exception is made for this in logical and operators.<br>
 void assert(bool condition);<br>
 void test0() {<br>
-  bool b0 = "hi"; // expected-warning{{implicit conversion turns string literal into bool: 'const char [3]' to 'bool'}}<br>
-  b0 = ""; // expected-warning{{implicit conversion turns string literal into bool: 'const char [1]' to 'bool'}}<br>
-  b0 = 0 || ""; // expected-warning{{implicit conversion turns string literal into bool: 'const char [1]' to 'bool'}}<br>
-  b0 = "" || 0; // expected-warning{{implicit conversion turns string literal into bool: 'const char [1]' to 'bool'}}<br>
+  bool b0 = "hi"; // expected-warning{{implicit conversion turns string literal into bool: 'const char[3]' to 'bool'}}<br>
+  b0 = ""; // expected-warning{{implicit conversion turns string literal into bool: 'const char[1]' to 'bool'}}<br>
+  b0 = 0 || ""; // expected-warning{{implicit conversion turns string literal into bool: 'const char[1]' to 'bool'}}<br>
+  b0 = "" || 0; // expected-warning{{implicit conversion turns string literal into bool: 'const char[1]' to 'bool'}}<br>
   b0 = 0 && "";<br>
   b0 = "" && 0;<br>
-  assert("error"); // expected-warning{{implicit conversion turns string literal into bool: 'const char [6]' to 'bool'}}<br>
-  assert(0 || "error"); // expected-warning{{implicit conversion turns string literal into bool: 'const char [6]' to 'bool'}}<br>
-  assert("error" || 0); // expected-warning{{implicit conversion turns string literal into bool: 'const char [6]' to 'bool'}}<br>
+  assert("error"); // expected-warning{{implicit conversion turns string literal into bool: 'const char[6]' to 'bool'}}<br>
+  assert(0 || "error"); // expected-warning{{implicit conversion turns string literal into bool: 'const char[6]' to 'bool'}}<br>
+  assert("error" || 0); // expected-warning{{implicit conversion turns string literal into bool: 'const char[6]' to 'bool'}}<br>
   assert(0 && "error");<br>
   assert("error" && 0);<br>
<br>
-  while("hi") {} // expected-warning{{implicit conversion turns string literal into bool: 'const char [3]' to 'bool'}}<br>
-  do {} while("hi"); // expected-warning{{implicit conversion turns string literal into bool: 'const char [3]' to 'bool'}}<br>
-  for (;"hi";); // expected-warning{{implicit conversion turns string literal into bool: 'const char [3]' to 'bool'}}<br>
-  if("hi") {} // expected-warning{{implicit conversion turns string literal into bool: 'const char [3]' to 'bool'}}<br>
+  while("hi") {} // expected-warning{{implicit conversion turns string literal into bool: 'const char[3]' to 'bool'}}<br>
+  do {} while("hi"); // expected-warning{{implicit conversion turns string literal into bool: 'const char[3]' to 'bool'}}<br>
+  for (;"hi";); // expected-warning{{implicit conversion turns string literal into bool: 'const char[3]' to 'bool'}}<br>
+  if("hi") {} // expected-warning{{implicit conversion turns string literal into bool: 'const char[3]' to 'bool'}}<br>
 }<br>
<br>
<br>
diff  --git a/clang/test/SemaObjC/argument-checking.m b/clang/test/SemaObjC/argument-checking.m<br>
index 9019a0fb24e4c..3639fcd51190f 100644<br>
--- a/clang/test/SemaObjC/argument-checking.m<br>
+++ b/clang/test/SemaObjC/argument-checking.m<br>
@@ -18,7 +18,7 @@ void test() {<br>
   struct S sInst;<br>
<br>
   charStarFunc(1); // expected-warning {{incompatible integer to pointer conversion passing 'int' to parameter of type 'char *'}}<br>
-  charFunc("abc"); // expected-warning {{incompatible pointer to integer conversion passing 'char [4]' to parameter of type 'char'}}<br>
+  charFunc("abc"); // expected-warning {{incompatible pointer to integer conversion passing 'char[4]' to parameter of type 'char'}}<br>
<br>
   [obj charStarMeth:1]; // expected-warning {{incompatible integer to pointer conversion sending 'int'}}<br>
   [obj structMeth:1]; // expected-error {{sending 'int'}}<br>
<br>
diff  --git a/clang/test/SemaObjC/flexible-array.m b/clang/test/SemaObjC/flexible-array.m<br>
index 68e32d851f628..ff3dc711e581e 100644<br>
--- a/clang/test/SemaObjC/flexible-array.m<br>
+++ b/clang/test/SemaObjC/flexible-array.m<br>
@@ -8,7 +8,7 @@ @interface LastIvar {<br>
 @end<br>
<br>
 @interface NotLastIvar {<br>
-  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char []' is not at the end of class}}<br>
+  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char[]' is not at the end of class}}<br>
   int last; // expected-note {{next instance variable declaration is here}}<br>
 }<br>
 @end<br>
@@ -17,28 +17,28 @@ @interface NotLastIvar {<br>
 @interface LastIvarInImpl<br>
 @end<br>
 @implementation LastIvarInImpl {<br>
-  char flexible[]; // expected-warning {{field 'flexible' with variable sized type 'char []' is not visible to subclasses and can conflict with their instance variables}}<br>
+  char flexible[]; // expected-warning {{field 'flexible' with variable sized type 'char[]' is not visible to subclasses and can conflict with their instance variables}}<br>
 }<br>
 @end<br>
<br>
 @interface NotLastIvarInImpl<br>
 @end<br>
 @implementation NotLastIvarInImpl {<br>
-  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char []' is not at the end of class}}<br>
-  // expected-warning@-1 {{field 'flexible' with variable sized type 'char []' is not visible to subclasses and can conflict with their instance variables}}<br>
+  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char[]' is not at the end of class}}<br>
+  // expected-warning@-1 {{field 'flexible' with variable sized type 'char[]' is not visible to subclasses and can conflict with their instance variables}}<br>
   int last; // expected-note {{next instance variable declaration is here}}<br>
 }<br>
 @end<br>
<br>
 @implementation NotLastIvarInImplWithoutInterface { // expected-warning {{cannot find interface declaration for 'NotLastIvarInImplWithoutInterface'}}<br>
-  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char []' is not at the end of class}}<br>
-  // expected-warning@-1 {{field 'flexible' with variable sized type 'char []' is not visible to subclasses and can conflict with their instance variables}}<br>
+  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char[]' is not at the end of class}}<br>
+  // expected-warning@-1 {{field 'flexible' with variable sized type 'char[]' is not visible to subclasses and can conflict with their instance variables}}<br>
   int last; // expected-note {{next instance variable declaration is here}}<br>
 }<br>
 @end<br>
<br>
 @interface LastIvarInClass_OtherIvarInImpl {<br>
-  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char []' is not at the end of class}}<br>
+  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char[]' is not at the end of class}}<br>
 }<br>
 @end<br>
 @implementation LastIvarInClass_OtherIvarInImpl {<br>
@@ -59,21 +59,21 @@ @implementation LastIvarInClass_UnrelatedVarInImpl<br>
 @interface LastIvarInExtension<br>
 @end<br>
 @interface LastIvarInExtension() {<br>
-  char flexible[]; // expected-warning {{field 'flexible' with variable sized type 'char []' is not visible to subclasses and can conflict with their instance variables}}<br>
+  char flexible[]; // expected-warning {{field 'flexible' with variable sized type 'char[]' is not visible to subclasses and can conflict with their instance variables}}<br>
 }<br>
 @end<br>
<br>
 @interface NotLastIvarInExtension<br>
 @end<br>
 @interface NotLastIvarInExtension() {<br>
-  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char []' is not at the end of class}}<br>
-  // expected-warning@-1 {{field 'flexible' with variable sized type 'char []' is not visible to subclasses and can conflict with their instance variables}}<br>
+  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char[]' is not at the end of class}}<br>
+  // expected-warning@-1 {{field 'flexible' with variable sized type 'char[]' is not visible to subclasses and can conflict with their instance variables}}<br>
   int last; // expected-note {{next instance variable declaration is here}}<br>
 }<br>
 @end<br>
<br>
 @interface LastIvarInClass_OtherIvarInExtension {<br>
-  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char []' is not at the end of class}}<br>
+  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char[]' is not at the end of class}}<br>
 }<br>
 @end<br>
 @interface LastIvarInClass_OtherIvarInExtension() {<br>
@@ -91,16 +91,16 @@ @interface LastIvarInExtension_OtherIvarInExtension()<br>
 // Extension without ivars to test we see through such extensions.<br>
 @end<br>
 @interface LastIvarInExtension_OtherIvarInExtension() {<br>
-  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char []' is not at the end of class}}<br>
-  // expected-warning@-1 {{field 'flexible' with variable sized type 'char []' is not visible to subclasses and can conflict with their instance variables}}<br>
+  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char[]' is not at the end of class}}<br>
+  // expected-warning@-1 {{field 'flexible' with variable sized type 'char[]' is not visible to subclasses and can conflict with their instance variables}}<br>
 }<br>
 @end<br>
<br>
 @interface LastIvarInExtension_OtherIvarInImpl<br>
 @end<br>
 @interface LastIvarInExtension_OtherIvarInImpl() {<br>
-  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char []' is not at the end of class}}<br>
-  // expected-warning@-1 {{field 'flexible' with variable sized type 'char []' is not visible to subclasses and can conflict with their instance variables}}<br>
+  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char[]' is not at the end of class}}<br>
+  // expected-warning@-1 {{field 'flexible' with variable sized type 'char[]' is not visible to subclasses and can conflict with their instance variables}}<br>
 }<br>
 @end<br>
 @implementation LastIvarInExtension_OtherIvarInImpl {<br>
@@ -120,7 +120,7 @@ @interface IvarInNamedCategory(Category) {<br>
 @interface LastIvarAndProperty {<br>
   char _flexible[];<br>
 }<br>
-@property char flexible[]; // expected-error {{property cannot have array or function type 'char []'}}<br>
+@property char flexible[]; // expected-error {{property cannot have array or function type 'char[]'}}<br>
 @end<br>
<br>
 // ## Synthesize other instance variables.<br>
@@ -145,7 +145,7 @@ @implementation LastIvar_ImplicitlyNamedPropertyBackingIvarPreceding<br>
 @end<br>
<br>
 @interface NotLastIvar_ExplicitlyNamedPropertyBackingIvarLast {<br>
-  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char []' is not at the end of class}}<br>
+  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char[]' is not at the end of class}}<br>
 }<br>
 @property int count;<br>
 @end<br>
@@ -154,7 +154,7 @@ @implementation NotLastIvar_ExplicitlyNamedPropertyBackingIvarLast<br>
 @end<br>
<br>
 @interface NotLastIvar_ImplicitlyNamedPropertyBackingIvarLast {<br>
-  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char []' is not at the end of class}}<br>
+  char flexible[]; // expected-error {{flexible array member 'flexible' with type 'char[]' is not at the end of class}}<br>
 }<br>
 @property int count; // expected-note {{next synthesized instance variable is here}}<br>
 @end<br>
@@ -244,21 +244,21 @@ @implementation NoIvarAdditions<br>
 @end<br>
<br>
 @interface AddedIvarInInterface : FlexibleArrayMemberBase {<br>
-  int last; // expected-warning {{field 'last' can overwrite instance variable 'flexible' with variable sized type 'char []' in superclass 'FlexibleArrayMemberBase'}}<br>
+  int last; // expected-warning {{field 'last' can overwrite instance variable 'flexible' with variable sized type 'char[]' in superclass 'FlexibleArrayMemberBase'}}<br>
 }<br>
 @end<br>
<br>
 @interface AddedIvarInImplementation : FlexibleArrayMemberBase<br>
 @end<br>
 @implementation AddedIvarInImplementation {<br>
-  int last; // expected-warning {{field 'last' can overwrite instance variable 'flexible' with variable sized type 'char []' in superclass 'FlexibleArrayMemberBase'}}<br>
+  int last; // expected-warning {{field 'last' can overwrite instance variable 'flexible' with variable sized type 'char[]' in superclass 'FlexibleArrayMemberBase'}}<br>
 }<br>
 @end<br>
<br>
 @interface AddedIvarInExtension : FlexibleArrayMemberBase<br>
 @end<br>
 @interface AddedIvarInExtension() {<br>
-  int last; // expected-warning {{field 'last' can overwrite instance variable 'flexible' with variable sized type 'char []' in superclass 'FlexibleArrayMemberBase'}}<br>
+  int last; // expected-warning {{field 'last' can overwrite instance variable 'flexible' with variable sized type 'char[]' in superclass 'FlexibleArrayMemberBase'}}<br>
 }<br>
 @end<br>
<br>
@@ -266,11 +266,11 @@ @interface SynthesizedIvar : FlexibleArrayMemberBase<br>
 @property int count;<br>
 @end<br>
 @implementation SynthesizedIvar<br>
-@synthesize count; // expected-warning {{field 'count' can overwrite instance variable 'flexible' with variable sized type 'char []' in superclass 'FlexibleArrayMemberBase'}}<br>
+@synthesize count; // expected-warning {{field 'count' can overwrite instance variable 'flexible' with variable sized type 'char[]' in superclass 'FlexibleArrayMemberBase'}}<br>
 @end<br>
<br>
 @interface WarnInSubclassOnlyOnce : FlexibleArrayMemberBase {<br>
-  int last; // expected-warning {{field 'last' can overwrite instance variable 'flexible' with variable sized type 'char []' in superclass 'FlexibleArrayMemberBase'}}<br>
+  int last; // expected-warning {{field 'last' can overwrite instance variable 'flexible' with variable sized type 'char[]' in superclass 'FlexibleArrayMemberBase'}}<br>
 }<br>
 @end<br>
 @interface WarnInSubclassOnlyOnce() {<br>
@@ -283,6 +283,6 @@ @implementation WarnInSubclassOnlyOnce {<br>
 @end<br>
<br>
 @interface AddedIvarInSubSubClass : NoIvarAdditions {<br>
-  int last; // expected-warning {{field 'last' can overwrite instance variable 'flexible' with variable sized type 'char []' in superclass 'FlexibleArrayMemberBase'}}<br>
+  int last; // expected-warning {{field 'last' can overwrite instance variable 'flexible' with variable sized type 'char[]' in superclass 'FlexibleArrayMemberBase'}}<br>
 }<br>
 @end<br>
<br>
diff  --git a/clang/test/SemaObjC/ivar-sem-check-1.m b/clang/test/SemaObjC/ivar-sem-check-1.m<br>
index 48e0a54b628bd..9e28a380afbc6 100644<br>
--- a/clang/test/SemaObjC/ivar-sem-check-1.m<br>
+++ b/clang/test/SemaObjC/ivar-sem-check-1.m<br>
@@ -6,7 +6,7 @@<br>
 @interface INTF<br>
 {<br>
        struct F {} JJ;<br>
-       int arr[];  // expected-error {{flexible array member 'arr' with type 'int []' is not at the end of class}}<br>
+       int arr[];  // expected-error {{flexible array member 'arr' with type 'int[]' is not at the end of class}}<br>
        struct S IC;  // expected-error {{field has incomplete type}}<br>
                      // expected-note@-1 {{next instance variable declaration is here}}<br>
        struct T { // expected-note {{previous definition is here}}<br>
<br>
diff  --git a/clang/test/SemaObjC/method-bad-param.m b/clang/test/SemaObjC/method-bad-param.m<br>
index a7f0745ddbadf..f70f2cf853e51 100644<br>
--- a/clang/test/SemaObjC/method-bad-param.m<br>
+++ b/clang/test/SemaObjC/method-bad-param.m<br>
@@ -49,7 +49,7 @@ - (void)crashMe:(enum bogus)p { // expected-error {{variable has incomplete type<br>
 @end<br>
<br>
 @interface arrayfun<br>
-- (int[6])arrayRet; // expected-error {{function cannot return array type 'int [6]'}}<br>
+- (int[6])arrayRet; // expected-error {{function cannot return array type 'int[6]'}}<br>
 - (int())funcRet; // expected-error {{function cannot return function type 'int ()'}}<br>
 @end<br>
<br>
<br>
diff  --git a/clang/test/SemaObjC/nullability.m b/clang/test/SemaObjC/nullability.m<br>
index 93834942be799..3817289a79908 100644<br>
--- a/clang/test/SemaObjC/nullability.m<br>
+++ b/clang/test/SemaObjC/nullability.m<br>
@@ -274,13 +274,13 @@ void conditional_expr(int c) {<br>
 @interface ArraysInMethods<br>
 - (void)simple:(int [_Nonnull 2])x;<br>
 - (void)nested:(void *_Nullable [_Nonnull 2])x;<br>
-- (void)nestedBad:(int [2][_Nonnull 2])x; // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'int [2]'}}<br>
+- (void)nestedBad:(int [2][_Nonnull 2])x; // expected-error {{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'int[2]'}}<br>
<br>
 - (void)withTypedef:(INTS _Nonnull)x;<br>
-- (void)withTypedefBad:(INTS _Nonnull[2])x; // expected-error{{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'INTS' (aka 'int [4]')}}<br>
+- (void)withTypedefBad:(INTS _Nonnull[2])x; // expected-error{{nullability specifier '_Nonnull' cannot be applied to non-pointer type 'INTS' (aka 'int[4]')}}<br>
<br>
 - (void)simpleSugar:(nonnull int [2])x;<br>
-- (void)nestedSugar:(nonnull void *_Nullable [2])x; // expected-error {{nullability keyword 'nonnull' cannot be applied to multi-level pointer type 'void * _Nullable [2]'}} expected-note {{use nullability type specifier '_Nonnull' to affect the innermost pointer type of 'void * _Nullable [2]'}}<br>
+- (void)nestedSugar:(nonnull void *_Nullable [2])x; // expected-error {{nullability keyword 'nonnull' cannot be applied to multi-level pointer type 'void * _Nullable[2]'}} expected-note {{use nullability type specifier '_Nonnull' to affect the innermost pointer type of 'void * _Nullable[2]'}}<br>
 - (void)sugarWithTypedef:(nonnull INTS)x;<br>
 @end<br>
<br>
<br>
diff  --git a/clang/test/SemaObjC/rdr-6211479-array-property.m b/clang/test/SemaObjC/rdr-6211479-array-property.m<br>
index 39c056c5ba617..f81bc6ca8cd83 100644<br>
--- a/clang/test/SemaObjC/rdr-6211479-array-property.m<br>
+++ b/clang/test/SemaObjC/rdr-6211479-array-property.m<br>
@@ -4,5 +4,5 @@<br>
 typedef int T[2];<br>
<br>
 @interface A<br>
-@property(assign) T p2; // expected-error {{property cannot have array or function type 'T' (aka 'int [2]')}}<br>
+@property(assign) T p2; // expected-error {{property cannot have array or function type 'T' (aka 'int[2]')}}<br>
 @end<br>
<br>
diff  --git a/clang/test/SemaObjC/warn-write-strings.m b/clang/test/SemaObjC/warn-write-strings.m<br>
index 163c864257e9e..c9361f0818b7d 100644<br>
--- a/clang/test/SemaObjC/warn-write-strings.m<br>
+++ b/clang/test/SemaObjC/warn-write-strings.m<br>
@@ -1,4 +1,4 @@<br>
 // RUN: %clang_cc1 -verify -fsyntax-only -fconst-strings %s<br>
<br>
 // PR4804<br>
-char* x = "foo"; // expected-warning {{initializing 'char *' with an expression of type 'const char [4]' discards qualifiers}}<br>
+char* x = "foo"; // expected-warning {{initializing 'char *' with an expression of type 'const char[4]' discards qualifiers}}<br>
<br>
diff  --git a/clang/test/SemaObjCXX/<a href="http://message.mm" rel="noreferrer" target="_blank">message.mm</a> b/clang/test/SemaObjCXX/<a href="http://message.mm" rel="noreferrer" target="_blank">message.mm</a><br>
index aa364d5214737..87421f94677f3 100644<br>
--- a/clang/test/SemaObjCXX/<a href="http://message.mm" rel="noreferrer" target="_blank">message.mm</a><br>
+++ b/clang/test/SemaObjCXX/<a href="http://message.mm" rel="noreferrer" target="_blank">message.mm</a><br>
@@ -103,7 +103,7 @@ @interface I5<br>
<br>
 void test_I5(I5 *i5, String s) {<br>
   [i5 method:"hello" other:s];<br>
-  [i5 method:s other:"world"]; // expected-error{{non-const lvalue reference to type 'String' cannot bind to a value of unrelated type 'const char [6]'}}<br>
+  [i5 method:s other:"world"]; // expected-error{{non-const lvalue reference to type 'String' cannot bind to a value of unrelated type 'const char[6]'}}<br>
 }<br>
<br>
 // <rdar://problem/8483253><br>
<br>
diff  --git a/clang/test/SemaOpenCL/<a href="http://half.cl" rel="noreferrer" target="_blank">half.cl</a> b/clang/test/SemaOpenCL/<a href="http://half.cl" rel="noreferrer" target="_blank">half.cl</a><br>
index 50bbd745d2af3..e3e558995b21c 100644<br>
--- a/clang/test/SemaOpenCL/<a href="http://half.cl" rel="noreferrer" target="_blank">half.cl</a><br>
+++ b/clang/test/SemaOpenCL/<a href="http://half.cl" rel="noreferrer" target="_blank">half.cl</a><br>
@@ -6,7 +6,7 @@ constant float f = 1.0h; // expected-error{{half precision constant requires cl_<br>
 half half_disabled(half *p, // expected-error{{declaring function return value of type 'half' is not allowed}}<br>
                    half h)  // expected-error{{declaring function parameter of type '__private half' is not allowed}}<br>
 {<br>
-  half a[2]; // expected-error{{declaring variable of type '__private half [2]' is not allowed}}<br>
+  half a[2]; // expected-error{{declaring variable of type '__private half[2]' is not allowed}}<br>
   half b;    // expected-error{{declaring variable of type '__private half' is not allowed}}<br>
   *p; // expected-error{{loading directly from pointer to type '__private half' requires cl_khr_fp16. Use vector data load builtin functions instead}}<br>
   *p = 0; // expected-error{{assigning directly to pointer to type 'half' requires cl_khr_fp16. Use vector data store builtin functions instead}}<br>
<br>
diff  --git a/clang/test/SemaOpenCL/<a href="http://invalid-kernel-parameters.cl" rel="noreferrer" target="_blank">invalid-kernel-parameters.cl</a> b/clang/test/SemaOpenCL/<a href="http://invalid-kernel-parameters.cl" rel="noreferrer" target="_blank">invalid-kernel-parameters.cl</a><br>
index 96e6f7886b73e..de06b381605b4 100644<br>
--- a/clang/test/SemaOpenCL/<a href="http://invalid-kernel-parameters.cl" rel="noreferrer" target="_blank">invalid-kernel-parameters.cl</a><br>
+++ b/clang/test/SemaOpenCL/<a href="http://invalid-kernel-parameters.cl" rel="noreferrer" target="_blank">invalid-kernel-parameters.cl</a><br>
@@ -207,6 +207,6 @@ kernel void array_of_ptr(struct ArrayOfPtr arr) {} // expected-error{{struct ker<br>
<br>
 struct ArrayOfStruct // expected-note{{within field of type 'ArrayOfStruct' declared here}}<br>
 {<br>
-  struct ArrayOfPtr arr[3]; // expected-note{{within field of type 'struct ArrayOfPtr [3]' declared here}}<br>
+  struct ArrayOfPtr arr[3]; // expected-note{{within field of type 'struct ArrayOfPtr[3]' declared here}}<br>
 };<br>
 kernel void array_of_struct(struct ArrayOfStruct arr) {} // expected-error{{struct kernel parameters may not contain pointers}}<br>
<br>
diff  --git a/clang/test/SemaOpenCL/<a href="http://predefined-expr.cl" rel="noreferrer" target="_blank">predefined-expr.cl</a> b/clang/test/SemaOpenCL/<a href="http://predefined-expr.cl" rel="noreferrer" target="_blank">predefined-expr.cl</a><br>
index 182c9bda657fa..5b219d3009f08 100644<br>
--- a/clang/test/SemaOpenCL/<a href="http://predefined-expr.cl" rel="noreferrer" target="_blank">predefined-expr.cl</a><br>
+++ b/clang/test/SemaOpenCL/<a href="http://predefined-expr.cl" rel="noreferrer" target="_blank">predefined-expr.cl</a><br>
@@ -3,6 +3,6 @@<br>
<br>
 void f() {<br>
   char *f1 = __func__;          //expected-error-re{{initializing '{{__generic|__private}} char *__private' with an expression of type 'const __constant char *' changes address space of pointer}}<br>
-  constant char *f2 = __func__; //expected-warning{{initializing '__constant char *__private' with an expression of type 'const __constant char [2]' discards qualifiers}}<br>
+  constant char *f2 = __func__; //expected-warning{{initializing '__constant char *__private' with an expression of type 'const __constant char[2]' discards qualifiers}}<br>
   constant const char *f3 = __func__;<br>
 }<br>
<br>
diff  --git a/clang/test/SemaOpenCLCXX/address-space-deduction.clcpp b/clang/test/SemaOpenCLCXX/address-space-deduction.clcpp<br>
index 1b757ca436871..15b3976930abf 100644<br>
--- a/clang/test/SemaOpenCLCXX/address-space-deduction.clcpp<br>
+++ b/clang/test/SemaOpenCLCXX/address-space-deduction.clcpp<br>
@@ -51,7 +51,7 @@ struct x2 {<br>
   void foo(x1<T>* xx) {<br>
     m[0] = *xx;<br>
   }<br>
-//CHECK: -FieldDecl {{.*}}  m 'x1<int> [2]'<br>
+//CHECK: -FieldDecl {{.*}}  m 'x1<int>[2]'<br>
   x1<T> m[2];<br>
 };<br>
<br>
<br>
diff  --git a/clang/test/SemaTemplate/deduction-guide.cpp b/clang/test/SemaTemplate/deduction-guide.cpp<br>
index 79418134d2fd0..3ec7e19220684 100644<br>
--- a/clang/test/SemaTemplate/deduction-guide.cpp<br>
+++ b/clang/test/SemaTemplate/deduction-guide.cpp<br>
@@ -23,7 +23,7 @@ using AT = A<int[3], int, int, short>;<br>
 // CHECK: | |-ParmVarDecl {{.*}} 'X<Ps...>'<br>
 // CHECK: | `-ParmVarDecl {{.*}} 'Ts (*)[Ns]...' pack<br>
 // CHECK: `-CXXDeductionGuideDecl<br>
-// CHECK:   |-TemplateArgument type 'int [3]'<br>
+// CHECK:   |-TemplateArgument type 'int[3]'<br>
 // CHECK:   |-TemplateArgument pack<br>
 // CHECK:   | |-TemplateArgument type 'int'<br>
 // CHECK:   | |-TemplateArgument type 'int'<br>
@@ -34,9 +34,9 @@ using AT = A<int[3], int, int, short>;<br>
 // CHECK:   | `-TemplateArgument integral 4<br>
 // CHECK:   |-TemplateArgument pack<br>
 // CHECK:   | |-TemplateArgument decl<br>
-// CHECK:   | | `-Var {{.*}} 'arr1' 'int [3]'<br>
+// CHECK:   | | `-Var {{.*}} 'arr1' 'int[3]'<br>
 // CHECK:   | `-TemplateArgument decl<br>
-// CHECK:   |   `-Var {{.*}} 'arr2' 'int [3]'<br>
+// CHECK:   |   `-Var {{.*}} 'arr2' 'int[3]'<br>
 // CHECK:   |-ParmVarDecl {{.*}} 'X<&arr1, &arr2>':'X<&arr1, &arr2>'<br>
 // CHECK:   |-ParmVarDecl {{.*}} 'int (*)[3]'<br>
 // CHECK:   |-ParmVarDecl {{.*}} 'int (*)[3]'<br>
@@ -49,8 +49,8 @@ using AT = A<int[3], int, int, short>;<br>
 // CHECK: |     `-DeclRefExpr {{.*}} 'T *' NonTypeTemplateParm {{.*}} 'Ps' 'T *'<br>
 // CHECK: `-PackExpansionType {{.*}} 'Ts (*)[Ns]...' dependent<br>
 // CHECK:   `-PointerType {{.*}} 'Ts (*)[Ns]' dependent contains_unexpanded_pack<br>
-// CHECK:     `-ParenType {{.*}} 'Ts [Ns]' sugar dependent contains_unexpanded_pack<br>
-// CHECK:       `-DependentSizedArrayType {{.*}} 'Ts [Ns]' dependent contains_unexpanded_pack<br>
+// CHECK:     `-ParenType {{.*}} 'Ts[Ns]' sugar dependent contains_unexpanded_pack<br>
+// CHECK:       `-DependentSizedArrayType {{.*}} 'Ts[Ns]' dependent contains_unexpanded_pack<br>
 // CHECK:         |-TemplateTypeParmType {{.*}} 'Ts' dependent contains_unexpanded_pack depth 0 index 1 pack<br>
 // CHECK:         | `-TemplateTypeParm {{.*}} 'Ts'<br>
 // CHECK:         `-DeclRefExpr {{.*}} 'Ts' NonTypeTemplateParm {{.*}} 'Ns' 'Ts...'<br>
<br>
diff  --git a/clang/test/SemaTemplate/instantiate-init.cpp b/clang/test/SemaTemplate/instantiate-init.cpp<br>
index dee0f4422e91c..6db33a972f86d 100644<br>
--- a/clang/test/SemaTemplate/instantiate-init.cpp<br>
+++ b/clang/test/SemaTemplate/instantiate-init.cpp<br>
@@ -86,7 +86,7 @@ namespace PR7985 {<br>
   template<int N> struct integral_c { };<br>
<br>
   template <typename T, int N><br>
-  integral_c<N> array_lengthof(T (&x)[N]) { return integral_c<N>(); } // expected-note 2{{candidate template ignored: could not match 'T [N]' against 'const Data<}}<br>
+  integral_c<N> array_lengthof(T (&x)[N]) { return integral_c<N>(); } // expected-note 2{{candidate template ignored: could not match 'T[N]' against 'const Data<}}<br>
<br>
   template<typename T><br>
   struct Data {<br>
<br>
diff  --git a/clang/test/SemaTemplate/instantiate-local-class.cpp b/clang/test/SemaTemplate/instantiate-local-class.cpp<br>
index ce986d98600e8..e51c7116ee74d 100644<br>
--- a/clang/test/SemaTemplate/instantiate-local-class.cpp<br>
+++ b/clang/test/SemaTemplate/instantiate-local-class.cpp<br>
@@ -460,7 +460,7 @@ namespace rdar23721638 {<br>
<br>
   template <typename T> void foo() {<br>
     struct Inner { // expected-note {{in instantiation}}<br>
-      void operator()(T a = "") {} // expected-error {{conversion function from 'const char [1]' to 'rdar23721638::A' invokes a deleted function}}<br>
+      void operator()(T a = "") {} // expected-error {{conversion function from 'const char[1]' to 'rdar23721638::A' invokes a deleted function}}<br>
       // expected-note@-1 {{passing argument to parameter 'a' here}}<br>
     };<br>
     Inner()(); // expected-error {{type 'Inner' does not provide a call operator}}<br>
@@ -468,7 +468,7 @@ namespace rdar23721638 {<br>
   template void foo<A>(); // expected-note 2 {{in instantiation}}<br>
<br>
   template <typename T> void bar() {<br>
-    auto lambda = [](T a = "") {}; // expected-error {{conversion function from 'const char [1]' to 'rdar23721638::A' invokes a deleted function}}<br>
+    auto lambda = [](T a = "") {}; // expected-error {{conversion function from 'const char[1]' to 'rdar23721638::A' invokes a deleted function}}<br>
       // expected-note@-1 {{passing argument to parameter 'a' here}}<br>
     lambda();<br>
   }<br>
<br>
diff  --git a/clang/test/SemaTemplate/instantiate-static-var.cpp b/clang/test/SemaTemplate/instantiate-static-var.cpp<br>
index 7a6de7896cba0..63d8366b617c1 100644<br>
--- a/clang/test/SemaTemplate/instantiate-static-var.cpp<br>
+++ b/clang/test/SemaTemplate/instantiate-static-var.cpp<br>
@@ -154,8 +154,8 @@ namespace ArrayBound {<br>
     static const char kMessage[];<br>
     // Here, kMessage is type-dependent, so we don't diagnose until<br>
     // instantiation.<br>
-    static void g1() { const char (&ref)[4] = kMessage; } // expected-error {{could not bind to an lvalue of type 'const char [5]'}}<br>
-    static void g2() { const char (&ref)[5] = kMessage; } // expected-error {{could not bind to an lvalue of type 'const char [4]'}}<br>
+    static void g1() { const char (&ref)[4] = kMessage; } // expected-error {{could not bind to an lvalue of type 'const char[5]'}}<br>
+    static void g2() { const char (&ref)[5] = kMessage; } // expected-error {{could not bind to an lvalue of type 'const char[4]'}}<br>
   };<br>
   template<typename T> const char Bar<T>::kMessage[] = "foo";<br>
   template void Bar<int>::g1();<br>
<br>
diff  --git a/clang/test/SemaTemplate/pack-deduction.cpp b/clang/test/SemaTemplate/pack-deduction.cpp<br>
index 6368f16ebe8ba..e42709820e9cf 100644<br>
--- a/clang/test/SemaTemplate/pack-deduction.cpp<br>
+++ b/clang/test/SemaTemplate/pack-deduction.cpp<br>
@@ -141,7 +141,7 @@ namespace partial_full_mix {<br>
     // expected-note@-1 {{[with U = <char, double, long>]: pack expansion contains parameter pack 'U' that has a <br>
diff erent length (2 vs. 3) from outer parameter packs}}<br>
<br>
     template<typename ...U> static tuple<U...> h(tuple<pair<T, U>..., pair<int, int>>);<br>
-    // expected-note@-1 {{[with U = <int [2]>]: pack expansion contains parameter pack 'U' that has a <br>
diff erent length (2 vs. 1) from outer parameter packs}}<br>
+    // expected-note@-1 {{[with U = <int[2]>]: pack expansion contains parameter pack 'U' that has a <br>
diff erent length (2 vs. 1) from outer parameter packs}}<br>
   };<br>
<br>
   pair<tuple<int, float>, tuple<char, double>> k1 = A<int, float>().f<char>(pair<int, char>(), pair<float, double>());<br>
<br>
diff  --git a/clang/test/SemaTemplate/temp_arg_nontype.cpp b/clang/test/SemaTemplate/temp_arg_nontype.cpp<br>
index a735e92a6c981..4ad15ae20d850 100644<br>
--- a/clang/test/SemaTemplate/temp_arg_nontype.cpp<br>
+++ b/clang/test/SemaTemplate/temp_arg_nontype.cpp<br>
@@ -174,7 +174,7 @@ namespace pr6249 {<br>
<br>
 namespace PR6723 {<br>
   template<unsigned char C> void f(int (&a)[C]); // expected-note 3{{candidate template ignored: substitution failure [with C = '\x00']}}<br>
-  // expected-note@-1 {{not viable: no known conversion from 'int [512]' to 'int (&)[0]'}}<br>
+  // expected-note@-1 {{not viable: no known conversion from 'int[512]' to 'int (&)[0]'}}<br>
   void g() {<br>
     int arr512[512];<br>
     f(arr512); // expected-error{{no matching function for call}}<br>
<br>
diff  --git a/clang/unittests/AST/ASTImporterTest.cpp b/clang/unittests/AST/ASTImporterTest.cpp<br>
index 3036b1c59d504..724de6c67f0f6 100644<br>
--- a/clang/unittests/AST/ASTImporterTest.cpp<br>
+++ b/clang/unittests/AST/ASTImporterTest.cpp<br>
@@ -269,15 +269,15 @@ TEST_P(ImportExpr, ImportStringLiteral) {<br>
   testImport("void declToImport() { (void)\"foo\"; }", Lang_CXX03, "",<br>
              Lang_CXX03, Verifier,<br>
              functionDecl(hasDescendant(<br>
-                 stringLiteral(hasType(asString("const char [4]"))))));<br>
+                 stringLiteral(hasType(asString("const char[4]"))))));<br>
   testImport("void declToImport() { (void)L\"foo\"; }", Lang_CXX03, "",<br>
              Lang_CXX03, Verifier,<br>
              functionDecl(hasDescendant(<br>
-                 stringLiteral(hasType(asString("const wchar_t [4]"))))));<br>
+                 stringLiteral(hasType(asString("const wchar_t[4]"))))));<br>
   testImport("void declToImport() { (void) \"foo\" \"bar\"; }", Lang_CXX03, "",<br>
              Lang_CXX03, Verifier,<br>
              functionDecl(hasDescendant(<br>
-                 stringLiteral(hasType(asString("const char [7]"))))));<br>
+                 stringLiteral(hasType(asString("const char[7]"))))));<br>
 }<br>
<br>
 TEST_P(ImportExpr, ImportChooseExpr) {<br>
@@ -508,8 +508,8 @@ TEST_P(ImportExpr, ImportPredefinedExpr) {<br>
   testImport("void declToImport() { (void)__func__; }", Lang_CXX03, "",<br>
              Lang_CXX03, Verifier,<br>
              functionDecl(hasDescendant(predefinedExpr(<br>
-                 hasType(asString("const char [13]")),<br>
-                 has(stringLiteral(hasType(asString("const char [13]"))))))));<br>
+                 hasType(asString("const char[13]")),<br>
+                 has(stringLiteral(hasType(asString("const char[13]"))))))));<br>
 }<br>
<br>
 TEST_P(ImportExpr, ImportInitListExpr) {<br>
<br>
diff  --git a/clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp b/clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp<br>
index 92fd5306deb16..022f6ef8e5772 100644<br>
--- a/clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp<br>
+++ b/clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp<br>
@@ -1049,7 +1049,7 @@ TEST_P(ASTMatchersTest, StmtExpr) {<br>
 TEST_P(ASTMatchersTest, PredefinedExpr) {<br>
   // __func__ expands as StringLiteral("foo")<br>
   EXPECT_TRUE(matches("void foo() { __func__; }",<br>
-                      predefinedExpr(hasType(asString("const char [4]")),<br>
+                      predefinedExpr(hasType(asString("const char[4]")),<br>
                                      has(stringLiteral()))));<br>
 }<br>
<br>
@@ -1367,7 +1367,7 @@ TEST_P(ASTMatchersTest, ExprWithCleanups_MatchesExprWithCleanups) {<br>
<br>
 TEST_P(ASTMatchersTest, InitListExpr) {<br>
   EXPECT_TRUE(matches("int a[] = { 1, 2 };",<br>
-                      initListExpr(hasType(asString("int [2]")))));<br>
+                      initListExpr(hasType(asString("int[2]")))));<br>
   EXPECT_TRUE(matches("struct B { int x, y; }; struct B b = { 5, 6 };",<br>
                       initListExpr(hasType(recordDecl(hasName("B"))))));<br>
   EXPECT_TRUE(<br>
<br>
diff  --git a/clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp b/clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp<br>
index 7746c82f7ec52..f39d5ecbb095e 100644<br>
--- a/clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp<br>
+++ b/clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp<br>
@@ -430,8 +430,8 @@ TEST(HasTypeLoc, MatchesClassTemplateSpecializationDecl) {<br>
<br>
 TEST(HasTypeLoc, MatchesCompoundLiteralExpr) {<br>
   EXPECT_TRUE(<br>
-      matches("int* x = (int [2]) { 0, 1 };",<br>
-              compoundLiteralExpr(hasTypeLoc(loc(asString("int [2]"))))));<br>
+      matches("int* x = (int[2]) { 0, 1 };",<br>
+              compoundLiteralExpr(hasTypeLoc(loc(asString("int[2]"))))));<br>
 }<br>
<br>
 TEST(HasTypeLoc, MatchesDeclaratorDecl) {<br>
<br>
diff  --git a/compiler-rt/test/ubsan/TestCases/Misc/bounds.cpp b/compiler-rt/test/ubsan/TestCases/Misc/bounds.cpp<br>
index 9f890f290b349..03b2a9341f4da 100644<br>
--- a/compiler-rt/test/ubsan/TestCases/Misc/bounds.cpp<br>
+++ b/compiler-rt/test/ubsan/TestCases/Misc/bounds.cpp<br>
@@ -25,7 +25,7 @@ int main(int argc, char **argv) {<br>
   int arr[2][3][4] = {};<br>
<br>
   return arr[argv[1][0] - '0'][argv[2][0] - '0'][argv[3][0] - '0'];<br>
-  // CHECK-A-2: bounds.cpp:[[@LINE-1]]:10: runtime error: index 2 out of bounds for type 'int [2][3][4]'<br>
-  // CHECK-B-3: bounds.cpp:[[@LINE-2]]:10: runtime error: index 3 out of bounds for type 'int [3][4]'<br>
-  // CHECK-C-4: bounds.cpp:[[@LINE-3]]:10: runtime error: index 4 out of bounds for type 'int [4]'<br>
+  // CHECK-A-2: bounds.cpp:[[@LINE-1]]:10: runtime error: index 2 out of bounds for type 'int[2][3][4]'<br>
+  // CHECK-B-3: bounds.cpp:[[@LINE-2]]:10: runtime error: index 3 out of bounds for type 'int[3][4]'<br>
+  // CHECK-C-4: bounds.cpp:[[@LINE-3]]:10: runtime error: index 4 out of bounds for type 'int[4]'<br>
 }<br>
<br>
diff  --git a/libcxx/test/std/concepts/concepts.lang/concept.default.init/default_initializable.verify.cpp b/libcxx/test/std/concepts/concepts.lang/concept.default.init/default_initializable.verify.cpp<br>
index ec98c3931a336..7f32f50d55ea2 100644<br>
--- a/libcxx/test/std/concepts/concepts.lang/concept.default.init/default_initializable.verify.cpp<br>
+++ b/libcxx/test/std/concepts/concepts.lang/concept.default.init/default_initializable.verify.cpp<br>
@@ -51,7 +51,7 @@ void test() {<br>
     LIBCPP_STATIC_ASSERT(!std::__default_initializable<const int>);<br>
     static_assert(!std::default_initializable<const int>);<br>
<br>
-    const int x3[1]; // expected-error {{default initialization of an object of const type 'const int [1]'}}<br>
+    const int x3[1]; // expected-error {{default initialization of an object of const type 'const int[1]'}}<br>
     const int y3[1]{};<br>
     static_assert(std::constructible_from<const int[1]>);<br>
     static_assert(brace_initializable<const int[1]>);<br>
<br>
diff  --git a/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/dereference.runtime.fail.cpp b/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/dereference.runtime.fail.cpp<br>
index 8a5566b915c0f..c32a3ca15f4e8 100644<br>
--- a/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/dereference.runtime.fail.cpp<br>
+++ b/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/dereference.runtime.fail.cpp<br>
@@ -18,8 +18,8 @@<br>
 int main(int, char**) {<br>
   std::unique_ptr<int[]> p(new int(3));<br>
   const std::unique_ptr<int[]>& cp = p;<br>
-  TEST_IGNORE_NODISCARD (*p);  // expected-error {{indirection requires pointer operand ('std::unique_ptr<int []>' invalid)}}<br>
-  TEST_IGNORE_NODISCARD (*cp); // expected-error {{indirection requires pointer operand ('const std::unique_ptr<int []>' invalid)}}<br>
+  TEST_IGNORE_NODISCARD (*p);  // expected-error {{indirection requires pointer operand ('std::unique_ptr<int[]>' invalid)}}<br>
+  TEST_IGNORE_NODISCARD (*cp); // expected-error {{indirection requires pointer operand ('const std::unique_ptr<int[]>' invalid)}}<br>
<br>
   return 0;<br>
 }<br>
<br>
diff  --git a/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_arrow.runtime.fail.cpp b/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_arrow.runtime.fail.cpp<br>
index 4fa94f137ce8e..c79fca62fd385 100644<br>
--- a/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_arrow.runtime.fail.cpp<br>
+++ b/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_arrow.runtime.fail.cpp<br>
@@ -23,10 +23,10 @@ int main(int, char**) {<br>
   std::unique_ptr<V[]> p;<br>
   std::unique_ptr<V[]> const& cp = p;<br>
<br>
-  p->member; // expected-error {{member reference type 'std::unique_ptr<V []>' is not a pointer}}<br>
+  p->member; // expected-error {{member reference type 'std::unique_ptr<V[]>' is not a pointer}}<br>
   // expected-error@-1 {{no member named 'member'}}<br>
<br>
-  cp->member; // expected-error {{member reference type 'const std::unique_ptr<V []>' is not a pointer}}<br>
+  cp->member; // expected-error {{member reference type 'const std::unique_ptr<V[]>' is not a pointer}}<br>
               // expected-error@-1 {{no member named 'member'}}<br>
<br>
   return 0;<br>
<br>
diff  --git a/lldb/source/Commands/CommandObjectType.cpp b/lldb/source/Commands/CommandObjectType.cpp<br>
index 3bff844786f4e..0562b6be3cb5e 100644<br>
--- a/lldb/source/Commands/CommandObjectType.cpp<br>
+++ b/lldb/source/Commands/CommandObjectType.cpp<br>
@@ -1598,7 +1598,7 @@ static bool FixArrayTypeNameWithRegex(ConstString &type_name) {<br>
     std::string type_name_str(type_name.GetCString());<br>
     type_name_str.resize(type_name_str.length() - 2);<br>
     if (type_name_str.back() != ' ')<br>
-      type_name_str.append(" \\[[0-9]+\\]");<br>
+      type_name_str.append(" ?\\[[0-9]+\\]");<br>
     else<br>
       type_name_str.append("\\[[0-9]+\\]");<br>
     type_name.SetCString(type_name_str.c_str());<br>
<br>
diff  --git a/lldb/source/DataFormatters/FormatManager.cpp b/lldb/source/DataFormatters/FormatManager.cpp<br>
index 2237fdd58a762..92171b67fe965 100644<br>
--- a/lldb/source/DataFormatters/FormatManager.cpp<br>
+++ b/lldb/source/DataFormatters/FormatManager.cpp<br>
@@ -724,7 +724,7 @@ void FormatManager::LoadSystemFormatters() {<br>
   lldb::TypeSummaryImplSP string_array_format(<br>
       new StringSummaryFormat(string_array_flags, "${var%char[]}"));<br>
<br>
-  RegularExpression any_size_char_arr(llvm::StringRef("char \\[[0-9]+\\]"));<br>
+  RegularExpression any_size_char_arr(llvm::StringRef("char ?\\[[0-9]+\\]"));<br>
<br>
   TypeCategoryImpl::SharedPointer sys_category_sp =<br>
       GetCategory(m_system_category_name);<br>
@@ -774,6 +774,8 @@ void FormatManager::LoadVectorFormatters() {<br>
   AddStringSummary(vectors_category_sp, "${var.uint128}",<br>
                    ConstString("builtin_type_vec128"), vector_flags);<br>
<br>
+  // FIXME: These probably need the space removed, or made optional - but are<br>
+  // they even tested?<br>
   AddStringSummary(vectors_category_sp, "", ConstString("float [4]"),<br>
                    vector_flags);<br>
   AddStringSummary(vectors_category_sp, "", ConstString("int32_t [4]"),<br>
<br>
diff  --git a/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp b/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp<br>
index 2fabbff61c66b..4ef35eefaf32f 100644<br>
--- a/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp<br>
+++ b/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp<br>
@@ -1006,7 +1006,7 @@ static void LoadSystemFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {<br>
   AddCXXSummary(cpp_category_sp,<br>
                 lldb_private::formatters::Char8StringSummaryProvider,<br>
                 "char8_t [] summary provider",<br>
-                ConstString("char8_t \\[[0-9]+\\]"), string_array_flags, true);<br>
+                ConstString("char8_t ?\\[[0-9]+\\]"), string_array_flags, true);<br>
<br>
   AddCXXSummary(<br>
       cpp_category_sp, lldb_private::formatters::Char16StringSummaryProvider,<br>
@@ -1014,7 +1014,7 @@ static void LoadSystemFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {<br>
   AddCXXSummary(cpp_category_sp,<br>
                 lldb_private::formatters::Char16StringSummaryProvider,<br>
                 "char16_t [] summary provider",<br>
-                ConstString("char16_t \\[[0-9]+\\]"), string_array_flags, true);<br>
+                ConstString("char16_t ?\\[[0-9]+\\]"), string_array_flags, true);<br>
<br>
   AddCXXSummary(<br>
       cpp_category_sp, lldb_private::formatters::Char32StringSummaryProvider,<br>
@@ -1022,7 +1022,7 @@ static void LoadSystemFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {<br>
   AddCXXSummary(cpp_category_sp,<br>
                 lldb_private::formatters::Char32StringSummaryProvider,<br>
                 "char32_t [] summary provider",<br>
-                ConstString("char32_t \\[[0-9]+\\]"), string_array_flags, true);<br>
+                ConstString("char32_t ?\\[[0-9]+\\]"), string_array_flags, true);<br>
<br>
   AddCXXSummary(<br>
       cpp_category_sp, lldb_private::formatters::WCharStringSummaryProvider,<br>
@@ -1030,7 +1030,7 @@ static void LoadSystemFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {<br>
   AddCXXSummary(cpp_category_sp,<br>
                 lldb_private::formatters::WCharStringSummaryProvider,<br>
                 "wchar_t * summary provider",<br>
-                ConstString("wchar_t \\[[0-9]+\\]"), string_array_flags, true);<br>
+                ConstString("wchar_t ?\\[[0-9]+\\]"), string_array_flags, true);<br>
<br>
   AddCXXSummary(<br>
       cpp_category_sp, lldb_private::formatters::Char16StringSummaryProvider,<br>
<br>
diff  --git a/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py b/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py<br>
index 42b31a10fb2c3..3906e48368054 100644<br>
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py<br>
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py<br>
@@ -65,7 +65,7 @@ def cleanup():<br>
         self.runCmd("type summary clear")<br>
<br>
         self.runCmd(<br>
-            "type summary add --summary-string \"${var[]}\" -x \"int \\[[0-9]\\]")<br>
+            "type summary add --summary-string \"${var[]}\" -x \"int\\[[0-9]\\]")<br>
<br>
         self.expect("frame variable int_array",<br>
                     substrs=['1,2,3,4,5'])<br>
@@ -124,27 +124,27 @@ def cleanup():<br>
         self.runCmd("type summary clear")<br>
<br>
         self.runCmd(<br>
-            'type summary add --summary-string \"${var[0-1]}\" -x \"int \[[0-9]\]\"')<br>
+            'type summary add --summary-string \"${var[0-1]}\" -x \"int\[[0-9]\]\"')<br>
<br>
         self.expect("frame variable int_array",<br>
                     substrs=['1,2'])<br>
<br>
         self.runCmd(<br>
-            'type summary add --summary-string \"${var[0-1]}\" "int []"')<br>
+            'type summary add --summary-string \"${var[0-1]}\" "int[]"')<br>
<br>
         self.expect("frame variable int_array",<br>
                     substrs=['1,2'])<br>
<br>
         # Test the patterns are matched in reverse-chronological order.<br>
         self.runCmd(<br>
-            'type summary add --summary-string \"${var[2-3]}\" "int []"')<br>
+            'type summary add --summary-string \"${var[2-3]}\" "int[]"')<br>
<br>
         self.expect("frame variable int_array",<br>
                     substrs=['3,4'])<br>
<br>
         self.runCmd("type summary clear")<br>
<br>
-        self.runCmd("type summary add -c -x \"i_am_cool \[[0-9]\]\"")<br>
+        self.runCmd("type summary add -c -x \"i_am_cool\[[0-9]\]\"")<br>
         self.runCmd("type summary add -c i_am_cool")<br>
<br>
         self.expect(<br>
@@ -199,7 +199,7 @@ def cleanup():<br>
         self.runCmd("type summary clear")<br>
<br>
         self.runCmd(<br>
-            "type summary add --summary-string \"${*var[].x[0-3]%hex} is a bitfield on a set of integers\" -x \"SimpleWithPointers \[[0-9]\]\"")<br>
+            "type summary add --summary-string \"${*var[].x[0-3]%hex} is a bitfield on a set of integers\" -x \"SimpleWithPointers\[[0-9]\]\"")<br>
<br>
         self.expect(<br>
             "frame variable couple --summary-string \"${*var.sp.x[0-2]} are low bits of integer ${*var.sp.x}. If I pretend it is an array I get ${var.sp.x[0-5]}\"",<br>
<br>
diff  --git a/lldb/test/API/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py b/lldb/test/API/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py<br>
index 7a82991a1c8b5..9d5c6ee262fee 100644<br>
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py<br>
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py<br>
@@ -85,7 +85,7 @@ def cleanup():<br>
                     substrs=['no custom formatter for Speed'])<br>
<br>
         self.runCmd(<br>
-            "type summary add --summary-string \"arr = ${var%s}\" -x \"char \\[[0-9]+\\]\" -v")<br>
+            "type summary add --summary-string \"arr = ${var%s}\" -x \"char\\[[0-9]+\\]\" -v")<br>
<br>
         self.expect("frame variable strarr",<br>
                     substrs=['arr = "Hello world!"'])<br>
@@ -99,7 +99,7 @@ def cleanup():<br>
                     substrs=['ptr = "Hello world!"'])<br>
<br>
         self.runCmd(<br>
-            "type summary add --summary-string \"arr = ${var%s}\" -x \"char \\[[0-9]+\\]\" -v")<br>
+            "type summary add --summary-string \"arr = ${var%s}\" -x \"char\\[[0-9]+\\]\" -v")<br>
<br>
         self.expect("frame variable strarr",<br>
                     substrs=['arr = "Hello world!'])<br>
@@ -176,7 +176,7 @@ def cleanup():<br>
                     matching=False)<br>
<br>
         self.runCmd(<br>
-            "type summary add --summary-string \"${var[1-3]}\" \"int [5]\"")<br>
+            "type summary add --summary-string \"${var[1-3]}\" \"int[5]\"")<br>
<br>
         self.expect("frame variable int_array",<br>
                     substrs=['2',<br>
@@ -188,7 +188,7 @@ def cleanup():<br>
         self.runCmd(<br>
             "type summary add --summary-string \"${var[0-2].integer}\" \"i_am_cool *\"")<br>
         self.runCmd(<br>
-            "type summary add --summary-string \"${var[2-4].integer}\" \"i_am_cool [5]\"")<br>
+            "type summary add --summary-string \"${var[2-4].integer}\" \"i_am_cool[5]\"")<br>
<br>
         self.expect("frame variable cool_array",<br>
                     substrs=['1,1,6'])<br>
@@ -199,7 +199,7 @@ def cleanup():<br>
         # test special symbols for formatting variables into summaries<br>
         self.runCmd(<br>
             "type summary add --summary-string \"cool object @ ${var%L}\" i_am_cool")<br>
-        self.runCmd("type summary delete \"i_am_cool [5]\"")<br>
+        self.runCmd("type summary delete \"i_am_cool[5]\"")<br>
<br>
         # this test might fail if the compiler tries to store<br>
         # these values into registers.. hopefully this is not<br>
<br>
diff  --git a/lldb/test/API/functionalities/data-formatter/data-formatter-ptr-to-array/TestPtrToArrayFormatting.py b/lldb/test/API/functionalities/data-formatter/data-formatter-ptr-to-array/TestPtrToArrayFormatting.py<br>
index b3c794f3f0c60..84fcc427106c8 100644<br>
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-ptr-to-array/TestPtrToArrayFormatting.py<br>
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-ptr-to-array/TestPtrToArrayFormatting.py<br>
@@ -48,7 +48,7 @@ def cleanup():<br>
         self.addTearDownHook(cleanup)<br>
<br>
         self.expect('p *(int (*)[3])foo',<br>
-                    substrs=['(int [3]) $', '[0] = 1', '[1] = 2', '[2] = 3'])<br>
+                    substrs=['(int[3]) $', '[0] = 1', '[1] = 2', '[2] = 3'])<br>
<br>
         self.expect('p *(int (*)[3])foo', matching=False,<br>
                     substrs=['01 00 00 00 02 00 00 00 03 00 00 00'])<br>
<br>
diff  --git a/lldb/test/API/functionalities/data-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py b/lldb/test/API/functionalities/data-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py<br>
index 0f98eb34825cb..13953e40a377b 100644<br>
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py<br>
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py<br>
@@ -68,7 +68,7 @@ def cleanup():<br>
                              'Nested Hello world!'])<br>
<br>
         self.runCmd(<br>
-            "type summary add --summary-string \"arr = ${var%s}\" -x \"char \\[[0-9]+\\]\"")<br>
+            "type summary add --summary-string \"arr = ${var%s}\" -x \"char\\[[0-9]+\\]\"")<br>
<br>
         self.expect("frame variable strarr",<br>
                     substrs=['arr = \"',<br>
@@ -107,7 +107,7 @@ def cleanup():<br>
                              'Nested Hello world!'])<br>
<br>
         self.runCmd(<br>
-            "type summary add --summary-string \"arr = ${var%c}\" -x \"char \\[[0-9]+\\]\"")<br>
+            "type summary add --summary-string \"arr = ${var%c}\" -x \"char\\[[0-9]+\\]\"")<br>
<br>
         self.expect("frame variable strarr",<br>
                     substrs=['arr = \"',<br>
@@ -127,7 +127,7 @@ def cleanup():<br>
<br>
 # ${var%char[]}<br>
         self.runCmd(<br>
-            "type summary add --summary-string \"arr = ${var%char[]}\" -x \"char \\[[0-9]+\\]\"")<br>
+            "type summary add --summary-string \"arr = ${var%char[]}\" -x \"char\\[[0-9]+\\]\"")<br>
<br>
         self.expect("frame variable strarr",<br>
                     substrs=['arr = \"',<br>
@@ -166,7 +166,7 @@ def cleanup():<br>
<br>
 # ${var%a}<br>
         self.runCmd(<br>
-            "type summary add --summary-string \"arr = ${var%a}\" -x \"char \\[[0-9]+\\]\"")<br>
+            "type summary add --summary-string \"arr = ${var%a}\" -x \"char\\[[0-9]+\\]\"")<br>
<br>
         self.expect("frame variable strarr",<br>
                     substrs=['arr = \"',<br>
@@ -255,7 +255,7 @@ def cleanup():<br>
                     '0x00000009,0x00000008,0x00000007,0x00000006,0x00000005'])<br>
<br>
         self.runCmd(<br>
-            "type summary add --summary-string \"arr = ${var[]%x}\" \"int [5]\"")<br>
+            "type summary add --summary-string \"arr = ${var[]%x}\" \"int[5]\"")<br>
<br>
         self.expect(<br>
             "frame variable intarr",<br>
@@ -271,7 +271,7 @@ def cleanup():<br>
<br>
 # printing each array item as an array<br>
         self.runCmd(<br>
-            "type summary add --summary-string \"arr = ${var[]%uint32_t[]}\" \"int [5]\"")<br>
+            "type summary add --summary-string \"arr = ${var[]%uint32_t[]}\" \"int[5]\"")<br>
<br>
         self.expect(<br>
             "frame variable intarr",<br>
@@ -287,7 +287,7 @@ def cleanup():<br>
<br>
 # printing full array as an array<br>
         self.runCmd(<br>
-            "type summary add --summary-string \"arr = ${var%uint32_t[]}\" \"int [5]\"")<br>
+            "type summary add --summary-string \"arr = ${var%uint32_t[]}\" \"int[5]\"")<br>
<br>
         self.expect(<br>
             "frame variable intarr",<br>
@@ -303,7 +303,7 @@ def cleanup():<br>
<br>
 # printing each array item as an array<br>
         self.runCmd(<br>
-            "type summary add --summary-string \"arr = ${var[]%float32[]}\" \"float [7]\"")<br>
+            "type summary add --summary-string \"arr = ${var[]%float32[]}\" \"float[7]\"")<br>
<br>
         self.expect(<br>
             "frame variable flarr",<br>
@@ -319,7 +319,7 @@ def cleanup():<br>
<br>
 # printing full array as an array<br>
         self.runCmd(<br>
-            "type summary add --summary-string \"arr = ${var%float32[]}\" \"float [7]\"")<br>
+            "type summary add --summary-string \"arr = ${var%float32[]}\" \"float[7]\"")<br>
<br>
         self.expect("frame variable flarr",<br>
                     substrs=['flarr = arr =',<br>
@@ -343,9 +343,9 @@ def cleanup():<br>
<br>
 # use y and Y<br>
         self.runCmd(<br>
-            "type summary add --summary-string \"arr = ${var%y}\" \"float [7]\"")<br>
+            "type summary add --summary-string \"arr = ${var%y}\" \"float[7]\"")<br>
         self.runCmd(<br>
-            "type summary add --summary-string \"arr = ${var%y}\" \"int [5]\"")<br>
+            "type summary add --summary-string \"arr = ${var%y}\" \"int[5]\"")<br>
<br>
         if process.GetByteOrder() == lldb.eByteOrderLittle:<br>
             self.expect(<br>
@@ -400,9 +400,9 @@ def cleanup():<br>
                     '00 00 00 09,00 00 00 08,00 00 00 07,00 00 00 06,00 00 00 05'])<br>
<br>
         self.runCmd(<br>
-            "type summary add --summary-string \"arr = ${var%Y}\" \"float [7]\"")<br>
+            "type summary add --summary-string \"arr = ${var%Y}\" \"float[7]\"")<br>
         self.runCmd(<br>
-            "type summary add --summary-string \"arr = ${var%Y}\" \"int [5]\"")<br>
+            "type summary add --summary-string \"arr = ${var%Y}\" \"int[5]\"")<br>
<br>
         if process.GetByteOrder() == lldb.eByteOrderLittle:<br>
             self.expect(<br>
<br>
diff  --git a/lldb/test/API/functionalities/data-formatter/typedef_array/main.cpp b/lldb/test/API/functionalities/data-formatter/typedef_array/main.cpp<br>
index 7e4323c9bb7ce..1b073f8a29406 100644<br>
--- a/lldb/test/API/functionalities/data-formatter/typedef_array/main.cpp<br>
+++ b/lldb/test/API/functionalities/data-formatter/typedef_array/main.cpp<br>
@@ -1,7 +1,7 @@<br>
 typedef int Foo;<br>
<br>
 int main() {<br>
-    // CHECK: (Foo [3]) array = {<br>
+    // CHECK: (Foo[3]) array = {<br>
     // CHECK-NEXT: (Foo) [0] = 1<br>
     // CHECK-NEXT: (Foo) [1] = 2<br>
     // CHECK-NEXT: (Foo) [2] = 3<br>
<br>
diff  --git a/lldb/test/API/lang/c/array_types/TestArrayTypes.py b/lldb/test/API/lang/c/array_types/TestArrayTypes.py<br>
index 455b8708fb702..2adeb8346e5b2 100644<br>
--- a/lldb/test/API/lang/c/array_types/TestArrayTypes.py<br>
+++ b/lldb/test/API/lang/c/array_types/TestArrayTypes.py<br>
@@ -71,12 +71,12 @@ def test_and_run_command(self):<br>
         self.expect(<br>
             "frame variable --show-types ushort_matrix",<br>
             VARIABLES_DISPLAYED_CORRECTLY,<br>
-            startstr='(unsigned short [2][3])')<br>
+            startstr='(unsigned short[2][3])')<br>
<br>
         self.expect(<br>
             "frame variable --show-types long_6",<br>
             VARIABLES_DISPLAYED_CORRECTLY,<br>
-            startstr='(long [6])')<br>
+            startstr='(long[6])')<br>
<br>
     @expectedFailureNetBSD<br>
     @add_test_categories(['pyapi'])<br>
<br>
diff  --git a/lldb/test/API/lang/c/vla/TestVLA.py b/lldb/test/API/lang/c/vla/TestVLA.py<br>
index aaf8767246e84..215eadc41a739 100644<br>
--- a/lldb/test/API/lang/c/vla/TestVLA.py<br>
+++ b/lldb/test/API/lang/c/vla/TestVLA.py<br>
@@ -39,7 +39,7 @@ def test(a, array):<br>
             self.expect("fr v vla", substrs=array)<br>
             self.expect("expr vla", error=True, substrs=["incomplete"])<br>
<br>
-        test(2, ["int []", "[0] = 2, [1] = 1"])<br>
+        test(2, ["int[]", "[0] = 2, [1] = 1"])<br>
         process.Continue()<br>
-        test(4, ["int []", "[0] = 4, [1] = 3, [2] = 2, [3] = 1"])<br>
+        test(4, ["int[]", "[0] = 4, [1] = 3, [2] = 2, [3] = 1"])<br>
<br>
<br>
diff  --git a/lldb/test/API/lang/cpp/bitfields/TestCppBitfields.py b/lldb/test/API/lang/cpp/bitfields/TestCppBitfields.py<br>
index 480b680e792e6..c67446f478032 100644<br>
--- a/lldb/test/API/lang/cpp/bitfields/TestCppBitfields.py<br>
+++ b/lldb/test/API/lang/cpp/bitfields/TestCppBitfields.py<br>
@@ -87,7 +87,7 @@ def test_and_run_command(self):<br>
             "frame variable --show-types lbd",<br>
             VARIABLES_DISPLAYED_CORRECTLY,<br>
             substrs=[<br>
-                '(char [3]) arr = "ab"',<br>
+                '(char[3]) arr = "ab"',<br>
                 '(int:32)  =',<br>
                 '(unsigned int:20) a = 5',<br>
                 ])<br>
<br>
diff  --git a/lldb/test/API/lang/cpp/char1632_t/TestChar1632T.py b/lldb/test/API/lang/cpp/char1632_t/TestChar1632T.py<br>
index a32248f08e597..182302987ca9b 100644<br>
--- a/lldb/test/API/lang/cpp/char1632_t/TestChar1632T.py<br>
+++ b/lldb/test/API/lang/cpp/char1632_t/TestChar1632T.py<br>
@@ -72,8 +72,8 @@ def test(self):<br>
         self.expect(<br>
             "frame variable as16 as32",<br>
             patterns=[<br>
-                '\(char16_t \[[0-9]+\]\) as16 = ',<br>
-                '\(char32_t \[[0-9]+\]\) as32 = '],<br>
+                '\(char16_t\[[0-9]+\]\) as16 = ',<br>
+                '\(char32_t\[[0-9]+\]\) as32 = '],<br>
             substrs=[<br>
                 'u"ﺸﺵۻ"',<br>
                 'U"ЕЙРГЖО"'])<br>
@@ -100,8 +100,8 @@ def test(self):<br>
         self.expect(<br>
             "frame variable as16 as32",<br>
             patterns=[<br>
-                '\(char16_t \[[0-9]+\]\) as16 = ',<br>
-                '\(char32_t \[[0-9]+\]\) as32 = '],<br>
+                '\(char16_t\[[0-9]+\]\) as16 = ',<br>
+                '\(char32_t\[[0-9]+\]\) as32 = '],<br>
             substrs=[<br>
                 '"色ハ匂ヘト散リヌルヲ"',<br>
                 '"෴"'])<br>
<br>
diff  --git a/lldb/test/API/lang/cpp/char8_t/TestCxxChar8_t.py b/lldb/test/API/lang/cpp/char8_t/TestCxxChar8_t.py<br>
index b39a069f5f212..aed923bf3def6 100644<br>
--- a/lldb/test/API/lang/cpp/char8_t/TestCxxChar8_t.py<br>
+++ b/lldb/test/API/lang/cpp/char8_t/TestCxxChar8_t.py<br>
@@ -22,4 +22,4 @@ def test(self):<br>
<br>
         self.expect_expr("a", result_type="char8_t", result_summary="0x61 u8'a'")<br>
         self.expect_expr("ab", result_type="const char8_t *", result_summary='u8"你好"')<br>
-        self.expect_expr("abc", result_type="char8_t [9]", result_summary='u8"你好"')<br>
+        self.expect_expr("abc", result_type="char8_t[9]", result_summary='u8"你好"')<br>
<br>
diff  --git a/lldb/test/API/lang/cpp/class_static/TestStaticVariables.py b/lldb/test/API/lang/cpp/class_static/TestStaticVariables.py<br>
index d5e2c8fdb2486..5d1a79ed24128 100644<br>
--- a/lldb/test/API/lang/cpp/class_static/TestStaticVariables.py<br>
+++ b/lldb/test/API/lang/cpp/class_static/TestStaticVariables.py<br>
@@ -40,9 +40,9 @@ def test_with_run_command(self):<br>
         self.expect(<br>
             'target variable A::g_points',<br>
             VARIABLES_DISPLAYED_CORRECTLY,<br>
-            patterns=['\(PointType \[[1-9]*\]\) A::g_points = {'])<br>
+            patterns=['\(PointType\[[1-9]*\]\) A::g_points = {'])<br>
         self.expect('target variable g_points', VARIABLES_DISPLAYED_CORRECTLY,<br>
-                    substrs=['(PointType [2]) g_points'])<br>
+                    substrs=['(PointType[2]) g_points'])<br>
<br>
         # On Mac OS X, gcc 4.2 emits the wrong debug info for A::g_points.<br>
         # A::g_points is an array of two elements.<br>
@@ -74,7 +74,7 @@ def test_with_run_command_complete(self):<br>
             'target variable A::g_points',<br>
             VARIABLES_DISPLAYED_CORRECTLY,<br>
             patterns=[<br>
-                '\(PointType \[[1-9]*\]\) A::g_points = {', '(x = 1, y = 2)',<br>
+                '\(PointType\[[1-9]*\]\) A::g_points = {', '(x = 1, y = 2)',<br>
                 '(x = 11, y = 22)'<br>
             ])<br>
<br>
@@ -92,7 +92,7 @@ def test_with_run_command_complete(self):<br>
             'target variable g_points',<br>
             VARIABLES_DISPLAYED_CORRECTLY,<br>
             substrs=[<br>
-                '(PointType [2]) g_points', '(x = 1, y = 2)',<br>
+                '(PointType[2]) g_points', '(x = 1, y = 2)',<br>
                 '(x = 11, y = 22)', '(x = 3, y = 4)', '(x = 33, y = 44)'<br>
             ])<br>
<br>
<br>
diff  --git a/lldb/test/API/lang/cpp/non-type-template-param/TestCppNonTypeTemplateParam.py b/lldb/test/API/lang/cpp/non-type-template-param/TestCppNonTypeTemplateParam.py<br>
index 12cf5bd3ec03a..4db94dae20acd 100644<br>
--- a/lldb/test/API/lang/cpp/non-type-template-param/TestCppNonTypeTemplateParam.py<br>
+++ b/lldb/test/API/lang/cpp/non-type-template-param/TestCppNonTypeTemplateParam.py<br>
@@ -13,5 +13,5 @@ def test(self):<br>
         self.dbg.CreateTarget(self.getBuildArtifact("a.out"))<br>
<br>
         self.expect_expr("myArray", result_type="array<3>", result_children=[<br>
-            ValueCheck(name="Arr", type="int [3]")<br>
+            ValueCheck(name="Arr", type="int[3]")<br>
         ])<br>
<br>
diff  --git a/lldb/test/API/tools/lldb-vscode/variables/TestVSCode_variables.py b/lldb/test/API/tools/lldb-vscode/variables/TestVSCode_variables.py<br>
index 092d96edf4eb6..30a85ec5eb28e 100644<br>
--- a/lldb/test/API/tools/lldb-vscode/variables/TestVSCode_variables.py<br>
+++ b/lldb/test/API/tools/lldb-vscode/variables/TestVSCode_variables.py<br>
@@ -178,8 +178,8 @@ def test_scopes_variables_setVariable_evaluate(self):<br>
                 'hasVariablesReference': True<br>
             },<br>
             'pt.buffer': {<br>
-                'equals': {'type': 'int [32]'},<br>
-                'startswith': {'result': 'int [32] @ 0x'},<br>
+                'equals': {'type': 'int[32]'},<br>
+                'startswith': {'result': 'int[32] @ 0x'},<br>
                 'hasVariablesReference': True<br>
             },<br>
             'argv': {<br>
<br>
diff  --git a/lldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_const_value.s b/lldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_const_value.s<br>
index 5753be3f3ba25..4bb7b2578a59d 100644<br>
--- a/lldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_const_value.s<br>
+++ b/lldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_const_value.s<br>
@@ -16,10 +16,10 @@<br>
 # CHECK: (unsigned long) data8 = 4742474247424742<br>
 ## Variables specified using string forms. This behavior purely speculative -- I<br>
 ## don't know of any compiler that would represent character strings this way.<br>
-# CHECK: (char [7]) string = "string"<br>
-# CHECK: (char [7]) strp = "strp\0\0"<br>
+# CHECK: (char[7]) string = "string"<br>
+# CHECK: (char[7]) strp = "strp\0\0"<br>
 ## Bogus attribute form. Let's make sure we don't crash at least.<br>
-# CHECK: (char [7]) ref4 = <empty constant data><br>
+# CHECK: (char[7]) ref4 = <empty constant data><br>
 ## A variable of pointer type.<br>
 # CHECK: (unsigned long *) udata_ptr = 0xdeadbeefbaadf00d<br>
<br>
<br>
diff  --git a/lldb/test/Shell/SymbolFile/DWARF/x86/array-sizes.s b/lldb/test/Shell/SymbolFile/DWARF/x86/array-sizes.s<br>
index d70352d8531ea..dc86db055677d 100644<br>
--- a/lldb/test/Shell/SymbolFile/DWARF/x86/array-sizes.s<br>
+++ b/lldb/test/Shell/SymbolFile/DWARF/x86/array-sizes.s<br>
@@ -10,7 +10,7 @@<br>
 # RUN: lldb-test symbols %t | FileCheck %s<br>
<br>
 # CHECK: Variable{0x0000001e}, name = "X"<br>
-# CHECK-SAME: type = {0000000000000033} 0x{{[0-9A-F]*}} (char [56])<br>
+# CHECK-SAME: type = {0000000000000033} 0x{{[0-9A-F]*}} (char[56])<br>
<br>
<br>
 # Generated from "char X[47];"<br>
<br>
diff  --git a/lldb/test/Shell/SymbolFile/NativePDB/global-classes.cpp b/lldb/test/Shell/SymbolFile/NativePDB/global-classes.cpp<br>
index 226c47ce1c53f..30293a79c3b6c 100644<br>
--- a/lldb/test/Shell/SymbolFile/NativePDB/global-classes.cpp<br>
+++ b/lldb/test/Shell/SymbolFile/NativePDB/global-classes.cpp<br>
@@ -153,14 +153,14 @@ constexpr ClassWithPadding ClassWithPaddingInstance;<br>
 // CHECK-NEXT: (const ClassWithPadding) ClassWithPaddingInstance = {<br>
 // CHECK-NEXT:   (char) a = '0'<br>
 // CHECK-NEXT:   (short) b = 50<br>
-// CHECK-NEXT:   (char [2]) c = "01"<br>
+// CHECK-NEXT:   (char[2]) c = "01"<br>
 // CHECK-NEXT:   (int) d = 100<br>
 // CHECK-NEXT:   (char) e = '0'<br>
 // CHECK-NEXT:   (int) f = 200<br>
 // CHECK-NEXT:   (long long) g = 300<br>
-// CHECK-NEXT:   (char [3]) h = "012"<br>
+// CHECK-NEXT:   (char[3]) h = "012"<br>
 // CHECK-NEXT:   (long long) i = 400<br>
-// CHECK-NEXT:   (char [2]) j = "01"<br>
+// CHECK-NEXT:   (char[2]) j = "01"<br>
 // CHECK-NEXT:   (long long) k = 500<br>
 // CHECK-NEXT:   (char) l = '0'<br>
 // CHECK-NEXT:   (long long) m = 600<br>
@@ -184,7 +184,7 @@ constexpr ClassNoPadding ClassNoPaddingInstance;<br>
 // CHECK-NEXT:   (double) m = 23890.897422999999<br>
 // CHECK-NEXT:   (unsigned long long) n = 23490782<br>
 // CHECK-NEXT:     (long long) o = -923409823<br>
-// CHECK-NEXT:     (int [5]) p = {<br>
+// CHECK-NEXT:     (int[5]) p = {<br>
 // CHECK-NEXT:       (int) [0] = 2<br>
 // CHECK-NEXT:       (int) [1] = 3<br>
 // CHECK-NEXT:       (int) [2] = 5<br>
@@ -276,14 +276,14 @@ constexpr References ReferencesInstance;<br>
 // CHECK: |-CXXRecordDecl {{.*}} class ClassWithPadding definition<br>
 // CHECK: | |-FieldDecl {{.*}} a 'char'<br>
 // CHECK: | |-FieldDecl {{.*}} b 'short'<br>
-// CHECK: | |-FieldDecl {{.*}} c 'char [2]'<br>
+// CHECK: | |-FieldDecl {{.*}} c 'char[2]'<br>
 // CHECK: | |-FieldDecl {{.*}} d 'int'<br>
 // CHECK: | |-FieldDecl {{.*}} e 'char'<br>
 // CHECK: | |-FieldDecl {{.*}} f 'int'<br>
 // CHECK: | |-FieldDecl {{.*}} g 'long long'<br>
-// CHECK: | |-FieldDecl {{.*}} h 'char [3]'<br>
+// CHECK: | |-FieldDecl {{.*}} h 'char[3]'<br>
 // CHECK: | |-FieldDecl {{.*}} i 'long long'<br>
-// CHECK: | |-FieldDecl {{.*}} j 'char [2]'<br>
+// CHECK: | |-FieldDecl {{.*}} j 'char[2]'<br>
 // CHECK: | |-FieldDecl {{.*}} k 'long long'<br>
 // CHECK: | |-FieldDecl {{.*}} l 'char'<br>
 // CHECK: | `-FieldDecl {{.*}} m 'long long'<br>
@@ -304,7 +304,7 @@ constexpr References ReferencesInstance;<br>
 // CHECK: | |-FieldDecl {{.*}} m 'double'<br>
 // CHECK: | |-FieldDecl {{.*}} n 'unsigned long long'<br>
 // CHECK: | |-FieldDecl {{.*}} o 'long long'<br>
-// CHECK: | `-FieldDecl {{.*}} p 'int [5]'<br>
+// CHECK: | `-FieldDecl {{.*}} p 'int[5]'<br>
 // CHECK: |-VarDecl {{.*}} ClassNoPaddingInstance 'const ClassNoPadding'<br>
 // CHECK: |-EnumDecl {{.*}} EnumType<br>
 // CHECK: | |-EnumConstantDecl {{.*}} A 'EnumType'<br>
<br>
<br>
<br>
_______________________________________________<br>
lldb-commits mailing list<br>
<a href="mailto:lldb-commits@lists.llvm.org" target="_blank">lldb-commits@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits</a><br>
</blockquote></div>
</blockquote></div></div>