summaryrefslogtreecommitdiffstats
path: root/generic/tclUtil.c
diff options
context:
space:
mode:
authordgp@users.sourceforge.net <dgp>2011-09-13 20:03:34 (GMT)
committerdgp@users.sourceforge.net <dgp>2011-09-13 20:03:34 (GMT)
commit23e60cd70dc2f12b8ad61b534442064a0d902b89 (patch)
tree8ce021e431f45aeac3d1d0860a7f30d7d819445b /generic/tclUtil.c
parent029e71f43bbe06fa2e5adbaeac93849a6cad311b (diff)
parenta898b5522b0ae64bcc1b7e69e3bc2cf016121975 (diff)
downloadtcl-23e60cd70dc2f12b8ad61b534442064a0d902b89.zip
tcl-23e60cd70dc2f12b8ad61b534442064a0d902b89.tar.gz
tcl-23e60cd70dc2f12b8ad61b534442064a0d902b89.tar.bz2
3390638 Workaround broken solaris studio cc optimizer.
Thanks to Wolfgang S. Kechel.
Diffstat (limited to 'generic/tclUtil.c')
-rw-r--r--generic/tclUtil.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/generic/tclUtil.c b/generic/tclUtil.c
index eaa7eae..5119456 100644
--- a/generic/tclUtil.c
+++ b/generic/tclUtil.c
@@ -3165,7 +3165,8 @@ TclFormatInt(buffer, n)
* negating it produces the same value.
*/
- if (n == -n) {
+ intVal = -n; /* [Bug 3390638] Workaround for*/
+ if (n == -n || intVal == n) { /* broken compiler optimizers. */
return sprintf(buffer, "%ld", n);
}