CIL sometimes unrolls the type in a cast. This seems to be somewhat inconsistent, though, and keeping the typedefs seems slightly preferable, I think.

For example, given this program:

typedef int myint;
int main() {
        long l = 0;
        myint a = l;
        return a;
}

CIL will cast l to myint at the assignment to a. However, if this cast is present in the source (for example, if you run the output through CIL a second time), the cast to myint gets changed to a cast to int.

The attached patch keeps the typedefed type in casts, rather than unrolling to the underlying type.

Elnatan

Attachment: keep_typedef_in_cast.patch
Description: Binary data

------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
February 28th, so secure your free ArcSight Logger TODAY! 
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
CIL-users mailing list
CIL-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cil-users

Reply via email to