xref: /llvm-project/clang/test/Sema/redefinition.c (revision 0f1c1be1968076d6f96f8a7bcc4a15cf195ecd97)
1 // RUN: %clang_cc1 %s -fsyntax-only -verify -Wno-strict-prototypes
f(int a)2 int f(int a) { return 0; } // expected-note {{previous definition is here}}
3 int f(int);
f(int a)4 int f(int a) { return 0; } // expected-error {{redefinition of 'f'}}
5 
foo(x)6 int foo(x) { // expected-error {{parameter 'x' was not declared, defaults to 'int'; ISO C99 and later do not support implicit int}}
7   return 0;
8 }
9 int x = 1;
10 
g(void)11 extern inline int g(void) { return 0; } // expected-note{{previous definition}}
g(void)12 int g(void) { return 0; } // expected-error{{redefinition of a 'extern inline' function 'g' is not supported in C99 mode}}
13