Handling ARMv8-M Security Extension's cmse_nonsecure_call attribute
authorAndre Vieira <andre.simoesdiasvieira@arm.com>
Fri, 2 Dec 2016 15:30:37 +0000 (15:30 +0000)
committerAndre Vieira <avieira@gcc.gnu.org>
Fri, 2 Dec 2016 15:30:37 +0000 (15:30 +0000)
commit32ce1e4f244830404328e5a45d062c2f5bee662d
treecab196205186467cde60d3c97b01bbb2ea3770d6
parentde954d6a5fb7dbb2c4c0a646a5e59727b06847c1
Handling ARMv8-M Security Extension's cmse_nonsecure_call attribute

    gcc/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
        Thomas Preud'homme  <thomas.preudhomme@arm.com>

* config/arm/arm.c (gimplify.h): New include.
(arm_handle_cmse_nonsecure_call): New.
(arm_attribute_table): Added cmse_nonsecure_call.
(arm_comp_type_attributes): Deny compatibility of function types
with without the cmse_nonsecure_call attribute.
* doc/extend.texi (ARM ARMv8-M Security Extensions): New attribute.

    gcc/testsuite/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
        Thomas Preud'homme  <thomas.preudhomme@arm.com>

* gcc.target/arm/cmse/cmse-3.c: Add tests.
* gcc.target/arm/cmse/cmse-4.c: Add tests.
* gcc.target/arm/cmse/cmse-15.c: New.

Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>
From-SVN: r243191
gcc/ChangeLog
gcc/config/arm/arm.c
gcc/doc/extend.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/cmse/cmse-15.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/cmse/cmse-3.c
gcc/testsuite/gcc.target/arm/cmse/cmse-4.c