CIR Playground
Load example...
CIR on GitHub
Input
xxxxxxxxxx
 
1
int puts(const char *);
2
​
3
// Users would expect sayHello() to work no matter where it is used...
4
#define sayHello() puts("Hello World!")
5
​
6
int main(void) {
7
    int puts = 0;
8
​
9
    // However, this will FAIL TO COMPILE.
10
    // This is because puts() has been shadowed by a local variable.
11
    sayHello();
12
​
13
    return 0;
14
}
15
​
stdout
1
 
1
​
stderr
1
 
1
​
Load Example...
    00 - Compile-time fibonacci 01 - Inline Repeat 02 - Compile-time strtok 03 - Does a code call a function 04 - C Preprocessor identifiers may be accidentally shadowed 05 - CIR identifiers won't be accidentally shadowed 06 - C Preprocessor accidental capture of symbols 07 - CIR won't accidentally capture symbols 08 - bf-to-C (low level ver) 09 - bf-to-C (with quote-antiquote) 10 - async-await 11 - Embed an external file 12 - zlib