Joerg Wunsch wrote:
David Brown <david.br...@hesbynett.no> wrote:

and
        memset((A_String + 16), 0, 1);

has the same effect as :

        A_String[16] = 0x00;
        delay_about_30_processor_cycles();
        waste_about_80_bytes_of_code_space();

Only if you're using -ffreestanding (e.g., in order to get GCC to
accept a return type "void" for main()).

If you're using -fhosted (the default), and optimize, it will
simply result in

        A_String[16] = 0;

because the compiler is allowed to use internal library knowledge
in hosted mode.

(The compiler would even be allowed to optimize the sprintf() case,
but by now, it doesn't do that.)

Is it possible for a compiler to be *too* good, if it generates optimal code despite terrible source?

mvh.,

David



_______________________________________________
AVR-GCC-list mailing list
AVR-GCC-list@nongnu.org
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list

Reply via email to