I often find it necessary to add debugging prints to these functions
to show where parameters are found in registers and/or on the stack,
and what kind of thing va_arg returns. These prints most conveniently
take the form of
if (dump_file)
fprintf (dump_file, ...);
to appear in the relevant file dumped by -da.
Ian
Hi, Ian, I have tried this debugging prints and add it in
gcc/config/rs600/rs600.c. I post
part of the source code here for your reference,
5672 tree
5673 rs6000_gimplify_va_arg (tree valist, tree type, tree *pre_p, tree
*post_ p)
5674 {
.......
5733 if (dump_file)
5734 {
5735 fprintf (dump_file, "TARGET_HARD_FLOAT =
%d\n",TARGET_HARD_FLOAT);
5736 fprintf (dump_file, "TARGET_FPRS =%d\n", TARGET_FPRS);
5737 fprintf (dump_file, "TYPE_MODE (type) = %d\n", TYPE_MODE
(type));
5738 }
5739 if (TARGET_HARD_FLOAT && TARGET_FPRS
......
When I trace it here and find dump_file is NULL so I can not dump them out
with
-da option. I do not know how could you do it in this way, could you give
me
some advice?
BTW, I am concerned about the value of TARGET_HARD_FLOAT and TARGET_FPRS,
I think both of them is 1 here, because I built GCC natively on POWER, but
when I trace
it , I found it skips this condation statement as if ARGET_HARD_FLOAT is 0,
I do not know
why.
I have searched TARGET_HARD_FLOAT in GCC internals for GCC 3.3.5 and found
nothing about it. Could anyone tell me which file define these two macros?
I grep it in gcc/config/rs6000/ but it seems that there is no file define
it. Could
anybody here have a look at it and verify it for me, any comments are highly
appreicated.
Thanks in advance!
Best Regards
----------------
Yao Qi
Bejing Institute of Technology
_________________________________________________________________
Don't just search. Find. Check out the new MSN Search!
http://search.msn.com/