Uros Bizjak <[email protected]> a écrit:
> As shown in the PR, ivar-invalid-type-1 ICEs in constructor_name_p,
> due to accessor on NULL "type" argument.
>
> The one-liner patch fixes the ICE by adding a guard that checks that
> current_class_type is non-NULL before calling constructor_name_p.
>
> 2012-05-21 Uros Bizjak <[email protected]>
>
> PR obj-c++/53441
> * decl.c (grokdeclarator): Check that current_class_type is non-NULL
> before calling constructor_name_p.
>
> Patch was bootstrapped and regression tested on x86_64-pc-linux-gnu {,-m32}.
>
> OK for mainline SVN?
I cannot approve or deny this patch, but it looks OK to me. Let's CC
Jason.
[...]
> Index: decl.c
> ===================================================================
> --- decl.c (revision 187736)
> +++ decl.c (working copy)
> @@ -9803,7 +9803,8 @@ grokdeclarator (const cp_declarator *declarator,
> clones. */
> DECL_ABSTRACT (decl) = 1;
> }
> - else if (constructor_name_p (unqualified_id, current_class_type))
> + else if (current_class_type
> + && constructor_name_p (unqualified_id, current_class_type))
> permerror (input_location, "ISO C++ forbids nested type %qD with same
> name "
> "as enclosing class",
> unqualified_id);
--
Dodji