From: Johan K. <joh...@id...> - 2003-03-16 18:29:05
|
Yes, I once again have to leave this challenging project for a while. It took too much of my time lately but it didn't paid the bills. From now on I need more focus on jobs that does (I'm a freelance programmer, even for windoze if it paysoff, so if you need one ;-). The major points that I see now: If a loop conditionally escapes by a break, goto, jumptable or return: this block isn't considered part of the loop. More precise: it's block has as it's only successor the escape and if that escape is outside of the loop it can no more find it's predecessors inside the loop. That's the liverange problem. The difference of code build on different platform is mainly caused by the order in which f1 and f2 are called as inf f3(f1(), f2()). That shouldn't be a problem, if it didn't mess up the liverange. The const- and volatile-ness of a declarator is somewhat messy, e.g. you cannot write using a pointer in code space. Mainly because DCL_PTR_CONST is often interpreted as a pointer-to-constant instead of a constant-pointer, and that everything in code is considered constant, even a deref of a pointer in code. Bye for now, Johan |