# New Ticket Created by Paul Cochrane # Please include the string: [perl #45359] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=45359 >
In the coding standards PDD (pdd07) there is the todo item: {{ TODO: Enumerate all other non-C89 assumptions that Parrot depends on. }} For context, the rest of the section where this appears reads: C code must generally depend on only those language and library features specified by the ISO C89 standard. In addition, C code may assume that any pointer value can be coerced to an integral type (no smaller than typedef C<INTVAL> in Parrot), then back to its original type, without loss. Also C code may assume that there is a single NULL pointer representation and that it consists of a number, usually 4 or 8, of '\0' chars in memory. C code that makes assumptions beyond these must depend on the configuration system, either to not compile an entire non-portable source where it will not work, or to provide an appropriate #ifdef macro. Ok, so the question is: what other assumptions does/should the Parrot C-language source rely on which are C89 nonstandard?