gcc 4.5 enables -fshow-column by default, which breaks the regular expressions in /usr/lib64/portage/bin/check-implicit-pointer-usage.py
Replacing each "(\d+):" with "(\d+):(?:\d+:)?" seems to fix it and should still work with the old style messages, although I haven't done very much testing.
I've noticed this same issue with gcc-4.8. The relevant lines from the net-misc/openssh-6.7_p1-r3 build log with USE=X509 looked like this:
ssh-rsa.c: In function ‘ssh_rsa_sign’:
ssh-rsa.c:121:6: warning: assignment makes pointer from integer without a cast [enabled by default]
sig = xmalloc(slen); /*fatal on error*/
It caused sshd to crash, as noted in the ChangeLog:
27 Feb 2015; Patrick McLean <email@example.com>
Add patch to fix crasher bug triggered on hardened x86_64 machines with
USE=X509 and ancient clients.
(In reply to William Throwe from comment #0)
> Replacing each "(\d+):" with "(\d+):(?:\d+:)?" seems to fix it and should
> still work with the old style messages, although I haven't done very much
That appears to be a correct fix for the -fshow-column default.
However, I tested this with my build log from openssh-6.7_p1-r3 (see comment #1), and check-implicit-pointer-usage.py doesn't identify that warning as a problem because there's no "implicit declaration" message in the log. The log only contains a "makes pointer from integer" warning. So, I wonder if we should do something to remedy this.
Is this bug still relevant / is the check still broken?