Move Parrot to C99 (subset)

Andrew Whitworth wknight8111 at gmail.com
Thu Dec 30 13:53:58 UTC 2010


On Thu, Dec 30, 2010 at 7:00 AM, Lucian Branescu
<lucian.branescu at gmail.com> wrote:
> Is MSVC support that important? I know other projects just gave up on
> it to save themselves the trouble.

I am going to say yes. We've spent a lot of time being compatible with
MSVC, and I don't find a compelling reason in the rest of the C99
standard to make the switch and break that compatibility. We might be
having a different conversation if MSVC didn't support snprintf and
long long. Actually, the 64-bit build on Parrot on 64-bit MSVC
*requires* the use of long long.

I can prove very quickly that Parrot segfaults and/or dumps core
trying to use Parrot_secret_snprintf on platforms that don't have
snprintf, and we haven't seen a lot of those bug reports. This
suggests to me one of two possible outcomes: Either we never use the
limiting behaviors of snprintf, or we don't have anybody building on
platforms without snprintf. In the first case we don't need to use
snprintf anywhere (sprintf is fine), and we don't need
Parrot_secret_snprinft. In the later case, we can use snprintf freely
and we still don't need Parrot_secret_snprintf. Either way, there is
win to be had.



--Andrew Whitworth


More information about the parrot-dev mailing list