Index: lib/AST/StmtPrinter.cpp =================================================================== --- lib/AST/StmtPrinter.cpp +++ lib/AST/StmtPrinter.cpp @@ -129,6 +129,7 @@ SmallVector Decls(S->decls()); PrintingPolicy SubPolicy(Policy); SubPolicy.SuppressSpecifiers = false; + SubPolicy.SuppressTag = false; Decl::printGroup(Decls.data(), Decls.size(), OS, SubPolicy, IndentLevel); } Index: test/Sema/ast-print.c =================================================================== --- test/Sema/ast-print.c +++ test/Sema/ast-print.c @@ -71,6 +71,15 @@ int c = 1; c; }); + + enum Foo { FOO = 0 }; + struct { + enum Foo foo; + } anon = {({ +// CHECK: enum Foo foo2 = FOO; + enum Foo foo2 = FOO; + foo2; + })}; } // CHECK: char c = '\x80';