22 lines · cpp
1// RUN: %clang_cc1 -triple thumbv6m-eabi -emit-llvm %s -o - | FileCheck -check-prefix=LIBCALL %s2// RUN: %clang_cc1 -triple armv8-eabi -emit-llvm %s -o - | FileCheck -check-prefix=NATIVE %s3// PR454764 5// This test used to get into an infinite loop,6// which, in turn, caused clang to never finish execution.7 8struct s3 {9 char a, b, c;10};11 12_Atomic struct s3 a;13 14extern "C" void foo() {15 // LIBCALL-LABEL: @foo16 // LIBCALL: call void @__atomic_store17 // NATIVE-LABEL: @foo18 // NATIVE: store atomic i32 {{.*}} seq_cst, align 419 20 a = s3{1, 2, 3};21}22