1 // RUN: %clang_cc1 -verify -fsyntax-only %s 2 3 int NotAProtoType(); // expected-note{{add 'void' to the parameter list to turn an old-style K&R function declaration into a prototype}} 4 int TestCalleeNotProtoType(void) { 5 __attribute__((musttail)) return NotAProtoType(); // expected-error{{'musttail' attribute requires that both caller and callee functions have a prototype}} 6 } 7 8 int ProtoType(void); 9 int TestCallerNotProtoType() { // expected-note{{add 'void' to the parameter list to turn an old-style K&R function declaration into a prototype}} 10 __attribute__((musttail)) return ProtoType(); // expected-error{{'musttail' attribute requires that both caller and callee functions have a prototype}} 11 } 12 13 int TestProtoType(void) { 14 return ProtoType(); 15 } 16