poke-devel
[Top][All Lists]
Advanced

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

[COMMITTED] pkl: Don't panic when attribute is not known at compile-time


From: Mohammad-Reza Nabipoor
Subject: [COMMITTED] pkl: Don't panic when attribute is not known at compile-time
Date: Sat, 29 Jan 2022 01:44:25 +0330

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

        * libpoke/pkl-trans.c (pkl_trans2_ps_op_attr):
        s/assert/PKL_PASS_DONE/.
        * testsuite/poke.pkl/typeof-25.pk: New test.
        * testsuite/Makefile.am (EXTRA_DIST): Update.
---
 ChangeLog                       | 7 +++++++
 libpoke/pkl-trans.c             | 2 +-
 testsuite/Makefile.am           | 1 +
 testsuite/poke.pkl/typeof-25.pk | 5 +++++
 4 files changed, 14 insertions(+), 1 deletion(-)
 create mode 100644 testsuite/poke.pkl/typeof-25.pk

diff --git a/ChangeLog b/ChangeLog
index 3a5a8486..19a09da1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2022-01-28  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>
+
+       * libpoke/pkl-trans.c (pkl_trans2_ps_op_attr):
+       s/assert/PKL_PASS_DONE/.
+       * testsuite/poke.pkl/typeof-25.pk: New test.
+       * testsuite/Makefile.am (EXTRA_DIST): Update.
+
 2022-01-28  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>
 
        * etc/poke.rec (Unions can be completed): Remove (done).
diff --git a/libpoke/pkl-trans.c b/libpoke/pkl-trans.c
index 0bf70e53..4d48fe85 100644
--- a/libpoke/pkl-trans.c
+++ b/libpoke/pkl-trans.c
@@ -1461,7 +1461,7 @@ PKL_PHASE_BEGIN_HANDLER (pkl_trans2_ps_op_attr)
               length = PKL_AST_ARRAY_NELEM (operand);
               break;
             default:
-              assert (0);
+              PKL_PASS_DONE;
             }
         else if (PKL_AST_TYPE_CODE (operand_type) == PKL_TYPE_STRUCT
                  && (PKL_AST_TYPE_COMPLETE (operand_type)
diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am
index b69e3f1e..27e604f0 100644
--- a/testsuite/Makefile.am
+++ b/testsuite/Makefile.am
@@ -2155,6 +2155,7 @@ EXTRA_DIST = \
   poke.pkl/typeof-22.pk \
   poke.pkl/typeof-23.pk \
   poke.pkl/typeof-24.pk \
+  poke.pkl/typeof-25.pk \
   poke.pkl/typeof-array-1.pk \
   poke.pkl/typeof-array-2.pk \
   poke.pkl/typeof-int-1.pk \
diff --git a/testsuite/poke.pkl/typeof-25.pk b/testsuite/poke.pkl/typeof-25.pk
new file mode 100644
index 00000000..db025989
--- /dev/null
+++ b/testsuite/poke.pkl/typeof-25.pk
@@ -0,0 +1,5 @@
+/* { dg-do run } */
+
+/* { dg-command {.set obase 16} } */
+/* { dg-command {typeof (6)'length} } */
+/* { dg-output {0x5UL} } */
-- 
2.34.1




reply via email to

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