mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 00:10:10 +01:00
These were only ever intended to exist in the original, standalone implementation of glcpp, (with the idea of dropping them as soon as the code moved into mesa). The current build system wasn't compiling this C file, but the presence of the header files could cause problems if the two copies diverge in the future. We head those problems off by deleting al of these redundant files. |
||
|---|---|---|
| .. | ||
| tests | ||
| .gitignore | ||
| glcpp-lex.l | ||
| glcpp-parse.y | ||
| glcpp.c | ||
| glcpp.h | ||
| Makefile.am | ||
| pp.c | ||
| README | ||
| xtalloc.c | ||
glcpp -- GLSL "C" preprocessor This is a simple preprocessor designed to provide the preprocessing needs of the GLSL language. The requirements for this preprocessor are specified in the GLSL 1.30 specification availble from: http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.30.08.pdf This specification is not precise on some semantics, (for example, #define and #if), defining these merely "as is standard for C++ preprocessors". To fill in these details, I've been using the C99 standard (for which I had a convenient copy) as available from: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf Known limitations ----------------- Macro invocations cannot include embedded newlines. The __LINE__, __FILE__, and __VERSION__ macros are not yet supported. The argument of the 'defined' operator cannot yet include enclosing parentheses. The #error, #pragma, #extension, #version, and #line macros are not yet supported. A file that ends with a function-like macro name as the last non-whitespace token will result in a parse error, (where it should be passed through as is).