src/compiler/preprocessor


Log

Author Commit Date CI Message
kbr@chromium.org ddb6e8e3 2012-04-25T00:48:13 Stop using unsafe sprintf method. ISSUE=308 Signed-off-by: Kenneth Russell Author: David Kilzer git-svn-id: https://angleproject.googlecode.com/svn/trunk@1052 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 28182485 2012-04-24T23:07:34 Drastically simplified Input class. Now most of the heavy lifting is done by in-built yy_scan_string and yy_scan_bytes. Comment handling will be done by the lexer. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1051 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org d08bb0cc 2012-04-23T19:27:13 The default implementation in flex only handles LF characters. GLSL supports all three newline characters - LF, CR, and CR+LF. Use a custom newline handler. Review URL: https://codereview.appspot.com/6105045 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1049 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 036a7356 2012-04-20T22:34:53 Do not return newline and number sign. They are for internal purposes only. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1048 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 78a35198 2012-04-19T17:16:26 Added a catch-rule for invalid numbers. Note that we do not need such a rule for identifiers because they will always be either terminated by a space, a punctuator, or an invalid character. Space and punctuator are both valid cases. The invalid character will be caught by another rule specifically for invalid characters. I will cover this case when I add tests for valid character set. Review URL: https://codereview.appspot.com/5978048 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1047 736b8ea6-26fd-11df-bfd4-992fa37f6226
zmo@google.com aeba7b89 2012-04-17T23:25:10 Build fix for chromeos. BUG= TEST=chromeos bots compile when we roll ANGLE TBR=alokp git-svn-id: https://angleproject.googlecode.com/svn/trunk@1046 736b8ea6-26fd-11df-bfd4-992fa37f6226
zmo@google.com e63436b9 2012-04-13T22:51:42 Handle hex int constant in preprocessor The patch is provided by jdashg and committed by zmo. (see angle issue 178) ANGLEBUG=178 TEST=shader-with-hex-int-constant-macro.html TBR=zmo Review URL: https://codereview.appspot.com/6037044 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1041 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 320c5d7f 2012-04-13T21:32:35 Minor formatting change in pp.l. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1039 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 763d0fb9 2012-04-13T21:27:06 Fixed compile error in lexer_glue.cpp. TBR=zmo@chromium.org Review URL: https://codereview.appspot.com/6035044 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1038 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org d089d118 2012-04-13T17:05:12 Removed unnecessary includion of Token.h in various files. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1037 736b8ea6-26fd-11df-bfd4-992fa37f6226
zmo@google.com 5e75f344 2012-04-12T23:47:10 Mac/Linux build fix. BUG= TEST=compile fine TBR=alokp Review URL: https://codereview.appspot.com/6013048 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1035 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 14e966b2 2012-04-12T20:57:53 Modified the interface of Preprocessor. Added it to the build file. Lexer changes to record leading space. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1033 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 40da4c53 2012-04-12T05:23:19 Added HAS_LEADING_SPACE flag to pp::Token. Split the new preprocessor into a separate target. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1032 736b8ea6-26fd-11df-bfd4-992fa37f6226
zmo@google.com b7ad052f 2012-04-11T20:55:01 Fix a few compilation warning/errors on Linux/Mac. Review URL: https://codereview.appspot.com/6009045 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1030 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org bac1aa1c 2012-04-05T17:06:55 Removed the unnecessary usage of InputSrc::getch and InputSrc::ungetch when handling pragma. These functions are not supported by the new lexer. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1020 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 408c45e7 2012-04-05T15:54:43 Added an alternate lexer for the existing preprocessor. It is still behind a compile-time flag. Review URL: https://codereview.appspot.com/5976072 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1019 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org ff6a0a5c 2012-04-03T21:03:02 Fixed line number reporting. Each newline was being counted twice. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1015 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 3f990c4a 2012-04-03T19:50:35 Added lexer rules for operators. Review URL: https://codereview.appspot.com/5966072 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1014 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 4b2a522a 2012-04-03T17:19:42 Punted on bison parser. It was turning out to be more complicated than necessary. Manual parsing combined with a flex lexer is easier. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1012 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 01fd431c 2012-03-30T21:33:30 More prep work for macro expansion. Off-loaded lexing from Context class to a new Lexer class. Review URL: https://codereview.appspot.com/5059048 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1011 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org a1d8059d 2012-01-25T21:52:10 Increase MSVC warning level to 4. There are some exceptions, a subset of the exceptions used by Chromium. They didn't seem to be useful warnings. In code which we don't change much, like the preprocessor, I just suppressed the warnings in the specific files rather than changing the code. There should be no functional changes in this patch. Review URL: https://codereview.appspot.com/5570066 git-svn-id: https://angleproject.googlecode.com/svn/trunk@964 736b8ea6-26fd-11df-bfd4-992fa37f6226
kbr@chromium.org 22152117 2011-10-26T01:18:28 Limit copied uniform and vertex attribute names to the implicit size of the buffers passed in. Increase the size of the buffer the client will allocate for mapped names to be equal to the maximum token length. BUG=http://code.google.com/p/angleproject/issues/detail?id=234 TEST=WebGL conformance test to be checked in soon Review URL: http://codereview.appspot.com/5306063 git-svn-id: https://angleproject.googlecode.com/svn/trunk@804 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 16efbbae 2011-09-13T04:10:41 Complete implementation for handling #define directive. Review URL: http://codereview.appspot.com/4963062 git-svn-id: https://angleproject.googlecode.com/svn/trunk@752 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 3a01d1bc 2011-08-30T05:10:53 Preparation for macro expansion. Review URL: http://codereview.appspot.com/4919045 git-svn-id: https://angleproject.googlecode.com/svn/trunk@741 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org b81c401d 2011-08-21T06:53:11 Modified Token class to store various types of data. Added debug code to dump token to an output stream. Review URL: http://codereview.appspot.com/4920041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@737 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 4e4b807d 2011-08-07T05:36:04 Beginnings of a new preprocessor. Review URL: http://codereview.appspot.com/4830050 git-svn-id: https://angleproject.googlecode.com/svn/trunk@718 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 0f87e7fd 2011-06-24T14:03:32 Fix GrowAtomTable() on out-of-memory. Issue=173 Signed-off-by: Daniel Koch Author: Benoit Jacob git-svn-id: https://angleproject.googlecode.com/svn/trunk@699 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com f02c9e62 2011-04-04T14:03:20 Fix resizing the string buffer. Issue=117 TRAC #15793 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@605 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 62f20f9d 2011-03-09T15:10:18 Newlines in multi-line comments don't count as a newline. TRAC #15791 Issue=114 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@569 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 3829f80c 2011-02-28T15:06:59 Fixed a floating-point parsing assert. TRAC #15790 Issue=99,112 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@567 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 3b5643cf 2011-02-28T15:06:55 Avoid division by zero in the preprocessor Trac #15792 Issue=115 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@566 736b8ea6-26fd-11df-bfd4-992fa37f6226
zmo@google.com 7cfb2cff 2011-02-01T01:24:29 Allow variable names with length of up to 256 characters (this is required by WebGL spec). BUG=109 TEST=the 256-character variable test in glsl-conformance.html passes Review URL: http://codereview.appspot.com/3981050 git-svn-id: https://angleproject.googlecode.com/svn/trunk@552 736b8ea6-26fd-11df-bfd4-992fa37f6226
kbr@chromium.org 55d0be04 2011-01-28T22:05:31 Reject non-ASCII characters in shader source at the preprocessor level. Review URL: http://codereview.appspot.com/4094047 git-svn-id: https://angleproject.googlecode.com/svn/trunk@545 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e9874058 2011-01-26T17:32:26 Fix issues with preprocessor on very malformed shaders Trac #15236,#15237,#15238,#15239 Error out instead of continued processing when we already know the preprocessor directives are bungled. Generally be more careful about the order in which cpp->elsetracker and cpp->ifdepth are checked/operated on. Validate all accesses of cpp->elsedepth to ensure no out of bounds accesses occur. Also slipped in a few indentation/spacing fixes. Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@540 736b8ea6-26fd-11df-bfd4-992fa37f6226
kbr@chromium.org 3bd9d90f 2011-01-19T03:27:39 Build fix needed on certain platforms. Explicitly cast away const. BUG=none TEST=built within WebKit on Mac OS X in release mode TBR=daniel Review URL: http://codereview.appspot.com/4043042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@535 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 5efd8b45 2010-12-13T14:48:03 Fix infinite loops in preprocessor when EOF encountered while scanning for newlines. Trac #14837 Issue=42 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@506 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 044a5cf8 2010-11-12T15:42:16 Refactored glslang grammar files to make: - lexer and parser reentrant - line number handling automatic Caveats: - The preprocessor is still not thread-safe and full of bugs. I have another not-yet-ready patch to replace the preprocessor. - The grammar files use options that are not supported by the old versions of flex and bison checked into compiler/tools. So I need to check-in the generated lexer-parser along with a shell script to generate them. Review URL: http://codereview.appspot.com/2992041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@475 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 91ed1494 2010-10-29T03:11:43 Use C locale for atof to ensure using a dot as decimal mark. TRAC #14055 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@470 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 8860909e 2010-10-27T19:42:44 Fixed infinite loops and buffer overflow in byte_scan when scanning for integers and floating-point numbers. - The byte_scan and associated functions are not very well written. I tried to clean them as much as possible without re-writing the whole thing. - Replaced lBuildFloatValue function with atof. lBuildFloatValue was returning incorrect value anyway. The only reason it was working so far because we never used that value. BUG=59623(crbug.com), 603333(bugzilla.mozilla.org) Review URL: http://codereview.appspot.com/2655042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@469 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 43668cd0 2010-10-20T20:55:53 Fixed stack overflow in CPPextension function. An arbitrary size buffer was being used for extension name. Changed it to use MAX_SYMBOL_NAME_LEN. - Also formalized the values for MAX_SYMBOL_NAME_LEN and MAX_STRING_LEN. They were being used as if there was a confusion whether it included the NULL terminator or not. - Fixed some minor issues with code releated to the usage of MAX_SYMBOL_NAME_LEN and MAX_STRING_LEN. BUG=59625 (crbug.com) Review URL: http://codereview.appspot.com/2585042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@464 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org ac23189b 2010-10-14T16:09:09 Removed redundant dereference. Patch submitted by timeless. BUG=64 Review URL: http://codereview.appspot.com/2495041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@450 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 07620a58 2010-09-23T17:53:56 - Moved the implementation for ShCompile to the compiler class so that internal details about compiler can be encapsulated. Now we do not need to expose built-in symbol table. - Fixed a few const violations. - Added CollectAttribsUniforms class. BUG=26 Review URL: http://codereview.appspot.com/2263041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@437 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org bcfba4c3 2010-08-09T22:30:49 Fix warnings about comparison/assignement between signed and unsigned types. Submitted by timeless. BUG=13 Review URL: http://codereview.appspot.com/1895051 git-svn-id: https://angleproject.googlecode.com/svn/trunk@378 736b8ea6-26fd-11df-bfd4-992fa37f6226
vangelis@google.com f8de41fb 2010-08-09T16:51:37 Adding separate license file for the preprocessor code and removing the ANGLE boilerplate license from those files. git-svn-id: https://angleproject.googlecode.com/svn/trunk@372 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 01b666f2 2010-07-16T19:27:45 Fixed compilation error on mingw. Used _MSC_VER for MSVC-specific code instead of WIN32. Recieved patch from cjacek. BUG=12 Review URL: http://codereview.appspot.com/1694049 git-svn-id: https://angleproject.googlecode.com/svn/trunk@343 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 91b72320 2010-06-02T15:50:56 Removed the dependency of compiler on common. This is done to make compiler self-sufficient so that it is easier to consume by external developers. I tried to replace all instances of assert by simply redefining assert(x) to ASSERT(x), but was getting a lot of compile errors. I still need to investigate that. Review URL: http://codereview.appspot.com/1461041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@323 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com cd0a9a88 2010-05-18T18:51:59 Define GL_FRAGMENT_PRECISION_HIGH TRAC #12266 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@301 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com d8e93724 2010-05-14T17:31:09 Implicitly define GL_ES TRAC #12257 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@284 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 9bc5d235 2010-05-14T17:30:33 Add predefined macro GL_ES Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@278 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com edff8dc8 2010-05-14T17:30:27 Report an error on the use of the line continuation character TRAC #12260 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@277 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 9c502882 2010-05-11T13:40:29 Fixed crash on 64-bit posix platform. stdint.h was not being included and wrong size of uintptr_t was being used. Review URL: http://codereview.appspot.com/1153044 git-svn-id: https://angleproject.googlecode.com/svn/trunk@258 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 9e78e5ed 2010-04-29T03:39:02 Fix Shader compilation failures with nested #ifdefs TRAC #12054 Don't exit from CPPelse prematurely. Clear elsedepth when entering a new #if nesting level. Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Author: Andrew Lewycky git-svn-id: https://angleproject.googlecode.com/svn/trunk@214 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com dec19e20 2010-04-29T03:35:42 Detect and report multiple #version directives TRAC #12072 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@206 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e6842296 2010-04-20T18:52:50 Fix more relative #include paths (mostly header files) Trac #11408 Signed-off-by: Andrew Lewycky Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@171 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 76039476 2010-04-15T20:45:18 Fixed the GLSL ES version TRAC #11867 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@154 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 42b207da 2010-03-17T13:12:07 mv Compiler/Preprocessor -> src/compiler/preprocessor Trac #11406 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@36 736b8ea6-26fd-11df-bfd4-992fa37f6226