aboutsummaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorChung-Ju Wu <jasonwucj@gmail.com>2014-09-03 09:55:28 +0000
committerChung-Ju Wu <jasonwucj@gcc.gnu.org>2014-09-03 09:55:28 +0000
commit7f6cd86bef0d942ca6e4d7a38f942cd38daaff95 (patch)
tree84c7d09e05d0df11d11b81726f282263ee893fbf /gcc/final.c
parent52e4630c51f511137b0018fe9f5661182fd5e668 (diff)
downloadgcc-7f6cd86bef0d942ca6e4d7a38f942cd38daaff95.zip
gcc-7f6cd86bef0d942ca6e4d7a38f942cd38daaff95.tar.gz
gcc-7f6cd86bef0d942ca6e4d7a38f942cd38daaff95.tar.bz2
[NDS32] Deal with nameless arguments in nds32_function_arg and nds32_function_arg_advance.
1. We have caller prepare nameless arguments in the way of calling a normal function. e.g. Assume a function: void va_test (int n, ...); When calling "va_test (6, 11, 22, 33, 44, 55, 66);", r0 <- 6 r1 <- 11 r2 <- 22 r3 <- 33 r4 <- 44 r5 <- 55 [sp + 0] <- 66 2. Note that we DO NOT handle it for TARGET_HARD_FLOAT case. The TARGET_HARD_FLOAT should push all the nameless arguments into stack and GCC is able to take care of them itself. In addition, we have not implemented hard float on trunk yet. * config/nds32/nds32.c (nds32_function_arg): Deal with nameless arguments. (nds32_function_arg_advance): Deal with nameless arguments. * config/nds32/nds32.h (NDS32_ARG_PASS_IN_REG_P): Split it into ... (NDS32_ARG_ENTIRE_IN_GPR_REG_P): ... this one and ... (NDS32_ARG_PARTIAL_IN_GPR_REG_P): ... this one. From-SVN: r214865
Diffstat (limited to 'gcc/final.c')
0 files changed, 0 insertions, 0 deletions