Bootstrapped / tested on x86_64-unknown-linux-gnu, applied.

Richard.

2019-10-04  Richard Biener  <rguent...@suse.de>

        PR lto/91968
        * tree.c (find_decls_types_r): Do not remove LABEL_DECLs from
        BLOCK_VARS.

Index: gcc/tree.c
===================================================================
--- gcc/tree.c  (revision 276396)
+++ gcc/tree.c  (working copy)
@@ -5936,8 +5936,9 @@ find_decls_types_r (tree *tp, int *ws, v
     {
       for (tree *tem = &BLOCK_VARS (t); *tem; )
        {
-         if (TREE_CODE (*tem) != VAR_DECL
-             || !auto_var_in_fn_p (*tem, DECL_CONTEXT (*tem)))
+         if (TREE_CODE (*tem) != LABEL_DECL
+             && (TREE_CODE (*tem) != VAR_DECL
+                 || !auto_var_in_fn_p (*tem, DECL_CONTEXT (*tem))))
            {
              gcc_assert (TREE_CODE (*tem) != RESULT_DECL
                          && TREE_CODE (*tem) != PARM_DECL);

Reply via email to