From 5e74995c13f8b291d21ea553174970914d4f09a9 Mon Sep 17 00:00:00 2001 From: Jeremiah Orians Date: Sat, 2 Oct 2021 22:02:39 -0400 Subject: [PATCH] Catch truncated function calls and truncated array statements --- cc_core.c | 2 ++ test/test.answers | 12 ++++++------ test/test1000/proof.answer | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/cc_core.c b/cc_core.c index 723793f..560d69a 100644 --- a/cc_core.c +++ b/cc_core.c @@ -147,6 +147,7 @@ void expression(); void function_call(char* s, int bool) { require_match("ERROR in process_expression_list\nNo ( was found\n", "("); + require(NULL != global_token, "Improper function call\n"); int passed = 0; if((KNIGHT_POSIX == Architecture) || (KNIGHT_NATIVE == Architecture)) @@ -928,6 +929,7 @@ void postfix_expr_array() else if(RISCV64 == Architecture) emit_out("RD_A0 RS1_A1 RS2_A0 ADD\n"); require_match("ERROR in postfix_expr\nMissing ]\n", "]"); + require(NULL != global_token, "truncated array expression\n"); if(match("=", global_token->s)) { diff --git a/test/test.answers b/test/test.answers index fc27b88..a975c8f 100644 --- a/test/test.answers +++ b/test/test.answers @@ -212,9 +212,9 @@ eb1f6aab09a1a4966f9f49a518d8aa03ca97aa7c46e443871d758a306671a85e test/results/t a2cbfd5f76d3be8049c6737e3fa02f191caf29b6885db006fa23f86e6eacc186 test/results/test0106-knight-posix-binary 5d25eda44320f9ff2869d9ee5bc0808b4ffd13c8803fb922c3c6759cfa39be32 test/results/test0106-riscv64-binary 473cc504d6cba9eaf648abcf15c83a317ff3f4a7f08f5e8936e3b35b2cc4fbc6 test/results/test0106-x86-binary -a97a1d59c9548115a404d70b6341c47c5dd3bf2e9ef359f5834fd967cf3179ab test/results/test1000-aarch64-binary -cb2d1ebc31e9c5e2701ed1da6baea3c137ea8e07a0397196458473a17e63a697 test/results/test1000-amd64-binary -e164c932628261716f6d8bde9e07945c22c3a5db922471edc8814de0450a1c36 test/results/test1000-armv7l-binary -0e5559a2f1453da101754c10a190ff2c327d713731faf66d42051bbf69ee74b4 test/results/test1000-knight-posix-binary -cefaa8654e91d962058ea6c68dd33e45aa4ebe9947cacf72561e2221f1744e92 test/results/test1000-riscv64-binary -76b7b1faf97eb18e9d83f3305dcd815f7c7ab2ee57f61bcda5773e731c8346eb test/results/test1000-x86-binary +f67cfc1c4c858ebb64d616e770def1beb8673e7990cb14baae20380e2311477d test/results/test1000-aarch64-binary +e9ef13ec504619ddc6ee71d700fdabe3034a82d46a1c2e4118dd3415e943907c test/results/test1000-amd64-binary +2b70bddfe076e5a939741722af0039837e83d9df8328c28861082ee0149062fe test/results/test1000-armv7l-binary +88ab59b05b5ad9a0a8545ce0507af1bd25f83d4451b69f74ce209057b652ff32 test/results/test1000-knight-posix-binary +3b0b18b9c4e0310bf2a0e9d4978e2ca2d442242ab18f19329123f26bc81a1768 test/results/test1000-riscv64-binary +f69333a1faf95bf8c183b2d312b1a36acda6c6a27d63a7e33518423ae5a51388 test/results/test1000-x86-binary diff --git a/test/test1000/proof.answer b/test/test1000/proof.answer index 5715385..c386b03 100644 --- a/test/test1000/proof.answer +++ b/test/test1000/proof.answer @@ -1 +1 @@ -2da2d58ea83e905ddbb14a50186a14486ac9770b8ccdf585d3bb281c64db52eb test/test1000/proof +5b105981c7e983384991e2449b30099fa1486c0d68b8408d709edd19936dd863 test/test1000/proof