re PR c++/24580 (virtual base class cause exception not to be caught)
PR c++/24580 * method.c (locate_copy): Also use skip_artificial_parms here. (synthesize_exception_spec): Use CLASS_TYPE_P rather than checking for RECORD_TYPE. (locate_ctor): Abort if we fail to find a default constructor. From-SVN: r107097
This commit is contained in:
parent
f001093a6a
commit
6276e725b2
|
@ -1,3 +1,11 @@
|
|||
2005-11-15 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/24580
|
||||
* method.c (locate_copy): Also use skip_artificial_parms here.
|
||||
(synthesize_exception_spec): Use CLASS_TYPE_P rather than checking
|
||||
for RECORD_TYPE.
|
||||
(locate_ctor): Abort if we fail to find a default constructor.
|
||||
|
||||
2005-11-15 Mike Stump <mrs@apple.com>
|
||||
|
||||
* name-lookup.c (lookup_name_two): Add.
|
||||
|
|
|
@ -847,7 +847,7 @@ synthesize_exception_spec (tree type, tree (*extractor) (tree, void*),
|
|||
continue;
|
||||
while (TREE_CODE (type) == ARRAY_TYPE)
|
||||
type = TREE_TYPE (type);
|
||||
if (TREE_CODE (type) != RECORD_TYPE)
|
||||
if (!CLASS_TYPE_P (type))
|
||||
continue;
|
||||
|
||||
fn = (*extractor) (type, client);
|
||||
|
@ -894,7 +894,7 @@ locate_ctor (tree type, void *client ATTRIBUTE_UNUSED)
|
|||
if (sufficient_parms_p (parms))
|
||||
return fn;
|
||||
}
|
||||
return NULL_TREE;
|
||||
gcc_unreachable ();
|
||||
}
|
||||
|
||||
struct copy_data
|
||||
|
@ -941,7 +941,7 @@ locate_copy (tree type, void *client_)
|
|||
int excess;
|
||||
int quals;
|
||||
|
||||
parms = TREE_CHAIN (parms);
|
||||
parms = skip_artificial_parms_for (fn, parms);
|
||||
if (!parms)
|
||||
continue;
|
||||
src_type = non_reference (TREE_VALUE (parms));
|
||||
|
|
Loading…
Reference in New Issue