comparison gcc/testsuite/g++.dg/cpp1y/constexpr-tracking-const8.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
comparison
equal deleted inserted replaced
131:84e7813d76e9 145:1830386684a0
1 // PR c++/91264
2 // { dg-do compile { target c++14 } }
3
4 struct B {
5 int i;
6 double d;
7 };
8
9 constexpr B bar()
10 {
11 constexpr B b = {10,10.10}; // { dg-message "originally declared" }
12 B *p = const_cast<B*>(&b);
13
14 p->i = 11; // { dg-error "modifying a const object" }
15 p->d = 11.11;
16
17 return *p;
18 }
19
20 void foo()
21 {
22 constexpr B y = bar(); // { dg-message "in .constexpr. expansion of" }
23 }