summaryrefslogtreecommitdiff
path: root/sv.c
diff options
context:
space:
mode:
authorAndy Dougherty <doughera@lafayette.edu>2001-10-12 12:53:03 -0400
committerArtur Bergman <sky@nanisky.com>2001-10-12 20:16:19 +0000
commit4fd84b444123163abfd32d1efb7e49081b396ad4 (patch)
tree83f09d6a756d62c39fd1b9e43f17f45ffaea4f0c /sv.c
parentfdfddb36b71daa065b87b70cd0b0355d51a15a6c (diff)
downloadperl-4fd84b444123163abfd32d1efb7e49081b396ad4.tar.gz
Re: Sparc/Linux/ithreads unhappy @12391 [PATCH]
Message-ID: <Pine.SOL.4.10.10110121647360.11279-100000@maxwell.phys.lafayette.edu> (Potentially only band-aid) p4raw-id: //depot/perl@12416
Diffstat (limited to 'sv.c')
-rw-r--r--sv.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/sv.c b/sv.c
index 34573537cc..48d0e2d231 100644
--- a/sv.c
+++ b/sv.c
@@ -4278,8 +4278,15 @@ Perl_sv_catsv_flags(pTHX_ SV *dsv, register SV *ssv, I32 flags)
if (!ssv)
return;
if ((spv = SvPV(ssv, slen))) {
- bool sutf8 = DO_UTF8(ssv);
- bool dutf8;
+ /* sutf8 and dutf8 were type bool, but under USE_ITHREADS,
+ gcc version 2.95.2 20000220 (Debian GNU/Linux) for
+ Linux xxx 2.2.17 on sparc64 with gcc -O2, we erroneously
+ get dutf8 = 0x20000000, (i.e. SVf_UTF8) even though
+ dsv->sv_flags doesn't have that bit set.
+ Andy Dougherty 12 Oct 2001
+ */
+ I32 sutf8 = DO_UTF8(ssv);
+ I32 dutf8;
if (SvGMAGICAL(dsv) && (flags & SV_GMAGIC))
mg_get(dsv);