#1110: parrot fails to build with g++ 4.4.1 on Ubuntu 9.10 beta amd64
--------------------+-------------------------------------------------------
 Reporter:  mikehh  |       Owner:       
     Type:  bug     |      Status:  new  
 Priority:  normal  |   Milestone:       
Component:  build   |     Version:  trunk
 Severity:  medium  |    Keywords:       
     Lang:          |       Patch:       
 Platform:          |  
--------------------+-------------------------------------------------------

Comment(by mikehh):

 at parrot r42035 I built with g++ (Ubuntu 4.3.3-5ubuntu4) 4.3.3 on Ubuntu
 9.04 amd64 and got the following results:
 {{{
 trunk - pre/post-config, smoke (#29338) PASS, fulltest FAIL at r42035 -
 Ubuntu 9.04 amd64 (g++)
 t/op/annotate-old.t -  Failed test:  1 - in testf and testg (TT #1135)
 t/pmc/threads.t - Failed tests:  9, 14 - in testr
 the remainder of fulltest passes

 }}}

 at the same revision I attempted to build with g++ (Ubuntu 4.4.1-4ubuntu8)
 4.4.1 on Ubuntu 9.10 beta (updated) amd64 - the build failed in
 src/string/api.c as follows:
 {{{
 ...
 /usr/local/bin/perl tools/build/c2str.pl --all
 src/string/api.c
 In file included from src/string/api.c:29:
 src/string/private_cstring.h:20: warning: size of ‘parrot_cstrings’ is
 19904 bytes
 src/string/api.c: In function ‘STRING*
 Parrot_str_unescape(parrot_interp_t*, const char*, char, const char*)’:
 src/string/api.c:2790: error: invalid conversion from ‘const char*’ to
 ‘char*’
 make: *** [src/string/api.o] Error 1

 }}}

 The size warning is because I configured with --maintainer (which reports
 strings greater than 4096 chars), the relevant line in src/string.api.c is
 the last line in the following section of the code:
 {{{
 PARROT_EXPORT
 PARROT_CANNOT_RETURN_NULL
 STRING *
 Parrot_str_unescape(PARROT_INTERP,
     ARGIN(const char *cstring), char delimiter, ARGIN_NULLOK(const char
 *enc_char))
 {
     ASSERT_ARGS(Parrot_str_unescape)

     STRING         *result;
     const ENCODING *encoding;
     const CHARSET  *charset;

     /* the default encoding is ascii */
     const char     *enc_name = enc_char ? enc_char : "ascii";

     /* does the encoding have a character set? */
     char           *p        = enc_char ? strchr(enc_char, ':') : NULL;

 }}}

 Note that this builds with no problems with g++ 4.3.3 but fails with g++
 4.4.1 - this might be due to the later library used. (see the previous
 comment)

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/1110#comment:4>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets

Reply via email to