xref: /llvm-project/clang/test/CodeGenCXX/no-const-init-cxx2a.cpp (revision dd2bf3b840df260d794e37cc96d4498372aa08f6)
1 // RUN: %clang_cc1 -triple x86_64-linux-gnu -emit-llvm -o - %s -std=c++2a | FileCheck %s
2 // RUN: %clang_cc1 -triple x86_64-linux-gnu -emit-llvm -o - %s -std=c++2a -fexperimental-new-constant-interpreter | FileCheck %s
3 
4 // CHECK-DAG: @p = {{.*}} null
5 // CHECK-DAG: @_ZGR1p_ = {{.*}} null
6 int *const &p = new int;
7 
8 struct d {
9   constexpr d(int &&f) : e(f) {}
10   int &e;
11 };
12 
13 // CHECK-DAG: @g = {{.*}} null
14 // CHECK-DAG: @_ZGR1g_ = {{.*}} zeroinitializer
15 d &&g{{0}};
16 
17 // CHECK: define {{.*}} @__cxx_global_var_init
18 // CHECK: define {{.*}} @__cxx_global_var_init
19 // CHECK-NOT: define {{.*}} @__cxx_global_var_init
20