History

lib/armeabi.c: fix zero from/to double conversion

tccgen.c: - allow cross-compiling 0.0L (cross-compile tcc with tcc) tccelf.c: - use alignment of TLS section for PT_TLS tccpp.c: - support long double constants on systems that do not support long doubles (i.e. mark them (VT_DOUBLE | VT_LONG)) tccdefs.h: #define __has_feature() for android remove _unaligned (why define a msvc extension under !_WIN32)

grischka committed 3 years ago

Commit 19ef0241 parent 86f3d8e5 files · +38 −27Browse files

Showing the changes to lib (1 of 5 files). Show all

Unified · Split

lib/armeabi.c+8−1
@@ -137,6 +137,11 @@ void __aeabi_ ## name(double_unsigned_struct val) \ · 136 unmodified lines
137137 int exp, high_shift, sign; \
138138 double_unsigned_struct ret; \
139139 \
140+ if ((val.high & ~0x80000000) == 0 && val.low == 0) { \
141+ ret.low = ret.high = 0; \
142+ goto _ret_; \
143+ } \
144+ \
140145 /* compute sign */ \
141146 sign = val.high >> 31; \
142147 \
@@ -190,6 +195,7 @@ void __aeabi_ ## name(double_unsigned_struct val) \ · 47 unmodified lines
190195 ret.low++; \
191196 } \
192197 \
198+_ret_: \
193199 double_unsigned_struct_return(ret); \
194200 }
195201
@@ -313,7 +319,7 @@ void __aeabi_ ## name(unsigned long long v) \ · 117 unmodified lines
313319 } \
314320 } else { \
315321 ret.high = ret.low = 0; \
316− double_unsigned_struct_return(ret); \
322+ goto _ret_; \
317323 } \
318324 } \
319325 \
@@ -323,6 +329,7 @@ void __aeabi_ ## name(unsigned long long v) \ · 3 unmodified lines
323329 /* fill sign bit */ \
324330 ret.high |= sign << 31; \
325331 \
332+_ret_: \
326333 double_unsigned_struct_return(ret); \
327334 }
328335

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t