[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: changing "configure" to default to "gcc -g -O2 -fwrapv ..."
From: |
Gabriel Dos Reis |
Subject: |
Re: changing "configure" to default to "gcc -g -O2 -fwrapv ..." |
Date: |
29 Dec 2006 19:00:40 +0100 |
Andrew Pinski <address@hidden> writes:
| >
| > | > If the above is the only without Autoconf change, I would highly
| > | > recommend Autoconf change if GCC optimizers highly value benchmarks
| > | > over running real world code.
| > |
| > | Which one, mine or Paul's?
| >
| > If what you propose is the only way out, and there is no way to make
| > GCC optimizers reasonable, then I believe Paul's proposal is the next
| > option.
|
| But that still does not address the issue is that this is not just about
| GCC any more since autoconf can be used many different compilers and is right
| now.
The Autoconf change, as I see it, is to active switches when enough
recent version of GCC is detected as I understand it is the primary
compiler at issue.
| So if you change autoconf to default to -fwrapv and someone comes alongs
| and tries to use it with say ACC (some made up compiler right now). The loop
| goes into an infinite loop because they treat (like GCC did) signed type
overflow
| as undefined, autoconf still becomes an issue.
|
| If you want to make the code more readable and maintainable, you can use
macros like:
CPP hackery seldom repairs a fundamentally problematic construct.
|
| MAX_USING_TYPE(type, othertype, max) \
| { \
| ... \
| max = (othertype) _real_max; \
| }
|
|
| MAX_TYPE(type, max) \
| { \
| if (sizeof(type)==sizeof(unsigned int))\
| MAX_USING_TYPE(unsigned int, type, max);
| else if (..... \
| else \
| {
| printf("Need another integeral type sized, %d\n", sizeof(type)); \
| abort (); \
| } \
| }
|
|
| Yes people think macros can be less reabable, but this one case actually makes
| it readable.
I dispute it is readable. More fundamentally, I don't see how that
magically becomes more portable, and maintainable. The set of
built-in integer types is NOT given by a closed list. I posit that
any solution based on sizeof hackery is fundamentally non-portable and
broken.
-- Gaby
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", (continued)
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Paul Eggert, 2006/12/21
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Russ Allbery, 2006/12/21
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Paul Eggert, 2006/12/29
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Ian Lance Taylor, 2006/12/29
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Andrew Pinski, 2006/12/29
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Gabriel Dos Reis, 2006/12/29
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Andrew Pinski, 2006/12/29
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Gabriel Dos Reis, 2006/12/29
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Thomas Neumann, 2006/12/29
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Andrew Pinski, 2006/12/29
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...",
Gabriel Dos Reis <=
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Florian Weimer, 2006/12/29
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Daniel Jacobowitz, 2006/12/29
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Richard Guenther, 2006/12/29
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Paul Eggert, 2006/12/29
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Richard Kenner, 2006/12/30
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Paul Eggert, 2006/12/29
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Richard Kenner, 2006/12/30
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Bernd Schmidt, 2006/12/30
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Daniel Berlin, 2006/12/29
- Re: changing "configure" to default to "gcc -g -O2 -fwrapv ...", Daniel Berlin, 2006/12/29