public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/53613] New: Cannot override a inline "= default" virtual destructor.
@ 2012-06-08 11:12 kirbyzhou@sogou-inc.com
  2012-06-08 11:17 ` [Bug c++/53613] " redi at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: kirbyzhou@sogou-inc.com @ 2012-06-08 11:12 UTC (permalink / raw)
  To: gcc-bugs

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

             Bug #: 53613
           Summary: Cannot override a inline "= default" virtual
                    destructor.
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: kirbyzhou@sogou-inc.com


[root@djt-17-109-v06 tmp]# cat tover.cpp 
struct __cook {
        virtual ~__cook() = default;
};

struct __cook1: public __cook {
        virtual ~__cook1() = default;
};

struct __cook2: public __cook {
        virtual ~__cook2();
};
__cook2::~__cook2() {};

struct __cook3: public __cook {
        virtual ~__cook3();
};
__cook3::~__cook3() = default;

[root@djt-17-109-v06 tmp]# g++47 -c -std=gnu++11 tover.cpp 
tover.cpp:6:10: error: looser throw specifier for 'virtual __cook1::~__cook1()'
tover.cpp:2:10: error:   overriding 'virtual __cook::~__cook() noexcept (true)'
tover.cpp:10:10: error: looser throw specifier for 'virtual
__cook2::~__cook2()'
tover.cpp:2:10: error:   overriding 'virtual __cook::~__cook() noexcept (true)'
tover.cpp:15:10: error: looser throw specifier for 'virtual
__cook3::~__cook3()'
tover.cpp:2:10: error:   overriding 'virtual __cook::~__cook() noexcept (true)
'
[root@djt-17-109-v06 tmp]# g++ -c -std=gnu++0x tover.cpp 
# g++ 4.4.6 works

Workaround: define parent destructor outside the class definition.

[root@djt-17-109-v06 tmp]# cat tover.cpp 
struct __cook {
                virtual ~__cook();
};
__cook::~__cook() = default;
/*...*/


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-06-12 10:48 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-08 11:12 [Bug c++/53613] New: Cannot override a inline "= default" virtual destructor kirbyzhou@sogou-inc.com
2012-06-08 11:17 ` [Bug c++/53613] " redi at gcc dot gnu.org
2012-06-08 11:19 ` redi at gcc dot gnu.org
2012-06-11 10:16 ` kirbyzhou@sogou-inc.com
2012-06-11 10:29 ` redi at gcc dot gnu.org
2012-06-12  2:39 ` kirbyzhou@sogou-inc.com
2012-06-12  6:28 ` redi at gcc dot gnu.org
2012-06-12  7:24 ` jakub at gcc dot gnu.org
2012-06-12 10:48 ` redi at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).