view gcc/testsuite/g++.dg/cpp0x/noexcept46.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
line wrap: on
line source

// PR c++/86476 - noexcept-specifier is a complete-class context
// { dg-do compile { target c++11 } }

void f() noexcept(false);
void g() noexcept(true);
void h() noexcept;

struct B {
  friend void f() noexcept(false);
  friend void g() noexcept(false); // { dg-error "different exception specifier" }
  friend void h() noexcept(false); // { dg-error "different exception specifier" }
};

struct C {
  friend void f() noexcept(true); // { dg-error "different exception specifier" }
  friend void g() noexcept(true); // { dg-error "different exception specifier" }
  friend void h() noexcept(true); // { dg-error "different exception specifier" }
};

void o() noexcept(false);
void p() noexcept(true);
void q() noexcept;

struct D {
  friend void o() noexcept(true); // { dg-error "different exception specifier" }
  friend void p() noexcept(true);
  friend void q() noexcept(true);
};