[LLVMbugs] [Bug 7541] New: Exception-specification diagnostics missing critical information
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Thu Jul 1 07:36:48 PDT 2010
http://llvm.org/bugs/show_bug.cgi?id=7541
Summary: Exception-specification diagnostics missing critical
information
Product: clang
Version: trunk
Platform: PC
OS/Version: All
Status: NEW
Keywords: quality-of-implementation
Severity: normal
Priority: P
Component: C++
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: dgregor at apple.com
CC: llvmbugs at cs.uiuc.edu, sebastian.redl at getdesigned.at,
dgregor at apple.com
Several of the exception-specification diagnostics provide too little
information to be useful, particularly when we're checking for compatibility
between exception-specifications. For example:
t.cpp:11:39: error: target exception specification is not superset of source
Y &(Y::*yptr1)(const Y&) throw(A) = &Y::operator=;
and
test/CXX/except/except.spec/p14.cpp:12:8: error: exception specification of
overriding function is more lax than base version
struct X2 : public X0, public X1 { }; // expected-error 2{{exception ...
^
test/CXX/except/except.spec/p14.cpp:7:11: note: overridden virtual function is
here
virtual ~X0() throw(A); // expected-note{{overridden virtual function ...
^
should say what the actual exception specifications are or, perhaps, which
types are missing (in the "not a superset" diagnostic) or have been added (in
the "more lax" diagnostic).
As a secondary nit, we probably shouldn't use the term "lax". "Permissive",
perhaps?
--
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