From 29285882676388aacff123e8bdf025904abf8ea9 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 24 Jun 2010 15:32:15 -0700 Subject: glsl2: Move the compiler to the subdirectory it will live in in Mesa. --- src/glsl/glcpp/README | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/glsl/glcpp/README (limited to 'src/glsl/glcpp/README') diff --git a/src/glsl/glcpp/README b/src/glsl/glcpp/README new file mode 100644 index 0000000000..ab42a3ffe1 --- /dev/null +++ b/src/glsl/glcpp/README @@ -0,0 +1,30 @@ +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). \ No newline at end of file -- cgit v1.2.3 From c15f04b326aafc27aa2e508ab88bf209c829abd7 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Mon, 23 Aug 2010 09:06:11 -0700 Subject: 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(-) (limited to 'src/glsl/glcpp/README') diff --git a/src/glsl/glcpp/README b/src/glsl/glcpp/README index ab42a3ffe1..0b5ef508ce 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 -- cgit v1.2.3