; Ensure that the backend satisfies the requirement of the verifier ; that disallows uses of intrinsic global variables. ; int *ptr_0 = nullptr; ; void *ptr_1 = ptr_0; ; clang -S -emit-llvm --target=spir example.cpp ; Test passes if use of "-verify-machineinstrs" doesn't lead to crash. ; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s ; CHECK: OpFunction @ptr_0 = dso_local global ptr null, align 4 @ptr_1 = dso_local global ptr null, align 4 @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__sub_I_example.cpp, ptr null }] define internal spir_func void @__cxx_global_var_init() { entry: %0 = load ptr, ptr @ptr_0, align 4 store ptr %0, ptr @ptr_1, align 4 ret void } define internal spir_func void @_GLOBAL__sub_I_example.cpp() { entry: call spir_func void @__cxx_global_var_init() ret void }