diff --git a/tests/syntax/keep_logical_operators.i b/tests/syntax/keep_logical_operators.i index dd05ac45a1b8248ca184a8f2f613b7cc86c17bd9..5f7901e2354bbae4862204d9d79ba3abc49e044d 100644 --- a/tests/syntax/keep_logical_operators.i +++ b/tests/syntax/keep_logical_operators.i @@ -9,3 +9,13 @@ int test(int a, int b, int c) { return 2; } + +int test_ptr(int* a, int* b, int* c) { + if (a && (b || c)) { + return 1; + } + if (a) + if (b) + return 2; + return 3; +} diff --git a/tests/syntax/oracle/keep_logical_operators.res.oracle b/tests/syntax/oracle/keep_logical_operators.res.oracle index 99261e5e4c556aee8b36123f86d1860c3680b298..23aec58813484e7951b5fb638d01fdd41ce07c98 100644 --- a/tests/syntax/oracle/keep_logical_operators.res.oracle +++ b/tests/syntax/oracle/keep_logical_operators.res.oracle @@ -11,4 +11,20 @@ int test(int a, int b, int c) return_label: return __retres; } +int test_ptr(int *a, int *b, int *c) +{ + int __retres; + if ((int)a && ((int)b || (int)c)) { + __retres = 1; + goto return_label; + } + if (a) + if (b) { + __retres = 2; + goto return_label; + } + __retres = 3; + return_label: return __retres; +} +