/* * 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); }