http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56191



             Bug #: 56191

           Summary: Destructor affects noexcept detection

    Classification: Unclassified

           Product: gcc

           Version: 4.7.2

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: c++

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: antosh...@gmail.com





GCC 4.7.2 incorrectly detects noexcept specification in case of move

constructor.

Here is an example:



struct descriptor_owner_movable {

    descriptor_owner_movable(descriptor_owner_movable&& ) noexcept {}



    // Without destructor it compiles correctly

    ~descriptor_owner_movable() {}

};



descriptor_owner_movable&& declval() noexcept;



int main() {

    static_assert(

        noexcept(descriptor_owner_movable(declval()))

    , "But it is nothrow!");

    return 0;

}

Reply via email to