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