apologies if this is the wrong list or something i missed in the archives. short story: i get an ICE w/ gcc 4.6 when building avr-libc-1.4.8.
longer story: i needed to re-install an avr toolchain and already had binutils/gcc in source-code-control form laying around so i just re-built them for avr, grabbed the 1.4.8 package, and tried to build. the build dies w/ this ICE message: ../../../libc/stdlib/dtostre.c: In function 'dtostre': ../../../libc/stdlib/dtostre.c:63:3: internal compiler error: in build_unary_op, at c-typeck.c:3773 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. the line # is close because i added a little printf to get the tree nodes printed because they were optimized away. the assertion we're hitting is: gcc_assert (quals == orig_quals || TREE_CODE (argtype) == FUNCTION_TYPE); where the quals don't match (quals==1 and orig_quals==0), and argtype==array_type from the attribute(progmem) qualified array in dtostre.c __attribute__((progmem)) static char str_nan[2][4] = {"nan", "NAN"}; the comment in c-type.c above the failing block is /* If the lvalue is const or volatile, merge that into the type to which the address will point. This should only be needed for function types. */ where teh assertion seems to be about being 'sure' that the thinking for the last sentence is correct. if i get rid of the tree-code check in the assertion things seem to build ok (at least by my eye if i build w/ -S). finally, the question. is this a gcc thing or an avr-libc thing? \p --- If one does not understand a person, one tends to regard him as a fool. - Carl Jung _______________________________________________ AVR-libc-dev mailing list AVR-libc-dev@nongnu.org http://lists.nongnu.org/mailman/listinfo/avr-libc-dev