From 3ff3cf5f21b9330719db52573adc9ebe2c91c0c9 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Tue, 25 Nov 2008 04:08:05 +0000 Subject: [PATCH] Test another error message, make sure to verify C++ new and delete tests llvm-svn: 60007 --- clang/test/SemaCXX/new-delete.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/clang/test/SemaCXX/new-delete.cpp b/clang/test/SemaCXX/new-delete.cpp index 60f77e4ef911..1ff1b2ecb5b6 100644 --- a/clang/test/SemaCXX/new-delete.cpp +++ b/clang/test/SemaCXX/new-delete.cpp @@ -1,3 +1,5 @@ +// RUN: clang -fsyntax-only -verify %s + struct S // expected-note {{candidate}} { S(int, int, double); // expected-note {{candidate}} @@ -21,7 +23,7 @@ void good_news() ia4 *pai = new (int[3][4]); } -void bad_news() +void bad_news(int *ip) { int i = 1; (void)new; // expected-error {{missing type specifier}} @@ -33,9 +35,9 @@ void bad_news() (void)new int(*(S*)0); // expected-error {{incompatible type initializing}} (void)new int(1, 2); // expected-error {{initializer of a builtin type can only take one argument}} (void)new S(1); // expected-error {{no matching constructor}} - (void)new S(1, 1); // expected-error {{call to constructor of 'struct S' is ambiguous}} + (void)new S(1, 1); // expected-error {{call to constructor of 'S' is ambiguous}} (void)new const int; // expected-error {{must provide an initializer}} - + (void)new float*(ip); // expected-error {{incompatible type initializing 'int *', expected 'float *'}} // Some lacking cases due to lack of sema support. }