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

--- Comment #5 from chrbr at gcc dot gnu.org ---
Author: chrbr
Date: Wed Jun 10 07:50:59 2015
New Revision: 224314

URL: https://gcc.gnu.org/viewcvs?rev=224314&root=gcc&view=rev
Log:
Add ARM/thumb attribute target

        PR target/52144

        * config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified):
Save.
        * config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare.
        (arm_reset_previous_fndecl, arm_change_mode_p): Likewise.
        * config/arm/arm.h (SWITCHABLE_TARGET): Define.
        * config/arm/arm.c (arm_reset_previous_fndecl): New functions.
        (arm_valid_target_attribute_tree, arm_change_mode_p): Likewise.
        (arm_valid_target_attribute_p): Likewise.
        (arm_set_current_function, arm_can_inline_p): Likewise.
        (arm_valid_target_attribute_rec): Likewise.
        (arm_previous_fndecl): New variable.
        (TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
        (TARGET_CAN_INLINE_P): Define.
        (arm_asm_trampoline_template): Emit mode.
        (arm_file_start): Don't set unified syntax.
        (arm_declare_function_name): Set unified syntax and mode.
        (arm_option_override): Init target_option_default_node.
        and target_option_current_node.
        * config/arm/arm.md (*call_value_symbol): Set mode when possible.
        (*call_symbol): Likewise.
        * doc/extend.texi: Document ARM/Thumb target attribute.
        * doc/invoke.texi: Likewise.

        * gcc.target/arm/attr_arm.c: New test
        * gcc.target/arm/attr_arm-err.c: New test
        * gcc.target/arm/attr_thumb.c: New test
        * gcc.target/arm/attr_thumb-static.c: New test


Added:
    trunk/gcc/testsuite/gcc.target/arm/attr_arm-err.c
    trunk/gcc/testsuite/gcc.target/arm/attr_arm.c
    trunk/gcc/testsuite/gcc.target/arm/attr_thumb-static.c
    trunk/gcc/testsuite/gcc.target/arm/attr_thumb.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/arm/arm-protos.h
    trunk/gcc/config/arm/arm.c
    trunk/gcc/config/arm/arm.h
    trunk/gcc/config/arm/arm.md
    trunk/gcc/config/arm/arm.opt
    trunk/gcc/doc/extend.texi
    trunk/gcc/doc/invoke.texi
    trunk/gcc/testsuite/ChangeLog

Reply via email to