diff options
| -rw-r--r-- | parse.c | 1 | ||||
| -rw-r--r-- | tests/086.sh | 17 |
2 files changed, 18 insertions, 0 deletions
@@ -331,6 +331,7 @@ AstNode* create_new_postfix_inc_or_dec(Parser* p, AstNode* e, TokenKind op) { ast_append(ret, expr2); ast_append(ret, expr3); ast_append(ret, expr4); + ret->ty = expr4->ty; return ret; } diff --git a/tests/086.sh b/tests/086.sh new file mode 100644 index 0000000..ee440b5 --- /dev/null +++ b/tests/086.sh @@ -0,0 +1,17 @@ +set -e + +cat <<'EOF' > expected +105 +0 +EOF + +bash ../../test_diff.sh <<'EOF' +int printf(); + +int main() { + char* s = "hi"; + while (*s++) { + printf("%d\n", *s); + } +} +EOF |
