ANGLE fails to build with trunk clang: error: 'register' storage class specifier...
authorddkilzer@apple.com <ddkilzer@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 17 Aug 2013 12:38:49 +0000 (12:38 +0000)
committerddkilzer@apple.com <ddkilzer@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 17 Aug 2013 12:38:49 +0000 (12:38 +0000)
<http://webkit.org/b/119931>
<rdar://problem/14763822>

Reviewed by Darin Adler.

* src/compiler/glslang.l:
* src/compiler/glslang_lex.cpp:
* src/compiler/preprocessor/Tokenizer.cpp:
* src/compiler/preprocessor/Tokenizer.l:
Add pragma statements to ignore -Wdeprecated-register warnings
in generated code.  Also ignore -Wunknown-pragmas so this
doesn't cause a build failure in older versions of clang.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154223 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/ThirdParty/ANGLE/ChangeLog
Source/ThirdParty/ANGLE/src/compiler/glslang.l
Source/ThirdParty/ANGLE/src/compiler/glslang_lex.cpp
Source/ThirdParty/ANGLE/src/compiler/preprocessor/Tokenizer.cpp
Source/ThirdParty/ANGLE/src/compiler/preprocessor/Tokenizer.l

index 366f0622345aa893788ad76f9e08692ff1096a68..2534ee33384e6c5111664a35de3a30dcc00a407a 100644 (file)
@@ -1,3 +1,19 @@
+2013-08-17  David Kilzer  <ddkilzer@apple.com>
+
+        ANGLE fails to build with trunk clang: error: 'register' storage class specifier is deprecated [-Werror,-Wdeprecated-register]
+        <http://webkit.org/b/119931>
+        <rdar://problem/14763822>
+
+        Reviewed by Darin Adler.
+
+        * src/compiler/glslang.l:
+        * src/compiler/glslang_lex.cpp:
+        * src/compiler/preprocessor/Tokenizer.cpp:
+        * src/compiler/preprocessor/Tokenizer.l:
+        Add pragma statements to ignore -Wdeprecated-register warnings
+        in generated code.  Also ignore -Wunknown-pragmas so this
+        doesn't cause a build failure in older versions of clang.
+
 2013-08-16  Commit Queue  <commit-queue@webkit.org>
 
         Unreviewed, rolling out r153749.
index 404987508f1cc075610e742b87ff6ffe0d8e942e..47e249b48d9d6580f3eaf361bbce7999b7c4ae70 100644 (file)
@@ -33,6 +33,12 @@ WHICH GENERATES THE GLSL ES LEXER (glslang_lex.cpp).
 #pragma warning(disable: 4505)
 #pragma warning(disable: 4701)
 #endif
+
+#if defined(__clang__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wdeprecated-register"
+#endif
 }
 
 %{
@@ -250,6 +256,10 @@ O           [0-7]
 
 %%
 
+#if defined(__clang__)
+#pragma clang diagnostic pop
+#endif
+
 yy_size_t string_input(char* buf, yy_size_t max_size, yyscan_t yyscanner) {
     pp::Token token;
     yyget_extra(yyscanner)->preprocessor.lex(&token);
index a4a2e076b4a960700f085ed2d962e82134fa7cc9..6120a9461db61eff865ab7ece9e04bc045354845 100644 (file)
 #pragma warning(disable: 4701)
 #endif
 
+#if defined(__clang__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wdeprecated-register"
+#endif
+
 
 
 #line 25 "./glslang_lex.cpp"
@@ -2859,6 +2865,10 @@ void yyfree (void * ptr , yyscan_t yyscanner)
 
 #define YYTABLES_NAME "yytables"
 
+#if defined(__clang__)
+#pragma clang diagnostic pop
+#endif
+
 yy_size_t string_input(char* buf, yy_size_t max_size, yyscan_t yyscanner) {
     pp::Token token;
     yyget_extra(yyscanner)->preprocessor.lex(&token);
index 0ccd6fda85fed3492e004f5cce69e9cc012ba39a..e552b12b5a3d1671bd8f8a4dd71da4acb92f8e3a 100644 (file)
@@ -529,6 +529,12 @@ IF YOU MODIFY THIS FILE YOU ALSO NEED TO RUN generate_parser.sh.
 #pragma GCC diagnostic ignored "-Wmissing-noreturn"
 #endif
 
+#if defined(__clang__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wdeprecated-register"
+#endif
+
 typedef std::string YYSTYPE;
 typedef pp::SourceLocation YYLTYPE;
 
@@ -2288,6 +2294,10 @@ void ppfree (void * ptr , yyscan_t yyscanner)
 
 #define YYTABLES_NAME "yytables"
 
+#if defined(__clang__)
+#pragma clang diagnostic pop
+#endif
+
 namespace pp {
 
 // TODO(alokp): Maximum token length should ideally be specified by
index fc81d84f373f1211457a9d3859157f1f3a454e7b..7c587a3827ebb99c19f6a7ef6669424dc890177f 100644 (file)
@@ -33,6 +33,12 @@ IF YOU MODIFY THIS FILE YOU ALSO NEED TO RUN generate_parser.sh.
 #pragma GCC diagnostic ignored "-Wmissing-noreturn"
 #endif
 
+#if defined(__clang__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wdeprecated-register"
+#endif
+
 typedef std::string YYSTYPE;
 typedef pp::SourceLocation YYLTYPE;
 
@@ -265,6 +271,10 @@ FRACTIONAL_CONSTANT  ({DIGIT}*"."{DIGIT}+)|({DIGIT}+".")
 
 %%
 
+#if defined(__clang__)
+#pragma clang diagnostic pop
+#endif
+
 namespace pp {
 
 // TODO(alokp): Maximum token length should ideally be specified by