Opened 13 years ago

Closed 13 years ago

#3317 closed Bugs (fixed)

Fix is_virtual_base of for gcc 4.4.x

Reported by: thomas.jarosch@… Owned by: John Maddock
Milestone: Boost 1.40.0 Component: type_traits
Version: Boost 1.39.0 Severity: Problem
Keywords: Cc:

Description

Hello,

is_virtual_base_of stops working using gcc 4.4.x when the destructor of a derived class contains an exception specification like this:

class derived : public base {

virtual ~derived() throw();

}

A test case, compiler output and a patch for this are attached.

Cheers, Thomas

Attachments (3)

testcase.cpp (811 bytes ) - added by thomas.jarosch@… 13 years ago.
Test case
gcc_compile_output.txt (7.6 KB ) - added by thomas.jarosch@… 13 years ago.
gcc (GCC) 4.4.0 20090506 (Red Hat 4.4.0-4) compiler output
boost-is_virtual_base_of-exception-specificiton.patch (695 bytes ) - added by thomas.jarosch@… 13 years ago.
Fix for the issue

Download all attachments as: .zip

Change History (4)

by thomas.jarosch@…, 13 years ago

Attachment: testcase.cpp added

Test case

by thomas.jarosch@…, 13 years ago

Attachment: gcc_compile_output.txt added

gcc (GCC) 4.4.0 20090506 (Red Hat 4.4.0-4)

compiler output

by thomas.jarosch@…, 13 years ago

Fix for the issue

comment:1 by John Maddock, 13 years ago

Resolution: fixed
Status: newclosed

(In [55428]) Fixes #3317. Fix is_virtual_base_of so it doesn't lose exception specifications on it's destructors (causes GCC and maybe other compilers to choke).

Note: See TracTickets for help on using tickets.