search for: prodcyc

Displaying 4 results from an estimated 4 matches for "prodcyc".

2011 Apr 06
2
[LLVMdev] Incompatible types at call site
Hi Arushi, > I got this from C code compiled by llvm-gcc. > > There is a consistent prototype for the function > > TypHandle Cyclotomic ( hdRes, n, m ) > TypHandle hdRes; > long n, m; > > the call looks as follows, > hdI = ProdCyc( hdI, Cyclotomic( HdResult, n, 1 ) ); I bet the call occurs before the function is defined. In this case C treats the callee as being a varargs function (...) of the kind you see in your IR. Ciao, Duncan. > > which is basically > > Cyclotomic( HdResult, n, 1 ); > > The problem...
2011 Apr 06
0
[LLVMdev] Incompatible types at call site
...m C code compiled by llvm-gcc. >> >> There is a consistent prototype for the function >> >> TypHandle Cyclotomic ( hdRes, n, m ) >> TypHandle hdRes; >> long n, m; >> >> the call looks as follows, >> hdI = ProdCyc( hdI, Cyclotomic( HdResult, n, 1 ) ); >> > > I bet the call occurs before the function is defined. In this case C > treats > the callee as being a varargs function (...) of the kind you see in your > IR. > Unfortunately that is't true either :( Also, the calls which d...
2011 Apr 06
0
[LLVMdev] Incompatible types at call site
...rtran with dragonegg, right? What was the original code? > I got this from C code compiled by llvm-gcc. There is a consistent prototype for the function TypHandle Cyclotomic ( hdRes, n, m ) TypHandle hdRes; long n, m; the call looks as follows, hdI = ProdCyc( hdI, Cyclotomic( HdResult, n, 1 ) ); which is basically Cyclotomic( HdResult, n, 1 ); The problem is the fact that it interprets 1 as an int32 instead of an int64. And later converts it by assuming an unsigned to unsigned cast. Arushi -------------- next part -------------- An HTML attachment...
2011 Apr 06
3
[LLVMdev] Incompatible types at call site
Hi Arushi, > When it asks for the castOpcode, it assumes both types are unsigned(indicated by > the false arguments). > > Is it correct to assume this? yes, because the behaviour of the original code was undefined. Ciao, Duncan. PS: This is the sort of thing that happens when a function is declared with a prototype such as void *Cyclotomic(void *, long, int) but the function