[Bug middle-end/111921] [11/12/13/14 Regression] ICE with nested function after an error since r6-205-g5c4abbb8e80153
tkoenig at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Nov 1 17:02:42 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111921
Thomas Koenig <tkoenig at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[11/12/13/14 Regression] |[11/12/13/14 Regression]
|ICE with nested function |ICE with nested function
|after an error |after an error since
| |r6-205-g5c4abbb8e80153
Keywords|needs-bisection |
CC| |mpolacek at gcc dot gnu.org
--- Comment #4 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
Bisection finally found the relevant patch: r6-205-g5c4abbb8e80153
5c4abbb8e80153999b0298e4b2fe81d512f133c8 is the first bad commit
commit 5c4abbb8e80153999b0298e4b2fe81d512f133c8
Author: Marek Polacek <polacek@redhat.com>
Date: Thu Apr 23 14:35:12 2015 +0000
re PR c/65345 (ICE with _Generic selection on _Atomic int)
PR c/65345
* c-decl.c (set_labels_context_r): New function.
(store_parm_decls): Call it via walk_tree_without_duplicates.
* c-typeck.c (convert_lvalue_to_rvalue): Use create_tmp_var_raw
instead of create_tmp_var. Build TARGET_EXPR instead of
COMPOUND_EXPR.
(build_atomic_assign): Use create_tmp_var_raw instead of
create_tmp_var. Build TARGET_EXPRs instead of MODIFY_EXPR.
* gcc.dg/pr65345-1.c: New test.
* gcc.dg/pr65345-2.c: New test.
From-SVN: r222370
Bisection actually needed a patch for bootstrap to succeed:
diff --git a/gcc/cp/cfns.gperf b/gcc/cp/cfns.gperf
index 68acd3d..5ecf86a 100644
--- a/gcc/cp/cfns.gperf
+++ b/gcc/cp/cfns.gperf
@@ -23,7 +23,7 @@ static unsigned int hash (const char *, unsigned int);
#ifdef __GNUC__
__inline
#endif
-const char * libc_name_p (const char *, unsigned int);
+# const char * libc_name_p (const char *, unsigned int);
%}
%%
# The standard C library functions, for feeding to gperf; the result is used
diff --git a/gcc/cp/cfns.h b/gcc/cp/cfns.h
index 1c6665d..ee38f6a 100644
--- a/gcc/cp/cfns.h
+++ b/gcc/cp/cfns.h
@@ -51,9 +51,6 @@ along with GCC; see the file COPYING3. If not see
__inline
#endif
static unsigned int hash (const char *, unsigned int);
-#ifdef __GNUC__
-__inline
-#endif
const char * libc_name_p (const char *, unsigned int);
/* maximum key range = 391, duplicates = 0 */
More information about the Gcc-bugs
mailing list