[0/3] MSP430: Improve attribute handling

Message ID 20190830110740.731a0ae0@jozef-kubuntu
Headers show
Series
  • MSP430: Improve attribute handling
Related show

Message

Jozef Lawrynowicz Aug. 30, 2019, 10:07 a.m.
The following series of patches improves the handling of msp430-specific
attributes by making use of generic mechanisms for performing common
tasks (i.e. handling attribute conflicts, putting data objects in sections).

The patches also transition the msp430 back end to fully use the generic
handling of the "noinit" attribute.

Successfully bootstrapped and regtested on x86_64-pc-linux-gnu.
Successfully regtested for msp430-elf.

As a further sanity test I built GCC for arm-eabi and ran
execute.exp=noinit-attribute.c to confirm the noinit attribute still
works as expected for ARM.

Ok for trunk?

Jozef Lawrynowicz (3):
  Implement TARGET_HANDLE_GENERIC_ATTRIBUTE
  MSP430: Setup exclusion tables for function and data attributes
  MSP430: Use default_elf_select_section to determine sections for data
    where possible

 gcc/c-family/c-attribs.c                      |  39 ++-
 gcc/config/msp430/msp430.c                    | 320 ++++++++++++------
 gcc/doc/tm.texi                               |   8 +
 gcc/doc/tm.texi.in                            |   2 +
 gcc/hooks.c                                   |   6 +
 gcc/hooks.h                                   |   1 +
 gcc/target.def                                |  11 +
 .../gcc.target/msp430/data-attributes-2.c     |  51 +++
 .../gcc.target/msp430/function-attributes-4.c |  27 +-
 .../msp430/region-attribute-misuse.c          |   6 +-
 10 files changed, 336 insertions(+), 135 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/msp430/data-attributes-2.c