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/

Reply via email to