Force inline without -O2

isuru herath isuru81@yahoo.com
Tue Dec 22 17:55:00 GMT 2009


Dear All,
I am writing a C code with inline method.

static inline unsigned int READ()
{
	unsigned long data;
	asm volatile ("movl %%eax, %0" : "=g" (data) :  );
	return (unsigned int) data;
}

I dont want to this appear as a method call in the executable. I want to
make in inlined to the code. I tried different methods.

1. I compiled with -finline-functions. Still it apears as a method call in 
the assembly generated.

2. Used the attribute __attribute__((always_inline));. Still it appears as 
a method call. 

But when I compiled with -O2 it doesnot make it a method call. But for my 
current work I cannot have optimizations enabled. Therefore I am looking 
for a way to inline this function in the assembly generated. I am not sure 
I can achieve this behavior with macros since I need to return data from 
it.

Any help/ advice on this regard is greatly appreciated.

sincerely,
Isuru


      



More information about the Gcc-help mailing list