diff options
Diffstat (limited to 'gcc/cp/method.c')
| -rw-r--r-- | gcc/cp/method.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/cp/method.c b/gcc/cp/method.c index 82f4a36..f3c86d3 100644 --- a/gcc/cp/method.c +++ b/gcc/cp/method.c @@ -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)); |
