aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2015-04-17 09:44:30 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2015-04-17 09:44:30 +0200
commitd7cb230a931ffc5e4356bbffdb05998162df900c (patch)
tree690826deecdec1e9c6fc9f4f8f535bd56f0c5d5a /gcc
parent86f46e3972ce44064990c1fcd97fa97a9492ee44 (diff)
downloadgcc-d7cb230a931ffc5e4356bbffdb05998162df900c.zip
gcc-d7cb230a931ffc5e4356bbffdb05998162df900c.tar.gz
gcc-d7cb230a931ffc5e4356bbffdb05998162df900c.tar.bz2
re PR debug/65771 (ICE (in loc_list_from_tree, at dwarf2out.c:14964) on arm-linux-gnueabihf)
PR debug/65771 * dwarf2out.c (loc_list_from_tree): Return NULL for DEBUG_EXPR_DECL. * gcc.dg/debug/pr65771.c: New test. From-SVN: r222166
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/dwarf2out.c1
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/debug/pr65771.c15
4 files changed, 27 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index eba141d..d572d49 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2015-04-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/65771
+ * dwarf2out.c (loc_list_from_tree): Return NULL
+ for DEBUG_EXPR_DECL.
+
2015-04-17 Christian Bruel <christian.bruel@st.com>
* ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 6c8e51f..b34a3ed 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -14642,6 +14642,7 @@ loc_list_from_tree (tree loc, int want_address,
case TARGET_MEM_REF:
case SSA_NAME:
+ case DEBUG_EXPR_DECL:
return NULL;
case COMPOUND_EXPR:
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index adb1192..2bf8576 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2015-04-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/65771
+ * gcc.dg/debug/pr65771.c: New test.
+
2015-04-16 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/mpx/alloca-1-lbv.c (mpx_test): Replace
diff --git a/gcc/testsuite/gcc.dg/debug/pr65771.c b/gcc/testsuite/gcc.dg/debug/pr65771.c
new file mode 100644
index 0000000..2629901
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/debug/pr65771.c
@@ -0,0 +1,15 @@
+/* PR debug/65771 */
+/* { dg-do link } */
+/* { dg-require-effective-target tls } */
+
+struct S { int s; int t; };
+__thread struct S a[10];
+int b;
+
+int
+main ()
+{
+ int c = a[b].t;
+ (void) c;
+ return 0;
+}