/* RUN: %clang_cc1 -std=c99 -verify -emit-llvm -o - %s | FileCheck %s RUN: %clang_cc1 -std=c11 -verify -emit-llvm -o - %s | FileCheck %s RUN: %clang_cc1 -std=c17 -verify -emit-llvm -o - %s | FileCheck %s RUN: %clang_cc1 -std=c2x -verify -emit-llvm -o - %s | FileCheck %s */ /* WG14 DR208: yes * Ambiguity in initialization */ int dr208_init(int); void dr208(void) { int a[2] = { dr208_init(0), /* expected-note {{previous initialization with side effects is here (side effects will not occur at run time)}} */ dr208_init(1), [0] = dr208_init(2) /* expected-warning {{initializer overrides prior initialization of this subobject}} */ }; /* CHECK-NOT: call i32 @dr208_init(i32 noundef 0) CHECK-DAG: call i32 @dr208_init(i32 noundef 1) CHECK-DAG: call i32 @dr208_init(i32 noundef 2) CHECK-NOT: call i32 @dr208_init(i32 noundef 0) */ }