http://llvm.org/bugs/show_bug.cgi?id=6972

           Summary: virtual derived constructor with "throw()" is seen as
                    too lax when templates are involved
           Product: clang
           Version: trunk
          Platform: Macintosh
        OS/Version: MacOS X
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
        AssignedTo: [email protected]
        ReportedBy: [email protected]
                CC: [email protected], [email protected]


Created an attachment (id=4764)
 --> (http://llvm.org/bugs/attachment.cgi?id=4764)
Code used to test this problem.

I have 3 classes. The first, Foo, is a template with two parameters. The second
is a template class, Bar, with one parameter T that extends Foo<T,T>. The third
class, Baz, extends Bar<int> where int can be replaced with concrete type. All
classes have virtual destructors with throw() set. When attempting to compile
this, I am issued the following error:

--
    ./clang-test-throw-destructor.cpp:16:13: error: exception specification of
    overriding function is more lax than base version
        virtual ~Baz(void) throw() { }
                ^
    ./clang-test-throw-destructor.cpp:11:13: note: overridden virtual function
    is here
        virtual ~Bar(void) throw() { }
                ^
    1 error generated.
--


I *think* that this is incorrect as all three destructors have the same
exception specification.

Specs:
clang version 1.5 (trunk 101948)
Apple Model Id: MacBookPro5,5
Processor: Intel Core 2 Duo
OS: Mac OS X 10.6.3 (10D573)
Kernel Version: Darwin 10.3.0
Xcode version: 3.2.1 (1613)
Compiler flags: -O0 -g -pedantic -pedantic-errors -Wall -Werror -Wextra -ansi

Attached is the code that I tested with, and that the above errors reported.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to