mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
Macros with trailing bodys aren't allowed as the single statement after a while loop with no body #1772.
This commit is contained in:
34
test/test_suite/statements/while_statement_placement2.c3
Normal file
34
test/test_suite/statements/while_statement_placement2.c3
Normal file
@@ -0,0 +1,34 @@
|
||||
import std;
|
||||
|
||||
fn void loop_start() => io::printn("Loop Start");
|
||||
fn void loop_end() => io::printn("Loop End");
|
||||
fn void do_something() => io::printn("Do something");
|
||||
|
||||
macro @thing(; @body())
|
||||
{
|
||||
loop_start();
|
||||
@body();
|
||||
loop_end();
|
||||
}
|
||||
|
||||
fn void strcpy(char *s1, char *s2) {
|
||||
while (*s1++ = *s2++);
|
||||
}
|
||||
|
||||
fn void main()
|
||||
{
|
||||
while (true) @thing()
|
||||
{
|
||||
do_something();
|
||||
break;
|
||||
};
|
||||
for (;;) @thing()
|
||||
{
|
||||
do_something();
|
||||
break;
|
||||
};
|
||||
if (true) @thing()
|
||||
{
|
||||
do_something();
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user