https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71948

--- Comment #1 from Georg-Johann Lay <gjl at gcc dot gnu.org> ---
Author: gjl
Date: Wed Jul 20 14:12:16 2016
New Revision: 238525

URL: https://gcc.gnu.org/viewcvs?rev=238525&root=gcc&view=rev
Log:
gcc/
        Implement attribute progmem on reduced Tiny cores by adding
        flash offset 0x4000 to respective symbols.

        PR target/71948
        * doc/extend.texi (AVR Variable Attributes) [progmem]: Add
        documentation how it works on reduced Tiny cores.
        (AVR Named Address Spaces): No support for reduced Tiny.
        * config/avr/avr.c (AVR_SYMBOL_FLAG_TINY_PM): New macro.
        (avr_address_tiny_pm_p): New static function.
        (avr_print_operand_address) [AVR_TINY]: Add AVR_TINY_PM_OFFSET
        if the address is in progmem.
        (avr_assemble_integer): Same.
        (avr_encode_section_info) [AVR_TINY]: Set AVR_SYMBOL_FLAG_TINY_PM
        for symbol_ref in progmem.
        * config/avr/avr.h (AVR_TINY_PM_OFFSET): New macro.
        * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use it instead of
        magic 0x4000 when built-in def'ing __AVR_TINY_PM_BASE_ADDRESS__.
gcc/testsuite/
        PR target/71948
        * gcc.target/avr/torture/tiny-progmem.c: New test.


Added:
    trunk/gcc/testsuite/gcc.target/avr/torture/tiny-progmem.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/avr/avr-c.c
    trunk/gcc/config/avr/avr.c
    trunk/gcc/config/avr/avr.h
    trunk/gcc/doc/extend.texi
    trunk/gcc/testsuite/ChangeLog

Reply via email to