|
d526f989
|
2014-05-13T14:51:19
|
|
Fix code style violation in compiler/preprocessor
BUG=angle:650
TEST=no behavior change
Change-Id: Ib52f15f6471fc7897b66d11baee11216cf08158a
Reviewed-on: https://chromium-review.googlesource.com/199591
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
5508f39d
|
2014-02-20T13:31:36
|
|
Fix breaking the build with missing GetGlobalMaxTokenSize.
Because the preprocessor is used independently from the compiler,
we need a way to track max token size when we don't have access
to the parse context with the current spec.
BUG=angle:550
Change-Id: Idf5035ec2c001ee75f264151ab3c4e92f3cd44d7
Reviewed-on: https://chromium-review.googlesource.com/187140
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
88f6e946
|
2014-02-19T10:27:53
|
|
Proper support for token max size in WebGL+ES3.
WebGL specifies a maximum token size of 256 characters, while
ES3 specifies 1024 characters. We can determine the proper max
size to support from the spec.
BUG=angle:550
Change-Id: I6aeabe8af3b6184a27b456248ce2f84f361b76e4
Reviewed-on: https://chromium-review.googlesource.com/186973
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c9f140d8
|
2014-02-18T15:27:21
|
|
Add preprocess bison files to the gyp files.
We had accidentally left out the y and l files from our generation
scripts, causing us to miss several instances of updated enum names.
BUG=angle:550
Change-Id: I8790742fbaab5435e4c0db4f61c3e8194a231550
Reviewed-on: https://chromium-review.googlesource.com/186972
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
a738f085
|
2013-11-01T17:45:04
|
|
Fix build on QNX.
InfoSink.h needs stdlib.h for abs(int) and free() in the global namespace.
ExpressionParser needs malloc.h, because bison needs malloc and free in
the global namespace, but "#include <cassert>" will put it only in the
std:: namespace on QNX.
BUG=500
R=geofflang@chromium.org, jmadill@chromium.org, shannonwoods@chromium.org, zmo@chromium.org
Review URL: https://codereview.appspot.com/19330044
Change-Id: Ifa30a8ba5eced1156123416d4a24b490620721af
Reviewed-on: https://chromium-review.googlesource.com/178993
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
d7f2135f
|
2013-10-30T17:53:15
|
|
Fix build on QNX.
InfoSink.h needs stdlib.h for abs(int) and free() in the global namespace.
ExpressionParser needs malloc.h, because bison needs malloc and free in
the global namespace, but "#include <cassert>" will put it only in the
std:: namespace on QNX.
BUG=500
R=geofflang@chromium.org, shannonwoods@chromium.org
Review URL: https://codereview.appspot.com/19330044
Conflicts:
src/compiler/translator/InfoSink.h
Change-Id: Ie480d5c293d099f21dafc8c1e7997c0b4cda7207
Reviewed-on: https://chromium-review.googlesource.com/178998
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
7f2d7945
|
2013-11-19T15:07:58
|
|
Manual merge of Ehsan Akhgari's patch to rename Diagnostics enums to avoid collision with Windows.h
(See https://chromium-review.googlesource.com/#/c/177181/3)
Change-Id: I2978d06ec96789b3ee1696b65a84c2a9f31f7ba4
|
|
7c697201
|
2013-10-07T17:18:14
|
|
Deleted manually maintained visual studio projects and replaced them with gyp generated ones.
|
|
f1d723c6
|
2013-09-23T14:57:07
|
|
Clamp numeric overflow rather than failing with an error
BUG=249086
ANGLEBUG=468
TEST=
R=alokp@chromium.org, kbr@chromium.org
Review URL: https://codereview.appspot.com/13195043
|
|
ba615196
|
2013-09-24T14:07:39
|
|
Normalize line endings of tracked files in the repository.
TRAC #23896
Signed-off-by: Shannon Woods
|
|
b5ce077e
|
2013-06-12T14:05:56
|
|
Add 64bit safety patch step to generate_parser.sh scripts.
TRAC #23274
Authored-by: Shannon Woods
Signed-off-by: Jamie Madill
Signed-off-by: Nicolas Capens
|
|
eb936d0d
|
2013-06-12T14:05:38
|
|
Adds patch files for 64 bit safety fixes
TRAC #23274
Authored-by: Shannon Woods
Signed-off-by: Jamie Madill
Signed-off-by: Nicolas Capens
|
|
81e93083
|
2013-06-12T14:05:22
|
|
Makes generate_parser.sh executable
TRAC #23274
Authored-by: Shannon Woods
Signed-off-by: Jamie Madill
Signed-off-by: Nicolas Capens
|
|
2a5436ff
|
2013-05-30T00:21:41
|
|
Added preprocessor support for parsing the float suffix.
TRAC #23185
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2413 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
3f83e29c
|
2013-05-30T00:21:34
|
|
Added preprocessor support for parsing the unsigned integer suffix.
TRAC #23185
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2412 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b0757168
|
2013-05-30T00:21:27
|
|
Restore 64-bit support of the preprocessor tokenizer.
TRAC #23185
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2411 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c8100b85
|
2013-05-30T00:20:34
|
|
Add support for unsigned integer literals in the shading language.
TRAC #23080
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2405 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
8ddaf5c0
|
2013-05-30T00:13:08
|
|
Increase the maximum token length in the preprocessor to be 1024, to comply with the GLSL ES 3 specification.
TRAC #23077
Signed-off-by: Shannon Woods
Signed-off-by: Geoff Lang
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2349 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4b8a3115
|
2013-05-30T00:13:01
|
|
Regenerate the preprocessor source files with the new versions of the compiler tools.
Will have to be resolved with 64-bit compatible bison in the future.
TRAC #23077
Signed-off-by: Shannon Woods
Signed-off-by: Geoff Lang
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2348 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
0bbed38f
|
2013-04-13T03:38:07
|
|
Accept shader version 300 on ES3 contexts.
TRAC #22712
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2121 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
bcde56f7
|
2013-04-13T03:32:12
|
|
Added support for line continuations.
TRAC #22713
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2086 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
8e02e356
|
2013-02-28T23:20:08
|
|
Fix ANGLE patching/building issues.
1) Remove an empty file: this causes patch apply failures when updating WebKit side ANGLE.
2) Fix a 64-to-32 conversion issue.
3) Append a change to Tokenizer.l that's left out in a previous CL. (cpp is already updated).
Review URL: https://codereview.appspot.com/7378051
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1965 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
eb68fd0e
|
2013-02-28T23:20:01
|
|
This pulls in mvujovic's build fix in WebKit ANGLE.
Original patch: http://trac.webkit.org/changeset/139665
Review URL: https://codereview.appspot.com/7392044
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1964 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d64b3dab
|
2013-02-28T23:19:26
|
|
Fixed 64-bit integer truncation issues in shader translator.
This is an incompatible API change, but one which is necessary in
order to improve correctness of the code. The API version in
ShaderLang.h is updated and, unfortunately, the define renamed to
something less ambiguous due to conflicts on some Android buildbots.
Temporary patches in Chromium and WebKit will be landed separately to
support this upgrade.
BUG=403,404,405,406,407,408,409
Review URL: https://codereview.appspot.com/7300058
Conflicts:
include/GLSLANG/ShaderLang.h
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1960 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e36fddfc
|
2013-01-25T21:57:50
|
|
Attempt different fix for unknown #pragma on Linux.
BUG=none
TEST=compiled on Linux and Mac OS
Review URL: https://codereview.appspot.com/7133076
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1800 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2f8524d3
|
2013-01-25T21:57:17
|
|
Fixed compiler warning on Linux resulting in build failures.
BUG=none
TEST=compiled on Linux
Review URL: https://codereview.appspot.com/7201056
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1797 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b3077d08
|
2013-01-11T04:12:09
|
|
Upstream various build fixes from WebKit to ANGLE to make updating ANGLE in WebKit easier.
a) http://trac.webkit.org/changeset/127747
b) http://trac.webkit.org/changeset/128539
c) http://trac.webkit.org/changeset/122870 - Specifically, items #3 and #4 in this changeset's commit message.
Review URL: https://codereview.appspot.com/7040045
Author: maxvujovic@gmail.com
------
Upodate preprocessor.vcxproj to reflect changes in r1640.
Review URL: https://codereview.appspot.com/7061044
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1703 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a16a55f7
|
2012-12-20T20:51:54
|
|
Add explicit std:: namespace to code from <cXYZ> includes.
Some platforms seem to implicitly include the <XYZ.h> headers
which also add some types and functions (like strlen, size_t,...)
into the global namespace.
On other platforms though, this can result in compile errors, which
is noticeable in WebKit on e.g. QNX. See also:
https://bugs.webkit.org/show_bug.cgi?id=95468
https://codereview.appspot.com/6843083/
Contributed by Milian Wolff, Klaralvdavens Datakonsult AB.
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1565 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b401a92b
|
2012-10-26T18:58:24
|
|
Move the new preprocessor out of the 'new' directory.
TRAC #21966
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1326 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
3be1d571
|
2012-10-26T18:58:16
|
|
Removed the old preprocessor source, interface and license.
TRAC #21966
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1325 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c60c15c0
|
2012-10-17T18:15:14
|
|
Add filter files for VS2010 Solution browser
Trac #21647
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1300 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2187b4a3
|
2012-10-17T18:12:07
|
|
Delete old .vcproj files that were replaced by .vcxproj files
Trac #21647
Signed-off-by: Shannon Woods
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1298 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e9b408bf
|
2012-10-17T18:11:40
|
|
Add auto converted .vxcproj files for VC++ 2010 Express
Trac #21647
Signed-off-by: Shannon Woods
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1295 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
433f4aaa
|
2012-07-18T17:29:52
|
|
Fix always true condition in assert in MacroExpander.cpp.
Issue: 349
Review URL: https://codereview.appspot.com/6420046/
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1228 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
6c0c2d87
|
2012-07-18T15:49:56
|
|
Do not call MacroExpander::popMacro() from MacroExpander::~MacroExpander().
MacroExpander::popMacro() assumes that the macro being popped has been fully parsed.
This may not be true for MacroExpander destructor which may get called anytime the compiler decides to abort the compilation process.
This patch just deletes the macro-contexts pushed in the stack without validating the parse state of current macro.
BUG=348
Review URL: https://codereview.appspot.com/6415043
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1227 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e640ef8e
|
2012-07-13T18:42:40
|
|
Make the new preprocessor backwards compatible with Bison 2.3
Review URL: http://codereview.appspot.com/6356098/
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1224 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
fc0543f4
|
2012-07-11T20:31:02
|
|
This patch reverts r1203, but in slightly different way. It seems there is a problem with the config of memory bots. The usage of std::locale in ANGLE is fine.
Review URL: https://codereview.appspot.com/6392052
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1205 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
39a94266
|
2012-07-10T23:30:30
|
|
Reconstructed preprocessor.vcproj from libGLESv2.vcproj.
There was something different about the project properties in release builds that caused std::vector to have different member variable offsets, leading to the samples crashing in Release builds. Removed stuff that was specific to libGLESv2.vcproj. Project now builds in all configs including x64.
Review URL: https://codereview.appspot.com/6374050
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1204 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
828ec8fa
|
2012-07-10T17:50:12
|
|
Builds for chrome memroy bots (windows only) do not link due to the usage of std::locale, the reason for which is still unknown.
This patch avoids the usage of std::locale, while still enforcing "C" locale and checking for overflow.
Review URL: https://codereview.appspot.com/6392046
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1203 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c0a1eb3c
|
2012-07-09T18:27:04
|
|
Fixed compile error on android. It was complaining about tolower. This patch removes the usage of tolower, and adds tests for checking both versions of hexadecimal integers - 0x and 0X.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1195 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c022c3af
|
2012-07-09T15:56:42
|
|
WebGL spec specifies maximum length of all types of tokens - not just identifier tokens. And it also means preprocessing-tokens, not compiler tokens.
Note that this implies that non-compliant tokens even inside excluded #if blocks will trigger error.
TODO: This behavior should be implemented as a preprocessor option, so that a GLES2 compiler can choose to disable it.
Review URL: https://codereview.appspot.com/6355066
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1193 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d35efdf5
|
2012-07-03T19:33:10
|
|
Restricted the length of identifiers (including #define directive) to 256, as required by webgl spec.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1186 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
390209ae
|
2012-07-03T16:12:48
|
|
Lowered the severity of EOF_IN_DIRECTIVE from an ERROR to WARNING. There are just too many shaders on internet (including webgl conformance test) that do not have a newline at the end of directives, especially #endif.
Review URL: https://codereview.appspot.com/6352059
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1185 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d0d9f87a
|
2012-07-03T16:06:40
|
|
Make sure that #version occurs before anything else, except for comments and white space.
Review URL: https://codereview.appspot.com/6348056
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1184 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2e81891c
|
2012-06-29T21:26:03
|
|
Handled the case where int and float are of correct format, but large. The GLSL spec is not very clear on how integers should be interpreted for expressions. C99 says the expression is of type intmax_t. I am parsing all integers as int except those in expressions, which are being parsed as unsigned int.
Review URL: https://codereview.appspot.com/6351051
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1179 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
6b495719
|
2012-06-29T00:06:58
|
|
Moved error-counting to Diagnostics so that errors generated during preprocessing is included in the count.
Enabled logging of preprocessor diagnostics into info-log.
Review URL: https://codereview.appspot.com/6354047
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1177 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f115592d
|
2012-06-28T23:34:30
|
|
Used std::ostringstream instead of std::stringstream wherever applicable.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1176 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5b6a68e0
|
2012-06-28T20:29:13
|
|
Replaced pp::Token::value with pp::Token::text. The term value will be used for a function which will convert text to integer/float constant.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1175 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c6b3b3c7
|
2012-06-27T22:49:39
|
|
Fix the compiler warnings on WebKit ports when updating ANGLE in WebKit.
Remove the varargs used for extra info formatting in the error() and warning() methods of ParseHelper. Use std::stringstream for formatting instead.
Review URL: http://codereview.appspot.com/6310067/
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1170 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
432d6fc4
|
2012-06-27T22:13:21
|
|
Introduced preprocessing token types. This fixes a bug where invalid tokens inside excluded conditional block may report diagnostics. Now we let the invalid tokens to bubble through the preprocessor so that they have chance to be skipped.
Review URL: https://codereview.appspot.com/6356045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1169 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d39ec4c1
|
2012-06-26T04:37:55
|
|
Implemented conditional processing.
Review URL: https://codereview.appspot.com/6333046
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1168 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e6357c0e
|
2012-06-19T20:24:23
|
|
Added x64 config to preprocessor.vcproj.
Review URL: https://codereview.appspot.com/6295105
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1161 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b197c885
|
2012-06-19T18:53:39
|
|
Fixed build for manually-maintained vcproj files.
Review URL: https://codereview.appspot.com/6297103
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1159 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
73bc298e
|
2012-06-19T18:48:05
|
|
Hooked up the new preprocessor behind a compile-time flag ANGLE_USE_NEW_PREPROCESSOR.
Review URL: https://codereview.appspot.com/6304095
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1158 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f3cdb460
|
2012-06-19T18:39:48
|
|
Added support for pre-defined macros.
Review URL: https://codereview.appspot.com/6301084
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1157 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a19572ce
|
2012-06-15T16:30:08
|
|
Fixed compile error on linux.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1151 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
8b851c6d
|
2012-06-15T16:25:11
|
|
Preparation of hooking up the new preprocessor.
- Added custom Diagnostics class. Routed all info-log messages via this new class.
- Added custom DirectiveHandler class. Moved directive-handling code to this class and routed the old path.
- Deleted lexer_glue because it is not needed anymore. The new preprocessor is almost ready!
- Killed a bunch of dead code related to PragmaTable.
Review URL: https://codereview.appspot.com/6308074
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1150 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
46aa13d8
|
2012-06-15T15:40:27
|
|
Implemented line directive.
Review URL: https://codereview.appspot.com/6307083
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1149 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7fc38ddd
|
2012-06-14T18:23:23
|
|
Implemented macro expansion.
Review URL: https://codereview.appspot.com/6303052
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1148 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
69ab2993
|
2012-06-13T15:42:30
|
|
Remove an unused variable from readCPPline()
This causes problems with -Wunused-but-set-variable in GCC 4.6.
Review: http://codereview.appspot.com/6296o59/
Author: Steve Block
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1147 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
19d7aa60
|
2012-05-31T17:34:05
|
|
Fixed the location of EOF token. Added three new location tests for EOF.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1125 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
51b96855
|
2012-05-30T20:25:05
|
|
Fixed compile errors on linux.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1099 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e5dfefad
|
2012-05-24T19:29:37
|
|
Renamed UNEXPECTED_TOKEN_IN_DIRECTIVE to UNEXPECTED_TOKEN.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1096 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7c884540
|
2012-05-24T19:13:03
|
|
Implemented #extension and #version directives.
Review URL: https://codereview.appspot.com/6242045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1095 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
36124de8
|
2012-05-24T02:17:43
|
|
Implemented #error and #pragma directives. Added new tests and updated old ones for the new preprocessor API.
Review URL: https://codereview.appspot.com/6213066
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1094 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
07d921de
|
2012-05-22T20:22:08
|
|
Token::value now contains text for all types of tokens - not just CONST_INT, CONST_FLOAT, and IDENTIFIER. This makes it easier to report diagnostics and various preprocessor directives.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1093 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
98d04ec8
|
2012-05-21T22:47:20
|
|
Implemented #define and #undef directives.
Review URL: https://codereview.appspot.com/6215072
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1092 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
0eb51ac3
|
2012-05-21T21:43:57
|
|
Deleted old unused files.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1091 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
964b7194
|
2012-05-17T21:12:27
|
|
Fixed compile error in lexer_glue.cpp.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1089 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
99b5c0c9
|
2012-05-17T20:44:52
|
|
Fixed compile errors and warnings on linux.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1088 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2c958eef
|
2012-05-17T20:35:42
|
|
Moved error-handling to a separate class - Diagnostics. We were earlier returning errors as tokens which did not work very well when error occured while parsing a preprocessor directive. Now all returned tokens are valid. Errors are reported via an abstract Diagnostics interface. Updated unit-tests with the new scheme.
Review URL: https://codereview.appspot.com/6203089
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1087 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
04d7d22b
|
2012-05-16T19:24:07
|
|
Reafactored Lexer class to allow chaining. The full chain when parsing #if directive looks like this: Preprocessor -> MacroExpander -> DirectiveHandler -> MacroExpander -> DefinedFilter -> Tokenizer. This chain dynamically changes depending on the current context.
Also added an incomplete implementation of #if handling and ExpressionParser to illustrate how this design is supposed to work.
Review URL: https://codereview.appspot.com/6203060
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1084 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ac5d7f39
|
2012-05-09T15:37:04
|
|
Memory associated with allTokens is never freed due to early return in "case -1" in CPPpragma(yystypepp*) in cpp.c
ISSUE=328
Signed-off-by: Daniel Koch
Author: David Kilzer
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1072 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
30a487c7
|
2012-05-02T17:30:46
|
|
Minor refactoring for Input class. Chnaged a raw array to std::vector.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1068 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
98eec912
|
2012-05-01T10:04:08
|
|
Using yy_scan_string, which flushes the old buffer does not work. GLSL requires that each input string is concatenated, but yy_scan_string treats each string individually. Added a custom YY_INPUT which maintains the continuity between each string.
Review URL: https://codereview.appspot.com/6130045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1066 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a11a6ab8
|
2012-04-27T10:00:38
|
|
Changes to handle comments properly and associated tests.
Review URL: https://codereview.appspot.com/6111059
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1059 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
128d9199
|
2012-04-26T22:39:21
|
|
Added tests for token location.
Review URL: https://codereview.appspot.com/6118062
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1058 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
79fb1019
|
2012-04-26T21:07:39
|
|
Ugly hack to fix compile error on windows. VC++ does not support C99 and hence snprintf.
BUG=308
Review URL: https://codereview.appspot.com/6120055
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1057 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ef1eaa04
|
2012-04-26T18:02:42
|
|
Changed Token::Location::string to Token::Location::file to keep it consistent with __FILE__ inbult macro.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1055 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
85f2b2c5
|
2012-04-25T06:06:33
|
|
Added rules for ignoring comments.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1053 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|