Title: [154223] trunk/Source/ThirdParty/ANGLE
Revision
154223
Author
[email protected]
Date
2013-08-17 05:38:49 -0700 (Sat, 17 Aug 2013)

Log Message

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.

Modified Paths

Diff

Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (154222 => 154223)


--- trunk/Source/ThirdParty/ANGLE/ChangeLog	2013-08-17 12:37:03 UTC (rev 154222)
+++ trunk/Source/ThirdParty/ANGLE/ChangeLog	2013-08-17 12:38:49 UTC (rev 154223)
@@ -1,3 +1,19 @@
+2013-08-17  David Kilzer  <[email protected]>
+
+        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  <[email protected]>
 
         Unreviewed, rolling out r153749.

Modified: trunk/Source/ThirdParty/ANGLE/src/compiler/glslang.l (154222 => 154223)


--- trunk/Source/ThirdParty/ANGLE/src/compiler/glslang.l	2013-08-17 12:37:03 UTC (rev 154222)
+++ trunk/Source/ThirdParty/ANGLE/src/compiler/glslang.l	2013-08-17 12:38:49 UTC (rev 154223)
@@ -33,6 +33,12 @@
 #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 @@
 
 %%
 
+#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);

Modified: trunk/Source/ThirdParty/ANGLE/src/compiler/glslang_lex.cpp (154222 => 154223)


--- trunk/Source/ThirdParty/ANGLE/src/compiler/glslang_lex.cpp	2013-08-17 12:37:03 UTC (rev 154222)
+++ trunk/Source/ThirdParty/ANGLE/src/compiler/glslang_lex.cpp	2013-08-17 12:38:49 UTC (rev 154223)
@@ -19,8 +19,14 @@
 #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"
 
 #define  YY_INT_ALIGNED short int
@@ -2859,6 +2865,10 @@
 
 #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);

Modified: trunk/Source/ThirdParty/ANGLE/src/compiler/preprocessor/Tokenizer.cpp (154222 => 154223)


--- trunk/Source/ThirdParty/ANGLE/src/compiler/preprocessor/Tokenizer.cpp	2013-08-17 12:37:03 UTC (rev 154222)
+++ trunk/Source/ThirdParty/ANGLE/src/compiler/preprocessor/Tokenizer.cpp	2013-08-17 12:38:49 UTC (rev 154223)
@@ -529,6 +529,12 @@
 #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 @@
 
 #define YYTABLES_NAME "yytables"
 
+#if defined(__clang__)
+#pragma clang diagnostic pop
+#endif
+
 namespace pp {
 
 // TODO(alokp): Maximum token length should ideally be specified by

Modified: trunk/Source/ThirdParty/ANGLE/src/compiler/preprocessor/Tokenizer.l (154222 => 154223)


--- trunk/Source/ThirdParty/ANGLE/src/compiler/preprocessor/Tokenizer.l	2013-08-17 12:37:03 UTC (rev 154222)
+++ trunk/Source/ThirdParty/ANGLE/src/compiler/preprocessor/Tokenizer.l	2013-08-17 12:38:49 UTC (rev 154223)
@@ -33,6 +33,12 @@
 #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 @@
 
 %%
 
+#if defined(__clang__)
+#pragma clang diagnostic pop
+#endif
+
 namespace pp {
 
 // TODO(alokp): Maximum token length should ideally be specified by
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to