view gcc/testsuite/g++.dg/cpp0x/Wnarrowing16.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
line wrap: on
line source

// PR c++/78244
// { dg-do compile { target c++11 } }

struct S { int d; };

template <typename T>
auto f1() -> decltype(S{2.0}, void()) { } // { dg-error "narrowing conversion" }

template <typename T>
auto f2() -> decltype(S{2.0}, 1) { return 1; } // { dg-error "narrowing conversion" }

template <typename T>
auto f3() -> decltype(void(), S{2.0}, 1) { return 1; } // { dg-error "narrowing conversion" }

template <typename T>
auto f4() -> decltype((S{2.0}, 1)) { return 1; } // { dg-error "narrowing conversion" }