diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 507e12bcf33..5512ffc550f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -38,6 +38,11 @@ * doc/tm.texi.in (TARGET_RESOLVE_OVERLOADED_BUILTIN): Use @hook. * doc/tm.texi: Regenerate. + * target.def (return_pops_args): Use DEFHOOK. + * doc/tm.texi.in (TARGET_RETURN_POPS_ARGS): Use @hook. + Rename stack-size to size. + * doc/tm.texi: Regenerate. + 2010-06-30 Manuel López-Ibáñez * toplev.h (_fatal_insn_not_found, _fatal_insn): Move declarations diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index fe72fd12ecb..99b4dd4198c 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -3931,7 +3931,7 @@ suppresses this behavior and causes the parameter to be passed on the stack in its natural location. @end defmac -@deftypefn {Target Hook} TARGET_RETURN_POPS_ARGS (@var{fundecl}, @var{funtype}, @var{stack-size}) +@deftypefn {Target Hook} int TARGET_RETURN_POPS_ARGS (tree @var{fundecl}, tree @var{funtype}, int @var{size}) This target hook returns the number of bytes of its own arguments that a function pops on returning, or 0 if the function pops no arguments and the caller must therefore pop them all after the function returns. @@ -3954,12 +3954,12 @@ by their names. Note that ``library function'' in this context means a function used to perform arithmetic, whose name is known specially in the compiler and was not mentioned in the C code being compiled. -@var{stack-size} is the number of bytes of arguments passed on the +@var{size} is the number of bytes of arguments passed on the stack. If a variable number of bytes is passed, it is zero, and argument popping will always be the responsibility of the calling function. On the VAX, all functions always pop their arguments, so the definition -of this macro is @var{stack-size}. On the 68000, using the standard +of this macro is @var{size}. On the 68000, using the standard calling convention, no functions pop their arguments, so the value of the macro is always 0 in this case. But an alternative calling convention is available in which functions that take a fixed number of diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in index 6949d1b218b..a9a2e955b6a 100644 --- a/gcc/doc/tm.texi.in +++ b/gcc/doc/tm.texi.in @@ -3931,7 +3931,7 @@ suppresses this behavior and causes the parameter to be passed on the stack in its natural location. @end defmac -@deftypefn {Target Hook} TARGET_RETURN_POPS_ARGS (@var{fundecl}, @var{funtype}, @var{stack-size}) +@hook TARGET_RETURN_POPS_ARGS This target hook returns the number of bytes of its own arguments that a function pops on returning, or 0 if the function pops no arguments and the caller must therefore pop them all after the function returns. @@ -3954,12 +3954,12 @@ by their names. Note that ``library function'' in this context means a function used to perform arithmetic, whose name is known specially in the compiler and was not mentioned in the C code being compiled. -@var{stack-size} is the number of bytes of arguments passed on the +@var{size} is the number of bytes of arguments passed on the stack. If a variable number of bytes is passed, it is zero, and argument popping will always be the responsibility of the calling function. On the VAX, all functions always pop their arguments, so the definition -of this macro is @var{stack-size}. On the 68000, using the standard +of this macro is @var{size}. On the 68000, using the standard calling convention, no functions pop their arguments, so the value of the macro is always 0 in this case. But an alternative calling convention is available in which functions that take a fixed number of diff --git a/gcc/target.def b/gcc/target.def index a4e5fcd5ab0..2bafeca8aac 100644 --- a/gcc/target.def +++ b/gcc/target.def @@ -1866,7 +1866,7 @@ DEFHOOK pops on returning, or 0 if the function pops no arguments and the caller must therefore pop them all after the function returns. */ /* ??? tm.texi has no types for the parameters. */ -DEFHOOK_UNDOC +DEFHOOK (return_pops_args, "", int, (tree fundecl, tree funtype, int size),