So if you have been coding C++ for a long time, you see people discover bugs in g++ every now and then, for example: this, that, here and there.
In this comment regarding IOI, andreyv said "On IOI they will most likely use the Linux distribution's default GCC, which was tested to build the numerous distribution's packages" and we should not worry about it.
But g++ is also widely used in ACM regionals, which is setup by some hosting university.
So, I have few questions:
- Is there any way that we can avoid compiler issues when writing code? e.g. Avoid some specific/strange coding pattern? Pray to god?
- How likely do you think that this can actually happen in a contest and affect someone?
- Do you know / have been involved in preparing ACM contests & know if people carefully select compiler version?
The fourth thread you linked to wasn't a compiler bug.
Honestly, there are enough other, more important things to worry about when preparing for a contest. Just ignore this one and pretend that it doesn't happen. You'll be fine.
About 1. One option is not to use -O2 on online judges, but use -O1 or -O0. Also it reduces gap between performance of C++ and Java.
Here's one thing you should hope doesn't happen and has better chances of happening than hitting a compiler bug: your computer shuts down in the middle of the contest (possible bonus: all unsubmitted code, lost forever). I think something similar happened to someone during last CERC.