====== ACC ====== * **[[https://github.com/rheit/acc/|GitHub]]** * **[[https://zdoom.org/downloads|Download]]** ACC is the official ACS compiler. ===== Caveats ===== ==== Local variable names can conflict with global names ==== #define SOMENAME1 1 int somename2 = 2; function void somename3(void) {} function f(int somename1) // ERROR { int somename2; // ERROR int somename3; // ERROR } Local variables can't have the same names as any global names (function, constant, variable names). Unlike other compilers, local variable names don't shadow the respective global names, but trigger a compiler error. ==== (void) is mandatory ==== function void f(void) {} // OK function void g() {} // ERROR For some reason, writing ''(void)'' for empty argument lists is mandatory, unlike other compilers. ==== No "fixed" type ==== There is no type called ''fixed'' in ACC. Only ''int'', ''bool'' and ''str''.