Displaying 2 results from an estimated 2 matches for "funcptr_t".
2010 Apr 12
5
[LLVMdev] Why function pointer is different from other data type?
Dear all,
I compiled c program with llvm and found something strange with
function pointer as following small example .
------------- In C Code --------------
float a (int value) {
return value + 1;
};
typedef float (*funcptr_t) (int);
funcptr_t get_ptr(funcptr_t p) {
return p;
}
float result = get_ptr(a)(4);
------------- In LLVM Code --------------
%4 = call float (i32)* (float (i32)*)* @get_ptr(float (i32)* @a1)
nounwind ; <float (i32)*> [#uses=1]
~~~~~~~~~~~~~~~~~~~~ VERY STRANGE RETURN TY...
2010 Apr 12
0
[LLVMdev] Why function pointer is different from other data type?
Hao Shen wrote:
> Dear all,
>
> I compiled c program with llvm and found something strange with
> function pointer as following small example .
>
> ------------- In C Code --------------
> float a (int value) {
> return value + 1;
> };
>
> typedef float (*funcptr_t) (int);
>
> funcptr_t get_ptr(funcptr_t p) {
> return p;
> }
>
> float result = get_ptr(a)(4);
>
> ------------- In LLVM Code --------------
>
> %4 = call float (i32)* (float (i32)*)* @get_ptr(float (i32)* @a1)
> nounwind ;<float (i32)*> [#uses=1]
>...