summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorTom Lane2017-12-17 16:52:22 +0000
committerTom Lane2017-12-17 16:52:22 +0000
commitc6d21d56f1a92b4762a22cbbb694b1e853165e70 (patch)
tree4b396044c077e3d9a9cdf6117aea50ac732da494 /configure
parentb31a9d7dd3bf8435fddf404c4b75236d0ea76d78 (diff)
Try harder to detect unavailability of __builtin_mul_overflow(int64).
Commit c04d35f44 didn't quite do the job here, because it still allowed the compiler to deduce that the function call could be optimized away. Prevent that by putting the arguments and results in global variables. Discussion: https://postgr.es/m/20171213213754.pydkyjs6bt2hvsdb@alap3.anarazel.de
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure9
1 files changed, 5 insertions, 4 deletions
diff --git a/configure b/configure
index 22ca4230fce..d9b7b8d7ec7 100755
--- a/configure
+++ b/configure
@@ -14485,14 +14485,15 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-int
-main ()
-{
PG_INT64_TYPE a = 1;
PG_INT64_TYPE b = 1;
PG_INT64_TYPE result;
-__builtin_mul_overflow(*(volatile PG_INT64_TYPE *) a, *(volatile PG_INT64_TYPE *) b, &result);
+int oflo;
+int
+main ()
+{
+oflo = __builtin_mul_overflow(a, b, &result);
;
return 0;
}