This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
gdcc [2017/06/12 15:57] – korshun | gdcc [2017/07/14 13:18] (current) – korshun | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | {{tag> | ||
====== GDCC ====== | ====== GDCC ====== | ||
GDCC is an alternative ACS compiler, and also a standards-compliant compiler of the [[wp>C programming language]] to ACS VM bytecode. | 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 is called **GDCC-ACC**. | + | The ACS compiler |
- | **ZDoom forums:** https:// | + | * **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:x); | ||
+ | } | ||
+ | |||
+ | 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 ==== | ||
+ | |||
+ | '' | ||