https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81942
--- Comment #7 from Thomas Preud'homme <thopre01 at gcc dot gnu.org> ---
Hi Paolo,
Thanks for working on this.
(In reply to Paolo Carlini from comment #6)
> It would be nice if somebody with a fully functional ARM toolchain could
> check whether something like the below at least avoids the ICE without
> causing any regressions. I hope it does.
>
> Index: constexpr.c
> ===================================================================
> --- constexpr.c (revision 251553)
> +++ constexpr.c (working copy)
> @@ -3679,7 +3679,7 @@ breaks (tree *jump_target)
> {
> return *jump_target
> && ((TREE_CODE (*jump_target) == LABEL_DECL
> - && LABEL_DECL_BREAK (*jump_target))
> + && (LABEL_DECL_BREAK (*jump_target) || DECL_ARTIFICIAL (*jump_target)))
> || TREE_CODE (*jump_target) == EXIT_EXPR);
> }
The patch works for me on the testcase I provided, that is compilation process
returns a success error code instead of ICEing.
Best regards.