diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/tests2/82_nocode_wanted.c | 32 | ||||
| -rw-r--r-- | tests/tests2/82_nocode_wanted.expect | 4 |
2 files changed, 36 insertions, 0 deletions
diff --git a/tests/tests2/82_nocode_wanted.c b/tests/tests2/82_nocode_wanted.c index 18b4914..a0ec890 100644 --- a/tests/tests2/82_nocode_wanted.c +++ b/tests/tests2/82_nocode_wanted.c @@ -27,6 +27,36 @@ static void kb_wait_2(void) timeout--; } while (timeout); } +static void kb_wait_2_1(void) +{ + unsigned long timeout = 2; + do { + (1 ? + printf("timeout=%ld\n", timeout) : + ({ + do { + printf("error\n"); + } while (1); + }) + ); + timeout--; + } while (timeout); +} +static void kb_wait_2_2(void) +{ + unsigned long timeout = 2; + do { + (1 ? + printf("timeout=%ld\n", timeout) : + ({ + label: + printf("error\n"); + goto label; + }) + ); + timeout--; + } while (timeout); +} static void kb_wait_3(void) { unsigned long timeout = 2; @@ -73,6 +103,8 @@ int main() printf("begin\n"); kb_wait_1(); kb_wait_2(); + kb_wait_2_1(); + kb_wait_2_2(); kb_wait_3(); kb_wait_4(); printf("end\n"); diff --git a/tests/tests2/82_nocode_wanted.expect b/tests/tests2/82_nocode_wanted.expect index 3828ca8..c44d4ea 100644 --- a/tests/tests2/82_nocode_wanted.expect +++ b/tests/tests2/82_nocode_wanted.expect @@ -7,4 +7,8 @@ timeout=2 timeout=1 timeout=2 timeout=1 +timeout=2 +timeout=1 +timeout=2 +timeout=1 end |
