Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/cpp0x/noexcept08.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// { dg-do compile { target c++11 } } // { dg-prune-output "overriding" } struct A { virtual void f(); virtual void g() throw(); virtual void h() noexcept; virtual void i() noexcept(false); virtual void j() throw(int); // { dg-error "dynamic exception specification" "" { target c++17 } } }; // { dg-warning "deprecated" "" { target { ! c++17 } } .-1 } struct B: A { void f() noexcept; void g() noexcept; void h() noexcept; void i() noexcept; void j() noexcept; }; struct C: A { void f() throw(); void g() throw(); void h() throw(); void i() throw(); void j() throw(); }; struct D: A { void f() noexcept(false); void g() noexcept(false); // { dg-error "looser" } void h() noexcept(false); // { dg-error "looser" } void i() noexcept(false); void j() noexcept(false); // { dg-error "looser" "" { target { ! c++17 } } } }; struct E: A { void f() throw(int); // { dg-error "dynamic exception specification" "" { target c++17 } } // { dg-warning "deprecated" "" { target { ! c++17 } } .-1 } void g() throw(int); // { dg-error "looser" } // { dg-error "dynamic exception specification" "" { target c++17 } .-1 } // { dg-warning "deprecated" "" { target { ! c++17 } } .-2 } void h() throw(int); // { dg-error "looser" } // { dg-error "dynamic exception specification" "" { target c++17 } .-1 } // { dg-warning "deprecated" "" { target { ! c++17 } } .-2 } void i() throw(int); // { dg-error "dynamic exception specification" "" { target c++17 } } // { dg-warning "deprecated" "" { target { ! c++17 } } .-1 } void j() throw(int); // { dg-error "dynamic exception specification" "" { target c++17 } } // { dg-warning "deprecated" "" { target { ! c++17 } } .-1 } }; struct F: A { void f(); void g(); // { dg-error "looser" } void h(); // { dg-error "looser" } void i(); void j(); // { dg-error "looser" "" { target { ! c++17 } } } };