xref: /llvm-project/clang/test/SemaCXX/nothrow-as-noexcept-ctor.cpp (revision 97dfc4ab28210e6b14a996eee1abc7c563182427)
1*97dfc4abSErich Keane // RUN: %clang_cc1 %s -fcxx-exceptions -fsyntax-only -Wexceptions -verify -std=c++14
2*97dfc4abSErich Keane 
3*97dfc4abSErich Keane // expected-no-diagnostics
4*97dfc4abSErich Keane struct Base {
BaseBase5*97dfc4abSErich Keane   __attribute__((nothrow)) Base() {}
6*97dfc4abSErich Keane };
7*97dfc4abSErich Keane 
8*97dfc4abSErich Keane struct Derived : Base {
9*97dfc4abSErich Keane   Derived() noexcept = default;
10*97dfc4abSErich Keane };
11*97dfc4abSErich Keane 
12*97dfc4abSErich Keane struct Base2 {
Base2Base213*97dfc4abSErich Keane    Base2() noexcept {}
14*97dfc4abSErich Keane };
15*97dfc4abSErich Keane 
16*97dfc4abSErich Keane struct Derived2 : Base2 {
17*97dfc4abSErich Keane   __attribute__((nothrow)) Derived2() = default;
18*97dfc4abSErich Keane };
19*97dfc4abSErich Keane 
20*97dfc4abSErich Keane struct Base3 {
Base3Base321*97dfc4abSErich Keane   __attribute__((nothrow)) Base3() {}
22*97dfc4abSErich Keane };
23*97dfc4abSErich Keane 
24*97dfc4abSErich Keane struct Derived3 : Base3 {
25*97dfc4abSErich Keane   __attribute__((nothrow)) Derived3() = default;
26*97dfc4abSErich Keane };
27