This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/13815] New: ICE in loc_descriptor_from_tree
- From: "jakub 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 Jan 2004 17:22:22 -0000
- Subject: [Bug debug/13815] New: ICE in loc_descriptor_from_tree
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
--- gcc/testsuite/gcc.dg/debug/debug-7.c 2003-09-15 15:40:47.000000000 +0200
+++ gcc/testsuite/gcc.dg/debug/debug-7.c 2004-01-22 18:18:12.000000000 +0100
@@ -0,0 +1,17 @@
+/* { dg-do compile } */
+/* { dg-options "-dA" } */
+
+typedef __SIZE_TYPE__ size_t;
+
+static inline size_t foo (int n)
+{
+ return (n + sizeof (int) * 8 - 1) / (sizeof (int) * 8);
+}
+
+void bar (int, int *);
+
+void baz (int n)
+{
+ int a[foo (n)];
+ bar (n, a);
+}
causes ICE (e.g. at -Os -g, -O1 -g, -O2 -g).
The problem is that EXPR_WITH_FILE_LOCATION (STMT_EXPR ()) is passed to
loc_descriptor_from_tree whcih doesn't handle statement expressions and/or
inline functions and aborts.
--
Summary: ICE in loc_descriptor_from_tree
Product: gcc
Version: 3.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org
CC: arjanv at redhat dot com,gcc-bugs at gcc dot gnu dot org
GCC target triplet: i386-redhat-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13815