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: [email protected]
ReportedBy: [email protected]
CC: [email protected], [email protected],
[email protected]
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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs