[Prev][Next][Index]
Re: pc++ / printf problem
- From: "Beata Winnicka" <bfatyga@slab.cica.indiana.edu>
- Date: Thu, 2 Feb 95 15:02:28 -0500
- To: "Bernd W. Mohr" <mohr@cs.uoregon.edu>
- Subject: Re: pc++ / printf problem
- Cc: nate@skinner.cs.uoregon.edu,
sage-bugs@cica.cica.indiana.edu (Sage++ Bugs Mailinglist)
Bernd wrote:
>and here is the part of temp.C:
>
> 30 int pcxx_printf17(char *pCar_0, pCar_1){
> 31 if ((pcxx_NodeNumber() == 0) || pcxx_inpar)
> 32 {
> 33 printf(pCar_0, pCar_1);
> 34 }
> 35 return 1;
> 36 }
Hmm, when I tried this for the following input:
Processor_Main(){
unsigned int i;
printf ("i = %d\n", i);
}
I at least got this much:
int pcxx_printf1(char *pCar_0, int pCar_1){
if ((pcxx_NodeNumber() == 0) || pcxx_inpar)
{
printf(pCar_0, pCar_1);
}
return 1;
Notice the "int" in front of pCar_1. If you did not, that means there
is something funny going on that I do not understand.
Could you send me the input that goes with that temp.C?
Anyway, I've made a small change to a function called
"makereducedType" (which, for some reason, is in sgCallGraph.C, but
it looks like it is only used in dep2C++) that should keep specifiers
such as long, short, unsigned, and signed in the type of a parameter.
I have CVSed that change although I am far from being sure that this
will not break anything. Could you please give it a try and see if it
fixes your problem (it is not obvious to me that it will, because
what you get and what I get seem to differ).
Also, if something breaks please let me know ASAP and I'll remove the
change.
--Beata