Skip to content

Commit

Permalink
fix compile error?
Browse files Browse the repository at this point in the history
  • Loading branch information
tanmaykm committed Mar 13, 2015
1 parent 59e6cdb commit 2931312
Showing 1 changed file with 20 additions and 7 deletions.
27 changes: 20 additions & 7 deletions base/string.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1551,7 +1551,8 @@ function tryparse_internal{T<:Integer}(::Type{T}, s::AbstractString, base::Int,
end

base = convert(T,base)
m::T = div(typemax(T)-base+1,base)
#m::T = div(typemax(T)-base+1,base)
m::T = ((T===UInt128 || T===Int128) && (Base.WORD_SIZE < 64)) ? typemax(T) : div(typemax(T)-base+1,base)
n::T = 0
while n <= m
d::T = '0' <= c <= '9' ? c-'0' :
Expand Down Expand Up @@ -1581,13 +1582,25 @@ function tryparse_internal{T<:Integer}(::Type{T}, s::AbstractString, base::Int,
end
(T <: Signed) && (d *= sgn)

safe_n = safe_mul(n, base)
safe_n.isnull || (safe_n = safe_add(safe_n.value, d))
if safe_n.isnull
raise && throw(OverflowError())
return _n
if (T===UInt128 || T===Int128) && (Base.WORD_SIZE < 64)
if raise
n = checked_add(checked_mul(n,base),d)
else
try
n = checked_add(checked_mul(n,base),d)
catch
return _n
end
end
else
safe_n = safe_mul(n, base)
safe_n.isnull || (safe_n = safe_add(safe_n.value, d))
if safe_n.isnull
raise && throw(OverflowError())
return _n
end
n = safe_n.value
end
n = safe_n.value
done(s,i) && return Nullable{T}(n)
c, i = next(s,i)
end
Expand Down

0 comments on commit 2931312

Please sign in to comment.