poke-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[COMMITTED] pkl: Fix ICE on type completeness of trimmed arrays


From: Mohammad-Reza Nabipoor
Subject: [COMMITTED] pkl: Fix ICE on type completeness of trimmed arrays
Date: Sat, 29 Jan 2022 02:20:55 +0330

2022-01-28  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>

        * libpoke/pkl-typify.c (pkl_typify1_ps_trimmer): Restart the pass
        on creation of new AST node.
        * testsuite/poke.pkl/arrays-17.pk: New test.
        * testsuite/Makefile.am (EXTRA_DIST): Update.
---
 ChangeLog                       | 7 +++++++
 libpoke/pkl-typify.c            | 1 +
 testsuite/Makefile.am           | 1 +
 testsuite/poke.pkl/arrays-17.pk | 9 +++++++++
 4 files changed, 18 insertions(+)
 create mode 100644 testsuite/poke.pkl/arrays-17.pk

diff --git a/ChangeLog b/ChangeLog
index 19a09da1..d3c215c5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2022-01-28  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>
+
+       * libpoke/pkl-typify.c (pkl_typify1_ps_trimmer): Restart the pass
+       on creation of new AST node.
+       * testsuite/poke.pkl/arrays-17.pk: New test.
+       * testsuite/Makefile.am (EXTRA_DIST): Update.
+
 2022-01-28  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>
 
        * libpoke/pkl-trans.c (pkl_trans2_ps_op_attr):
diff --git a/libpoke/pkl-typify.c b/libpoke/pkl-typify.c
index bb70aa87..5a71a844 100644
--- a/libpoke/pkl-typify.c
+++ b/libpoke/pkl-typify.c
@@ -1133,6 +1133,7 @@ PKL_PHASE_BEGIN_HANDLER (pkl_typify1_ps_trimmer)
                                         PKL_AST_TYPE_A_ETYPE (entity_type),
                                         NULL /* bound */);
     PKL_AST_TYPE (trimmer) = ASTREF (new_type);
+    PKL_PASS_RESTART = 1;
   }
   else
     PKL_AST_TYPE (trimmer) = ASTREF (entity_type);
diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am
index 27e604f0..05d6cfde 100644
--- a/testsuite/Makefile.am
+++ b/testsuite/Makefile.am
@@ -675,6 +675,7 @@ EXTRA_DIST = \
   poke.pkl/arrays-13.pk \
   poke.pkl/arrays-15.pk \
   poke.pkl/arrays-16.pk \
+  poke.pkl/arrays-17.pk \
   poke.pkl/arrays-diag-1.pk \
   poke.pkl/arrays-diag-2.pk \
   poke.pkl/arrays-diag-3.pk \
diff --git a/testsuite/poke.pkl/arrays-17.pk b/testsuite/poke.pkl/arrays-17.pk
new file mode 100644
index 00000000..ff2e8c74
--- /dev/null
+++ b/testsuite/poke.pkl/arrays-17.pk
@@ -0,0 +1,9 @@
+/* { dg-do run } */
+
+var a = [[1][:]];
+
+/* { dg-command { .set obase 10 } } */
+/* { dg-command {  [[1][:]] } } */
+/* { dg-output "\\\[\\\[1\\\]\\\]\n" } */
+/* { dg-command {  typeof (a).complete_p  } } */
+/* { dg-output "0" } */
-- 
2.34.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]