diff options
author | Zefram <zefram@fysh.org> | 2011-11-17 19:53:04 +0000 |
---|---|---|
committer | Zefram <zefram@fysh.org> | 2011-11-17 19:53:04 +0000 |
commit | 2ba3ed0cc50ab0b9ba47218e86872c324f31abd4 (patch) | |
tree | 4e8d4c0b4e48163bc777dc366bb0a0c26e71f062 /hints | |
parent | 36b2db7e45905e9dd8cfbd2109f0057bca16508f (diff) | |
download | perl-2ba3ed0cc50ab0b9ba47218e86872c324f31abd4.tar.gz |
turn off buggy optimisations in one HP compiler
Fixes [perl #103668].
Diffstat (limited to 'hints')
-rw-r--r-- | hints/hpux.sh | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/hints/hpux.sh b/hints/hpux.sh index be6c1fddb8..64de1bde0e 100644 --- a/hints/hpux.sh +++ b/hints/hpux.sh @@ -157,7 +157,7 @@ case `$cc -v 2>&1`"" in done [ -z "$cc_found" ] && cc_found=`which cc` what $cc_found >&4 - ccversion=`what $cc_found | awk '/Compiler/{print $2}/Itanium/{print $6,$7}/for Integrity/{print $6}'` + ccversion=`what $cc_found | awk '/Compiler/{print $2}/Itanium/{print $6,$7}/for Integrity/{print $6,$7}'` case "$ccflags" in "-Ae "*) ;; *) ccflags="-Ae $cc_cppflags" @@ -414,7 +414,7 @@ case "$ccisgcc" in fi ;; - *) # HP's compiler cannot combine -g and -O + *) case "$optimize" in "") optimize="+O2 +Onolimit" ;; *O[3456789]*) optimize=`echo "$optimize" | sed -e 's/O[3-9]/O2/'` ;; @@ -436,6 +436,19 @@ case "$ccisgcc" in # maint (5.8.8+) and blead (5.9.3+) # -O1/+O1 passed all tests (m)'05 [ 10 Jan 2005 ] optimize="$opt" ;; + B3910B*A.06.15) + # > cc --version + # cc: HP C/aC++ B3910B A.06.15 [May 16 2007] + # Has optimizing problems with +O2 for blead (5.15.4), + # see https://rt.perl.org:443/rt3/Ticket/Display.html?id=103668. + # + # +O2 +Onolimit +Onoprocelim +Ostore_ordering \ + # +Onolibcalls=strcmp + # passes all tests (with/without -DDEBUGGING) [Nov 17 2011] + case "$optimize" in + *O2*) optimize="$optimize +Onoprocelim +Ostore_ordering +Onolibcalls=strcmp" ;; + esac + ;; *) doop_cflags="optimize=\"$opt\"" op_cflags="optimize=\"$opt\"" ;; esac |