This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| gdcc [2017/06/12 15:54] – korshun | gdcc [2017/07/14 13:18] (current) – korshun | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | {{tag> | ||
| ====== GDCC ====== | ====== GDCC ====== | ||
| - | GDCC is an alternative ACS compiler. | + | GDCC is an alternative ACS compiler, and also a standards-compliant compiler of the [[wp>C programming language]] to ACS VM bytecode. |
| + | |||
| + | The ACS compiler part of GDCC is called **GDCC-ACC**. The rest is the C compiler. | ||
| + | |||
| + | * **ZDoom forums:** https:// | ||
| + | * **GitHub:** https:// | ||
| + | |||
| + | ===== Known bugs ===== | ||
| + | |||
| + | ==== Missing " | ||
| + | |||
| + | <note warning> | ||
| + | |||
| + | < | ||
| + | function int f(void) | ||
| + | { | ||
| + | DoSomething(); | ||
| + | // accidentally wrote " | ||
| + | // This function will now proceed to some other random function' | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Functions that return a value but don't have " | ||
| + | |||
| + | ==== Functions without forward declarations can be called incorrectly ==== | ||
| + | |||
| + | < | ||
| + | function void f(void) | ||
| + | { | ||
| + | int x = g(1, 2, 3); | ||
| + | print(d: | ||
| + | } | ||
| + | |||
| + | function void g(void) | ||
| + | { | ||
| + | // This function does NOT return a value | ||
| + | // and does NOT accept 3 arguments. | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | If a function is used before it's declared, GDCC allows ANY call to the function, unlike [[ACC]] and [[BCC]]. | ||
| + | |||
| + | ==== Compiler errors result in 0 bytes compiled ACS ==== | ||
| + | |||
| + | Some fatal compiler errors do not result in an error message, but in a compiled ACS file that is 0 bytes long. | ||
| + | |||
| + | ==== Incomprehensible compiler errors ==== | ||
| + | |||
| + | '' | ||
| - | **ZDoom forums:** https:// | ||
| - | **GitHub:** https:// | ||