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