<p class="header">An Improved Quake C Compiler</p>
<ul>
<li class="buttons"><a href=index.html>Index</a></li>
- <li class="download"><a href="https://github.com/graphitemaster/gmqcc/archive/0.1.zip">Download v0.1</a></li>
+ <li class="download"><a href="https://github.com/graphitemaster/gmqcc/archive/0.2.2.zip">Download v0.2.2</a></li>
<li class="buttons"><a href="https://github.com/graphitemaster/gmqcc/issues">Issues</a></li>
<li class="buttons"><a href="doc.html">Documentation</a></li>
<li class="buttons"><a href="https://github.com/graphitemaster/gmqcc">View On GitHub</a></li>
<td>-O<level></td>
<td>Specfies the optimization level: highest being 3, lowest being 0 (no optimization).</td>
</tr>
+ <tr>
+ <td>-g</td>
+ <td>Enables generation of debug info for engine backtraces (turns on -flno)</td>
+ </tr>
<tr>
<td>-E</td>
<td>Instructs the compiler to only preprocess the input, writing the preprocessed output to stdout</td>
</tr>
+ <tr>
+ <td>-D</td>
+ <td>
+ "define" a macro. Optionally you may supply
+ a value to the macro with "=". Implicitally turns on -fftepp
+ </td>
+ </tr>
<tr>
<td>-Wall</td>
<td>Enables all compiled warnings for the selcted standard</td>
<td>__STD_VERSION_MAJOR__</td>
<td>Specifies the current selected stanadards major version number.</td>
</tr>
+ <tr>
+ <td>__FILE__</td>
+ <td>Expands to a const string literal of the current file (requires -fftepp-predef)</td>
+ </tr>
+ <tr>
+ <td>__LINE__</td>
+ <td>Expands to the current line number (requires -fftepp-predef)</td>
+ </tr>
+ <tr>
+ <td>__RANDOM__</td>
+ <td>Expands to a random number between [0, 256) (requires -fftepp-predef)</td>
+ </tr>
+ <tr>
+ <td>__COUNTER__</td>
+ <td>Expands to a unique number, each expansion causes it to increment (requires -fftepp-predef) </td>
+ </tr>
+ <tr>
+ <td>__RANDOM_LAST__</td>
+ <td>Expands to the last random number (requires -fftepp-predef)</td>
+ </tr>
+ <tr>
+ <td>__COUNTER_LAST__</td>
+ <td>Expands to the last counter number (requires -fftepp-predef)</td>
+ </tr>
</table>
<h3>Unsupported compatability options</h3>
<p>
<td>-fftepp</td>
<td>Enables FTEQ preprocessor</td>
</tr>
+ <tr>
+ <td>-fftepp-predef</td>
+ <td>Enables additional predefined macros for the FTEQ preprocessor</td>
+ </tr>
<tr>
<td>-frelaxted-switch</td>
<td>Relaxes switch statement semantics</td>
</tr>
<tr>
<td>-flno</td>
- <td>Enables generation of progs.lno for engine VM backtraces</td>
+ <td>Enables generation of progs.lno for engine VM backtraces (enabled with -g as well)</td>
</tr>
</table>
<h3>Warning options</h3>
<td>-Wternary-precedence</td>
<td>Enables warnings about ternary expressions whos precedence may be not what expected</td>
</tr>
+ <tr>
+ <td>-Wunknown-pragmas</td>
+ <td>Enables warnings about unknown pragmas</td>
+ </tr>
</table>
<table border="0">
<tr><td>Options</td><td>What it does</td></tr>
<td>-nocolor</td>
<td>Turn off colored stdout/stderr.</td>
</tr>
+ <tr>
+ <td>-config=<file></td>
+ <td>
+ Supply a configuration file to set options.
+ Note: If a file named <b>gmqcc.ini</b> or
+ <b>gmqcc.cfg</b> is found it will be loaded
+ implicitally.
+ </td>
+ </tr>
</table>
<h1><a name="bdoc">Building Documentation</a></h1>