When trying to compile polarssl-1.1.1 I get:
polarssl-1.1.1/include/polarssl/bignum.h:106: Error: GCC width mode TI applied to unexpected type, or unexpected mode
The line in question is
typedef unsigned int t_udbl __attribute__((mode(TI)));
A similar bug has been filed against Frama-C:
http://bts.frama-c.com/view.php?id=261
I acknowledge the issue but I have no idea how to fix it, sorry.
As far as I understand, CIL looks for an integer type matching the required length and fails to find one. We could either try and preserve these attributes, but it would require extensive changes to handle them in sizeof-related code, or change the semantics (using a larger integer whenever possible), which is not satisfactory either.
Do not hesitate to reopen the bug if you come up with a fix.
Is the use of this attribute distinguishable from using a special (very wide) primitive integer type? If not, why not define a new ikind?