| // PR c++/94038 | |
| // { dg-do compile { target c++11 } } | |
| // { dg-additional-options "-O -Wall" } | |
| static constexpr int x = 0; | |
| template<typename T> | |
| constexpr const int& | |
| foo() | |
| { | |
| static_assert(T(1) == 0, ""); | |
| return x; | |
| } | |
| template<typename T> | |
| constexpr const int& | |
| bar() | |
| { | |
| return foo<T>(); | |
| } | |
| constexpr int | |
| baz(int a) | |
| { | |
| return a; | |
| } | |
| static_assert(decltype(baz(bar<int>())){} == 0, ""); |