teak-llvm/clang/test/SemaCXX/ast-print-crash.cpp
Artem Belevich 224879ea47 [DeclPrinter] Fix two cases that crash clang -ast-print.
Both are related to handling anonymous structures.
* clang didn't handle () around an anonymous struct variable.
* clang also crashed on syntax errors that could lead to other
  syntactic constructs following the declaration of an
  anonymous struct. While the code is invalid, that's not
  a good reason to panic compiler.

Differential Revision: https://reviews.llvm.org/D41788

llvm-svn: 322742
2018-01-17 19:29:39 +00:00

13 lines
500 B
C++

// RUN: not %clang_cc1 -triple %ms_abi_triple -ast-print %s -std=gnu++11 \
// RUN: | FileCheck %s
// The test compiles a file with a syntax error which used to cause a crash with
// -ast-print. Compilation fails due to the syntax error, but compiler should
// not crash and print out whatever it manager to parse.
// CHECK: struct {
// CHECK-NEXT: } dont_crash_on_syntax_error;
// CHECK-NEXT: decltype(nullptr) p;
struct {
} dont_crash_on_syntax_error /* missing ; */ decltype(nullptr) p;