/* * Copyright (c) 2015 - present Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ #include extern int add_all_ints(int x, int y, int z, ...) __attribute__((sentinel)); void valid_call(int* a, int* b, int* c) { // fine int x = add_all_ints(0, 0, 0, a, b, c, NULL); } void truncated_call(void) { int a = 0, b = 1, c = 2, d = 3; int* p = NULL; // warning: p is NULL so only first argument sent to add_all_ints int x = add_all_ints(0, 0, 0, &a, p, &b, &c, &d, NULL); }