/* 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 {{signext i32|i32}} @dr208_init(i32 noundef {{(signext )?}}0) CHECK-DAG: call {{signext i32|i32}} @dr208_init(i32 noundef {{(signext )?}}1) CHECK-DAG: call {{signext i32|i32}} @dr208_init(i32 noundef {{(signext )?}}2) CHECK-NOT: call {{signext i32|i32}} @dr208_init(i32 noundef {{(signext )?}}0) */ }