[LLVMbugs] [Bug 7717] New: problem with error reporting on throw specifiers

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Jul 26 12:25:48 PDT 2010


           Summary: problem with error reporting on throw specifiers
           Product: clang
           Version: unspecified
          Platform: Macintosh
        OS/Version: MacOS X
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: james at markzware.com
                CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com

The code listed below produces the following error on gcc. 

error: looser throw specifier for ‘virtual cChild::~cChild() throw
error:   overriding ‘virtual cParent::~cParent() throw ()’

It seem to me that it should produce an error 

"error: exception specification of overriding function is more lax than base

on clang. It does not. However, I have had this error message returned on code
that doesn't in fact have a looser exception specifier on the child than it
does on the parent. I cannot reproduce the error on code simple enough to
submit for your review. When attempting to produce an example to demonstrate
the problem, I wasn't able to cause the error to happen even when it should

class cParent

    virtual ~cParent() throw()


class cChild : public cParent

    virtual ~cChild() throw(std::exception&)


int main (int argc, const char * argv[]) 

    cChild* c = new cChild();
    return 0;

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.

More information about the llvm-bugs mailing list