This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: changing "configure" to default to "gcc -g -O2 -fwrapv ..."
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: espie at quatramaran dot ens dot fr (Marc Espie)
- Cc: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner), gcc at gcc dot gnu dot org, richard dot guenther at gmail dot com
- Date: Fri, 29 Dec 2006 19:40:52 -0500 (EST)
- Subject: Re: changing "configure" to default to "gcc -g -O2 -fwrapv ..."
>
> C has been a portable assembler for years before it got normalized and
> optimizing compilers took over.
18 years. And now it has been 17 years since C has been standardized so
you can say C has been standardized now for half its life. 18 years is a
long time when it comes to computers. I know one problem is that most
people who learn C don't learn about the undefined behaviors until they hit
it. Sequence points is another case in point to the problems of how people
learn C (or C++ for that matter). We actually have 57 reports of the
sequence point issue in bugzilla. 110 aliasing bug reports. and only 12
overflow issues.
Of those 12 overflow issues, 9 of them are reported against 4.1 and above
introduced by the VRP pass.
2 are reported because of the folding of (a*C)/C into a (where C is a constant).
1 is about causing a floating point exception (or divide by 0 exception) when dividing
INT_MIN by -1 on x86.
So we maybe we should also be talking more about sequence point issue, where it
is unspecified (though in some cases it turns into being undefined because 2 "stores"
to the same variable). That gets more bug reports than even signed overflow and sometimes
just as hard to spot as signed overflow (I can give examples where we get way different
code output if we did not have sequence points).
> There are still some major parts of the
> network stack where you don't want to look, and that defy
> -fstrict-aliasing....
Actually IIRC freebsd and netbsd has already corrected all of the aliasing issues
in the BSD network stack. In fact I remember helping one place that was exposed
in the last 4 years.
Thanks,
Andrew Pinski