llvm-project/clang/test/Sema/redefinition.c
Douglas Gregor a7d6e3d0f5 Provide a specific diagnostic when trying to redefine an "extern
inline" function outside of GNU89 mode. Fixes
<rdar://problem/6880464>.

llvm-svn: 113204
2010-09-07 15:51:01 +00:00

15 lines
500 B
C

// RUN: %clang_cc1 %s -fsyntax-only -verify
int f(int a) { return 0; } // expected-note {{previous definition is here}}
int f(int);
int f(int a) { return 0; } // expected-error {{redefinition of 'f'}}
// <rdar://problem/6097326>
int foo(x) {
return 0;
}
int x = 1;
// <rdar://problem/6880464>
extern inline int g(void) { return 0; } // expected-note{{previous definition}}
int g(void) { return 0; } // expected-error{{redefinition of a 'extern inline' function 'g' is not supported in C99 mode}}