WebCore fails to build with trunk clang: error: 'register' storage class specifier...
authorddkilzer@apple.com <ddkilzer@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 19 Aug 2013 03:05:22 +0000 (03:05 +0000)
committerddkilzer@apple.com <ddkilzer@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 19 Aug 2013 03:05:22 +0000 (03:05 +0000)
<http://webkit.org/b/119932>
<rdar://problem/14764085>

Reviewed by Darin Adler.

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.

* css/makeprop.pl:
(WebCore::findProperty): Remove register hints from parameters.
* css/makevalues.pl:
(WebCore::findValue): Ditto.
* platform/ColorData.gperf:
(WebCore::findColor): Ditto.

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

Source/WebCore/ChangeLog
Source/WebCore/css/makeprop.pl
Source/WebCore/css/makevalues.pl
Source/WebCore/platform/ColorData.gperf

index 2140d4d5cb6b0eba93123e61643676f11523fd35..7e1fc5710390844ae27133287b84318c4c61bd73 100644 (file)
@@ -1,3 +1,22 @@
+2013-08-18  David Kilzer  <ddkilzer@apple.com>
+
+        WebCore fails to build with trunk clang: error: 'register' storage class specifier is deprecated [-Werror,-Wdeprecated-register]
+        <http://webkit.org/b/119932>
+        <rdar://problem/14764085>
+
+        Reviewed by Darin Adler.
+
+        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.
+
+        * css/makeprop.pl:
+        (WebCore::findProperty): Remove register hints from parameters.
+        * css/makevalues.pl:
+        (WebCore::findValue): Ditto.
+        * platform/ColorData.gperf:
+        (WebCore::findColor): Ditto.
+
 2013-08-18  Antti Koivisto  <antti@apple.com>
 
         <https://webkit.org/b/119987> Make Element::attach standalone function
index f257403b661e3207839d6f7761626573398f00c6..cd819f2905bee8f50d833d9e5b3c38edd10e1c50 100644 (file)
@@ -74,6 +74,12 @@ print GPERF << "EOF";
 #include <wtf/text/AtomicString.h>
 #include <wtf/text/WTFString.h>
 
+#if defined(__clang__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored \"-Wunknown-pragmas\"
+#pragma clang diagnostic ignored \"-Wdeprecated-register\"
+#endif
+
 namespace WebCore {
 EOF
 
@@ -116,7 +122,7 @@ foreach my $alias (@aliases) {
 
 print GPERF<< "EOF";
 %%
-const Property* findProperty(register const char* str, register unsigned int len)
+const Property* findProperty(const char* str, unsigned int len)
 {
     return CSSPropertyNamesHash::findPropertyImpl(str, len);
 }
@@ -177,6 +183,10 @@ String getJSPropertyName(CSSPropertyID id)
 }
 
 } // namespace WebCore
+
+#if defined(__clang__)
+#pragma clang diagnostic pop
+#endif
 EOF
 
 open HEADER, ">CSSPropertyNames.h" || die "Could not open CSSPropertyNames.h for writing";
index 9c9fb579378c274838e39ec871ea61d2dcf0d18a..680718b70fff10b717df5147ba706d1ad3b40d53 100644 (file)
@@ -66,6 +66,12 @@ print GPERF << "EOF";
 #include \"HashTools.h\"
 #include <string.h>
 
+#if defined(__clang__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored \"-Wunknown-pragmas\"
+#pragma clang diagnostic ignored \"-Wdeprecated-register\"
+#endif
+
 namespace WebCore {
 %}
 %struct-type
@@ -102,7 +108,7 @@ print GPERF << "EOF";
     0
 };
 
-const Value* findValue(register const char* str, register unsigned int len)
+const Value* findValue(const char* str, unsigned int len)
 {
     return CSSValueKeywordsHash::findValueImpl(str, len);
 }
@@ -115,6 +121,10 @@ const char* getValueName(unsigned short id)
 }
 
 } // namespace WebCore
+
+#if defined(__clang__)
+#pragma clang diagnostic pop
+#endif
 EOF
 close GPERF;
 
index 277d83e6d0c09bf52f48398782092139147122fe..e38547dae149a45214be04416b96a6e82baad9a0 100644 (file)
@@ -2,6 +2,12 @@
 #include "HashTools.h"
 #include <string.h>
 
+#if defined(__clang__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wdeprecated-register"
+#endif
+
 namespace WebCore {
 %}
 %struct-type
@@ -167,9 +173,13 @@ whitesmoke, 0xfff5f5f5
 yellow, 0xffffff00
 yellowgreen, 0xff9acd32
 %%
-const struct NamedColor* findColor(register const char* str, register unsigned int len)
+const struct NamedColor* findColor(const char* str, unsigned int len)
 {
     return ColorDataHash::findColorImpl(str, len);
 }
 
 } // namespace WebCore
+
+#if defined(__clang__)
+#pragma clang diagnostic pop
+#endif