1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 // RUN: %clang_cc1 -fsyntax-only -triple x86_64-apple-darwin9 -verify %s
3 
4 int a[10];
5 
6 int f0() {
7   return __builtin_object_size(&a); // expected-error {{too few arguments to function}}
8 }
9 int f1() {
10   return (__builtin_object_size(&a, 0) +
11           __builtin_object_size(&a, 1) +
12           __builtin_object_size(&a, 2) +
13           __builtin_object_size(&a, 3));
14 }
15 int f2() {
16   return __builtin_object_size(&a, -1); // expected-error {{argument should be a value from 0 to 3}}
17 }
18 int f3() {
19   return __builtin_object_size(&a, 4); // expected-error {{argument should be a value from 0 to 3}}
20 }
21 
22 
23 // rdar://6252231 - cannot call vsnprintf with va_list on x86_64
24 void f4(const char *fmt, ...) {
25  __builtin_va_list args;
26  __builtin___vsnprintf_chk (0, 42, 0, 11, fmt, args);
27 }
28 
29