aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1995-02-21 22:54:11 -0700
committerJeff Law <law@gcc.gnu.org>1995-02-21 22:54:11 -0700
commit0ed5f250a191a06248db5bd198e4d74f59a024ed (patch)
tree16c12c056864607b5282313c86bf6b1ac5862918 /gcc
parent278479ede570d1009ca1cbe9cde43848a3763f20 (diff)
downloadgcc-0ed5f250a191a06248db5bd198e4d74f59a024ed.zip
gcc-0ed5f250a191a06248db5bd198e4d74f59a024ed.tar.gz
gcc-0ed5f250a191a06248db5bd198e4d74f59a024ed.tar.bz2
pa.h (ASM_DECLARE_FUNCTION_NAME): Handle invisible reference arguments passed in registers.
* pa.h (ASM_DECLARE_FUNCTION_NAME): Handle invisible reference arguments passed in registers. From-SVN: r9026
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/pa/pa.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index e69a63a..3b5f132 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -1039,6 +1039,10 @@ extern enum cmp_type hppa_branch_type;
int arg_size = \
FUNCTION_ARG_SIZE (TYPE_MODE (DECL_ARG_TYPE (parm)),\
DECL_ARG_TYPE (parm)); \
+ /* Passing structs by invisible reference uses \
+ one general register. */ \
+ if (arg_size > 2) \
+ arg_size = 1; \
if (arg_size == 2 && i <= 2) \
{ \
if (i == 1) i++; \