| // RUN: %clang_cc1 -fsyntax-only -verify -std=c89 %s | |
| // Tests for a few cases involving C functions without prototypes. | |
| void noproto() __attribute__((nonblocking)) // expected-error {{'nonblocking' function must have a prototype}} | |
| { | |
| } | |
| // This will succeed | |
| void noproto(void) __attribute__((blocking)); | |
| // A redeclaration isn't any different - a prototype is required. | |
| void f1(void); | |
| void f1() __attribute__((nonblocking)); // expected-error {{'nonblocking' function must have a prototype}} |