diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2012-07-03 15:19:08 +0200 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2012-07-03 15:19:17 +0200 |
commit | b731c96679247a5dec9b2ed1470cc6c4feea2d1c (patch) | |
tree | a4caedf4bcfd855402854563fc70232811bfff69 /configure | |
parent | a0add919873d6af805f3d70da57600f49a8f8cb3 (diff) | |
download | node-new-b731c96679247a5dec9b2ed1470cc6c4feea2d1c.tar.gz |
build: disable -fstrict-aliasing for any gcc < 4.6.0
It has been conclusively demonstrated that the -fstrict-aliasing bugs in gcc's
optimizer are not limited to the 4.5.x releases only.
Fixes #3601 among others.
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 9 |
1 files changed, 3 insertions, 6 deletions
@@ -287,12 +287,9 @@ def configure_node(o): # turn off strict aliasing if gcc < 4.6.0 unless it's llvm-gcc # see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45883 # see http://code.google.com/p/v8/issues/detail?id=884 - o['variables']['strict_aliasing'] = b(is_clang or cc_version >= (4,6,0)) - - # disable strict aliasing in V8 if we're compiling with gcc 4.5.x, - # it makes V8 crash in various ways - o['variables']['v8_no_strict_aliasing'] = b( - not is_clang and (4,5,0) <= cc_version < (4,6,0)) + strict_aliasing = is_clang or cc_version >= (4,6,0) + o['variables']['strict_aliasing'] = b(strict_aliasing) + o['variables']['v8_no_strict_aliasing'] = b(not strict_aliasing) # clang has always supported -fvisibility=hidden, right? if not is_clang and cc_version < (4,0,0): |