]> git.proxmox.com Git - rustc.git/blame - src/compiler-rt/test/asan/TestCases/initialization-constexpr.cc
New upstream version 1.19.0+dfsg3
[rustc.git] / src / compiler-rt / test / asan / TestCases / initialization-constexpr.cc
CommitLineData
1a4d82fc
JJ
1// Constexpr:
2// We need to check that a global variable initialized with a constexpr
3// constructor can be accessed during dynamic initialization (as a constexpr
4// constructor implies that it was initialized during constant initialization,
5// not dynamic initialization).
6
92a42be0
SL
7// RUN: %clangxx_asan -O0 %s %p/Helpers/initialization-constexpr-extra.cc --std=c++11 -o %t
8// RUN: %env_asan_opts=check_initialization_order=true %run %t 2>&1
9// RUN: %clangxx_asan -O1 %s %p/Helpers/initialization-constexpr-extra.cc --std=c++11 -o %t
10// RUN: %env_asan_opts=check_initialization_order=true %run %t 2>&1
11// RUN: %clangxx_asan -O2 %s %p/Helpers/initialization-constexpr-extra.cc --std=c++11 -o %t
12// RUN: %env_asan_opts=check_initialization_order=true %run %t 2>&1
13// RUN: %clangxx_asan -O3 %s %p/Helpers/initialization-constexpr-extra.cc --std=c++11 -o %t
14// RUN: %env_asan_opts=check_initialization_order=true %run %t 2>&1
1a4d82fc
JJ
15
16class Integer {
17 private:
18 int value;
19
20 public:
21 constexpr Integer(int x = 0) : value(x) {}
22 int getValue() {return value;}
23};
24Integer coolestInteger(42);
25int getCoolestInteger() { return coolestInteger.getValue(); }
26
27int main() { return 0; }