| /* Graceful handling of a syntax error. */ |
| /* { dg-do compile } */ |
| /* Suppress warnings that the GNUStep headers introduce. */ |
| /* { dg-additional-options "-std=gnu++11 -Wno-expansion-to-defined -Wno-variadic-macros" { target *-*-darwin* } } */ |
| |
| #ifdef __NEXT_RUNTIME__ |
| #include "../objc-obj-c++-shared/F-NSObject.h" |
| #define OBJECT NSObject |
| #else |
| #include <objc/Object.h> |
| #define OBJECT Object |
| #endif |
| |
| class foo { |
| public: |
| foo(); |
| virtual ~foo(); |
| }; |
| |
| |
| extern void NXLog(const char *, ...); |
| |
| @interface Test2 : OBJECT { |
| } |
| - (void) foo2; |
| @end |
| |
| @implementation Test2 |
| - (void) foo2 |
| NXLog("Hello, world!"); /* { dg-line Test2_foo2_body } */ |
| /* { dg-error "expected .\{. before .NXLog." "" { target *-*-* } Test2_foo2_body } */ |
| } /* { dg-error "stray .\}. between Objective\\-C\\+\\+ methods" } */ |
| @end |
| |
| /* { dg-error "expected constructor, destructor, or type conversion before" "" { target *-*-* } Test2_foo2_body } */ |