Title: [216835] trunk/Source/_javascript_Core
Revision
216835
Author
[email protected]
Date
2017-05-13 22:21:12 -0700 (Sat, 13 May 2017)

Log Message

[JSC] config.rb fails when checking some clang versions
<https://webkit.org/b/172082>

Reviewed by Mark Lam.

* offlineasm/config.rb:
- Add support for quad-dotted version of Apple clang (800.0.12.1).
- Add support for checking open source clang version (5.0.0).

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (216834 => 216835)


--- trunk/Source/_javascript_Core/ChangeLog	2017-05-14 04:27:01 UTC (rev 216834)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-05-14 05:21:12 UTC (rev 216835)
@@ -1,3 +1,14 @@
+2017-05-13  David Kilzer  <[email protected]>
+
+        [JSC] config.rb fails when checking some clang versions
+        <https://webkit.org/b/172082>
+
+        Reviewed by Mark Lam.
+
+        * offlineasm/config.rb:
+        - Add support for quad-dotted version of Apple clang (800.0.12.1).
+        - Add support for checking open source clang version (5.0.0).
+
 2017-05-13  Commit Queue  <[email protected]>
 
         Unreviewed, rolling out r216808.

Modified: trunk/Source/_javascript_Core/offlineasm/config.rb (216834 => 216835)


--- trunk/Source/_javascript_Core/offlineasm/config.rb	2017-05-14 04:27:01 UTC (rev 216834)
+++ trunk/Source/_javascript_Core/offlineasm/config.rb	2017-05-14 05:21:12 UTC (rev 216835)
@@ -63,14 +63,21 @@
     if ENV['GCC_VERSION'] =~ /\.clang\./ and ENV['DT_TOOLCHAIN_DIR'] =~ /Xcode.app/
         clangVersionOut = %x`xcrun clang --version`
         if ($? == 0)
-            # clang version 800.0.12 or higher is required for debug annotations
-            versionMatch = /clang-(\d{3,}).(\d{1,3}).(\d{1,3})/.match(clangVersionOut)
-            if versionMatch.length >= 4
+            # Apple clang version 800.0.12 or higher is required for debug annotations.
+            versionMatch = /clang-(\d{3,})\.(\d{1,3})\.(\d{1,3})(\.(\d{1,3}))?/.match(clangVersionOut)
+            if versionMatch and versionMatch.length >= 4
                 totalVersion = versionMatch[1].to_i * 1000000 + versionMatch[2].to_i * 1000 + versionMatch[3].to_i
                 if totalVersion >= 800000012
                     return true
                 end
             end
+            # For locally-built, open source clang returning "clang version 5.0.0".
+            versionMatch = /clang version (\d{1,3})\.(\d{1,3})\.(\d{1,3})/.match(clangVersionOut)
+            if versionMatch and versionMatch.length >= 4
+                if versionMatch[1].to_i >= 5
+                    return true
+                end
+            end
         end
     end
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to