This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/39355] [4.4 Regression] Revision 144529: ICE due to missing or incorrectly relocated DECL_VALUE_EXPR in PCH header for PARM_DECL
- From: "danglin at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 Mar 2009 18:34:14 -0000
- Subject: [Bug tree-optimization/39355] [4.4 Regression] Revision 144529: ICE due to missing or incorrectly relocated DECL_VALUE_EXPR in PCH header for PARM_DECL
- References: <bug-39355-276@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #45 from danglin at gcc dot gnu dot org 2009-03-22 18:34 -------
The testsuite fails disappear if I add --disable-libstdcxx-pch to the
configure command. The ICE can be suppressed with
Index: dwarf2out.c
===================================================================
--- dwarf2out.c (revision 144988)
+++ dwarf2out.c (working copy)
@@ -10431,8 +10431,12 @@
case PARM_DECL:
if (DECL_HAS_VALUE_EXPR_P (loc))
- return loc_descriptor_from_tree_1 (DECL_VALUE_EXPR (loc),
- want_address);
+ {
+ tree loc1 = DECL_VALUE_EXPR (loc);
+
+ if (loc1 != NULL_TREE)
+ return loc_descriptor_from_tree_1 (loc1, want_address);
+ }
/* FALLTHRU */
case RESULT_DECL:
However, it is probably better to determine why the value expression
isn't found.
I looked at the PCH mapping. The file appears to be correctly mapped
at the specified location and offset by the kernel.
There is some variation in the mapping location for stdc++.h.gch from
build to build. However, I still don't know why slight changes to expr.o
affect the search for the value expression.
--
danglin at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.4 Regression] Revision |[4.4 Regression] Revision
|144529 miscompiled |144529: ICE due to missing
|libcpp/expr.c |or incorrectly relocated
| |DECL_VALUE_EXPR in PCH
| |header for PARM_DECL
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39355