@@ -35,24 +35,43 @@ class function_arg_info
3535{
3636public:
3737 function_arg_info ()
38- : type (NULL_TREE), mode (VOIDmode), named (false ),
38+ : type (NULL_TREE), mode (VOIDmode), named (false ), last_named ( false ),
3939 pass_by_reference (false )
4040 {}
4141
4242 /* Initialize an argument of mode MODE, either before or after promotion. */
4343 function_arg_info (machine_mode mode, bool named)
44- : type (NULL_TREE), mode (mode), named (named), pass_by_reference (false )
44+ : type (NULL_TREE), mode (mode), named (named), last_named (false ),
45+ pass_by_reference (false )
46+ {}
47+
48+ function_arg_info (machine_mode mode, bool named, bool last_named)
49+ : type (NULL_TREE), mode (mode), named (named), last_named (last_named),
50+ pass_by_reference (false )
4551 {}
4652
4753 /* Initialize an unpromoted argument of type TYPE. */
4854 function_arg_info (tree type, bool named)
49- : type (type), mode (TYPE_MODE (type)), named (named),
55+ : type (type), mode (TYPE_MODE (type)), named (named), last_named ( false ),
5056 pass_by_reference (false )
5157 {}
5258
59+ /* Initialize an unpromoted argument of type TYPE. */
60+ function_arg_info (tree type, bool named, bool last_named)
61+ : type (type), mode (TYPE_MODE (type)), named (named),
62+ last_named (last_named), pass_by_reference (false )
63+ {}
64+
5365 /* Initialize an argument with explicit properties. */
5466 function_arg_info (tree type, machine_mode mode, bool named)
55- : type (type), mode (mode), named (named), pass_by_reference (false )
67+ : type (type), mode (mode), named (named), last_named (false ),
68+ pass_by_reference (false )
69+ {}
70+
71+ /* Initialize an argument with explicit properties. */
72+ function_arg_info (tree type, machine_mode mode, bool named, bool last_named)
73+ : type (type), mode (mode), named (named), last_named (last_named),
74+ pass_by_reference (false )
5675 {}
5776
5877 /* Return true if the gimple-level type is an aggregate. */
@@ -105,6 +124,9 @@ class function_arg_info
105124 "..."). See also TARGET_STRICT_ARGUMENT_NAMING. */
106125 unsigned int named : 1 ;
107126
127+ /* True if this is the last named argument. */
128+ unsigned int last_named : 1 ;
129+
108130 /* True if we have decided to pass the argument by reference, in which case
109131 the function_arg_info describes a pointer to the original argument. */
110132 unsigned int pass_by_reference : 1 ;
0 commit comments