I'm getting the following errors at compile time in Cygwin using gcc, but I'm not sure what they mean. My program runs without problems. Do I need to change the names of these operations? I'm afraid to tweak anything since it's working.

42: Warning: translating to `fmulp'
53: Warning: translating to `faddp'
60: Warning: translating to `fmulp'


Here is a snippet that contains these lines:

"		fstpl			%0			\n"
"		movl			$1,%%eax	                                \n"
"positive:							                \n"
"//compute lg(n)					                                \n"
"		fldl			%1			\n"
"		fld1						\n"
"		fldl			%0			\n"
"		fyl2x						\n"
"		fmul						\n"
"//2^x=2^int(x)*2^frac(x)			                                                \n"
"		fld			%%st(0)			\n"
"		fld			%%st(0)			\n"
"//compute integer portion			                                                \n"
"		frndint						\n"
"		fxch						\n"
"//compute fractional portion		                                                                \n"
"		fsub		%%st(1),%%st(0)	                                \n"
"		f2xm1						\n"
"		fld1						\n"

Solution: I added p to the end of fmul and fadd in my code and the warnings went away. I guess the program wanted to pop the stack. I'm not sure of the details, but there you go.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.