From c15f04b326aafc27aa2e508ab88bf209c829abd7 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Mon, 23 Aug 2010 09:06:11 -0700 Subject: [PATCH] glcpp: Update README file (new specifications and fewer limitations). The README file had grown a little bit stale. We've been using newer versions of both the GLSL and C99 specifications, so list those. Also, several of the documented known limitations have since been fixed, so remove those. --- src/glsl/glcpp/README | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/glsl/glcpp/README b/src/glsl/glcpp/README index ab42a3ffe12..0b5ef508ce9 100644 --- a/src/glsl/glcpp/README +++ b/src/glsl/glcpp/README @@ -4,26 +4,28 @@ 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 +http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.30.10.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: +preprocessors". To fill in these details, I've been using a draft of +the C99 standard as available from: -http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf +http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf -Known limitations ------------------ -Macro invocations cannot include embedded newlines. +Any downstream compiler accepting output from glcpp should be prepared +to encounter and deal with the following preprocessor macros: -The __LINE__, __FILE__, and __VERSION__ macros are not yet supported. + #line + #pragma + #extension -The argument of the 'defined' operator cannot yet include enclosing -parentheses. +All other macros will be handles according to the GLSL specification +and will not appear in the output. -The #error, #pragma, #extension, #version, and #line macros are not -yet supported. +Known limitations +----------------- +The __LINE__ and __FILE__ 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 -- 2.30.2