xref: /llvm-project/clang/test/Sema/builtin-redecl.cpp (revision 8392f1cc78270c7039970b413dfd836bf4def602)
1 // RUN: %clang_cc1 %s -fsyntax-only -verify
2 // RUN: %clang_cc1 %s -fsyntax-only -verify -x c
3 // RUN: %clang_cc1 %s -fsyntax-only -verify -fms-compatibility
4 
5 typedef __typeof__(sizeof(0)) size_t;
6 
7 // Redeclaring library builtins is OK.
8 void exit(int);
9 
10 // expected-error@+2 {{cannot redeclare builtin function '__builtin_va_copy'}}
11 // expected-note@+1 {{'__builtin_va_copy' is a builtin with type}}
12 void __builtin_va_copy(double d);
13 
14 // expected-error@+2 {{cannot redeclare builtin function '__builtin_va_end'}}
15 // expected-note@+1 {{'__builtin_va_end' is a builtin with type}}
16 void __builtin_va_end(__builtin_va_list);
17 // RUN: %clang_cc1 %s -fsyntax-only -verify
18 // RUN: %clang_cc1 %s -fsyntax-only -verify -x c
19 
20 void __va_start(__builtin_va_list*, ...);
21 
22 #ifdef __cplusplus
23 void *__builtin_assume_aligned(const void *, size_t, ...) noexcept;
24 #else
25 void *__builtin_assume_aligned(const void *, size_t, ...);
26 #endif
27