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

--- Comment #9 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
Author: ebotcazou
Date: Mon Feb 29 10:20:31 2016
New Revision: 233808

URL: https://gcc.gnu.org/viewcvs?rev=233808&root=gcc&view=rev
Log:
        PR target/69706
        * config/sparc/sparc.c (ROUND_ADVANCE): Rename to...
        (NWORDS_UP): ...this
        (init_cumulative_args): Minor tweaks.
        (sparc_promote_function_mode): Likewise.
        (scan_record_type): Delete.
        (traverse_record_type): New function template.
        (classify_data_t): New structure type.
        (classify_registers): New inline function.
        (function_arg_slotno): In 64-bit mode, bail out early if FP slots are
        exhausted.  Instantiate traverse_record_type on classify_registers and
        deal with the case of a structure passed in slot #15 with no FP field
        in the first word.
        (assign_data_t): New structure type.
        (compute_int_layout): New static function.
        (compute_fp_layout): Likewise.
        (count_registers): New inline function.
        (assign_int_registers): New static function.
        (assign_fp_registers): Likewise.
        (assign_registers): New inline function.
        (function_arg_record_value_1): Delete.
        (function_arg_record_value_2): Likewise.
        (function_arg_record_value_3): Likewise.
        (function_arg_record_value): Adjust to above changes.  Instantiate
        traverse_record_type on count_registers to first count the number of
        registers to be used and then on assign_registers to assign them.
        (function_arg_union_value): Adjust to above renaming.
        (sparc_function_arg_1); Minor tweaks.  Remove commented out code.
        (sparc_arg_partial_bytes): Adjust to above renaming.  Deal with the
        case of a structure passed in slot #15
        (sparc_function_arg_advance): Likewise.
        (function_arg_padding): Minor tweak.

Added:
    trunk/gcc/testsuite/gcc.target/sparc/20160229-1.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/sparc/sparc.c
    trunk/gcc/testsuite/ChangeLog

Reply via email to