Skip to content
Snippets Groups Projects
Commit a92da096 authored by Mike McQuaid's avatar Mike McQuaid Committed by GitHub
Browse files

Merge pull request #1509 from MikeMcQuaid/development-tools-no-nil-versions

development_tools: don't create Versions from `nil`
parents 673c4c78 727263e9
No related branches found
No related tags found
No related merge requests found
......@@ -43,8 +43,9 @@ class DevelopmentTools
def gcc_40_build_version
@gcc_40_build_version ||=
if (path = locate("gcc-4.0"))
Version.new `#{path} --version 2>/dev/null`[/build (\d{4,})/, 1].to_i
if (path = locate("gcc-4.0")) &&
build_version = `#{path} --version 2>/dev/null`[/build (\d{4,})/, 1]
Version.new build_version
else
Version::NULL
end
......@@ -55,8 +56,9 @@ class DevelopmentTools
@gcc_42_build_version ||=
begin
gcc = locate("gcc-4.2") || HOMEBREW_PREFIX.join("opt/apple-gcc42/bin/gcc-4.2")
if gcc.exist? && !gcc.realpath.basename.to_s.start_with?("llvm")
Version.new `#{gcc} --version 2>/dev/null`[/build (\d{4,})/, 1]
if gcc.exist? && !gcc.realpath.basename.to_s.start_with?("llvm")&&
build_version = `#{gcc} --version 2>/dev/null`[/build (\d{4,})/, 1]
Version.new build_version
else
Version::NULL
end
......@@ -66,8 +68,9 @@ class DevelopmentTools
def clang_version
@clang_version ||=
if (path = locate("clang"))
Version.new `#{path} --version`[/(?:clang|LLVM) version (\d\.\d)/, 1]
if (path = locate("clang")) &&
build_version = `#{path} --version`[/(?:clang|LLVM) version (\d\.\d)/, 1]
Version.new build_version
else
Version::NULL
end
......@@ -75,8 +78,9 @@ class DevelopmentTools
def clang_build_version
@clang_build_version ||=
if (path = locate("clang"))
Version.new `#{path} --version`[/clang-(\d{2,})/, 1]
if (path = locate("clang")) &&
build_version = `#{path} --version`[/clang-(\d{2,})/, 1]
Version.new build_version
else
Version::NULL
end
......@@ -86,8 +90,9 @@ class DevelopmentTools
(@non_apple_gcc_version ||= {}).fetch(cc) do
path = HOMEBREW_PREFIX.join("opt", "gcc", "bin", cc)
path = locate(cc) unless path.exist?
version = if path
Version.new(`#{path} --version`[/gcc(?:-\d(?:\.\d)? \(.+\))? (\d\.\d\.\d)/, 1])
version = if path &&
build_version = `#{path} --version`[/gcc(?:-\d(?:\.\d)? \(.+\))? (\d\.\d\.\d)/, 1]
Version.new build_version
else
Version::NULL
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment