@@ -53,7 +53,7 @@ struct Platform <: AbstractPlatform
53
53
" os" => os,
54
54
)
55
55
for (tag, value) in kwargs
56
- tag = lowercase (string (tag))
56
+ tag = lowercase (string (tag:: Symbol ))
57
57
if tag ∈ (" arch" , " os" )
58
58
throw (ArgumentError (" Cannot double-pass key $(tag) " ))
59
59
end
@@ -68,17 +68,14 @@ struct Platform <: AbstractPlatform
68
68
# doesn't parse nicely into a VersionNumber to persist, but if `validate_strict` is
69
69
# set to `true`, it will cause an error later on.
70
70
if tag ∈ (" libgfortran_version" , " libstdcxx_version" , " os_version" )
71
- normver (x :: VersionNumber ) = string (x )
72
- function normver (str :: AbstractString )
73
- v = tryparse (VersionNumber, str )
74
- if v === nothing
75
- # If this couldn't be parsed as a VersionNumber, return the original.
76
- return str
71
+ if isa (value, VersionNumber )
72
+ value = string (value )
73
+ elseif isa (value, AbstractString )
74
+ v = tryparse (VersionNumber, value)
75
+ if isa (v, VersionNumber)
76
+ value = string (v)
77
77
end
78
- # Otherwise, return the `string(VersionNumber(str))` version.
79
- return normver (v)
80
78
end
81
- value = normver (value)
82
79
end
83
80
84
81
# Use `add_tag!()` to add the tag to our collection of tags
@@ -430,7 +427,7 @@ function VNorNothing(d::Dict, key)
430
427
if v === nothing
431
428
return nothing
432
429
end
433
- return VersionNumber (v)
430
+ return VersionNumber (v):: VersionNumber
434
431
end
435
432
436
433
"""
0 commit comments