brintos

brintos / llvm-project-archived public Read only

0
0
Text · 858 B · 92c6e21 Raw
24 lines · cpp
1// RUN: %clang_cc1 -fsyntax-only -verify %s2 3void f(int, ...) __attribute__((sentinel));4 5void g() {6  f(1, 2, __null);7}8 9typedef __typeof__(sizeof(int)) size_t;10 11struct S {12  S(int,...) __attribute__((sentinel)); // expected-note {{marked sentinel}}13  void a(int,...) __attribute__((sentinel)); // expected-note {{marked sentinel}}14  void* operator new(size_t,...) __attribute__((sentinel)); // expected-note {{marked sentinel}}15  void operator()(int,...) __attribute__((sentinel)); // expected-note {{marked sentinel}}16};17 18void class_test() {19  S s(1,2,3); // expected-warning {{missing sentinel in function call}}20  S* s2 = new (1,2,3) S(1, __null); // expected-warning {{missing sentinel in function call}}21  s2->a(1,2,3); // expected-warning {{missing sentinel in function call}}22  s(1,2,3); // expected-warning {{missing sentinel in function call}}23}24