Mail Archives: djgpp-workers/2003/02/10/07:48:05
Hello.
Charles Sandmann wrote:
[snip]
> It seems that at least gcc 2.8.1 builds current cvs libc OK.
>
> gcc 2.7.2.1 has some problems (does surprisingly well)
> but this is expected with a 7 year old compiler. In particular, some
> of the new headers cause errors.
Thanks for testing this out.
> e.g.
> ../../../../include/libc/fsexthlp.h:32: warning: inline declaration ignored
> for function with `...' (do we really need inline?)
We could leave it to the compiler to inline it, as it sees fit.
<libc/fd_props.h> has a bunch of inline functions, which are defined as inline
using "__inline__" rather than "inline", so perhaps <libc/fsexthlp.h> should
use "__inline__" too.
> ../../../../include/stdint.h:27: parse error before `__extension__'
> ../../../../include/stdint.h:37: parse error before `__extension__'
"__extension__" is just a way of ignoring errors when -pedantic is used.
I don't know why we use "__extension__" in <stdint.h>. gcc supports long long,
so we have to provide *int64_*t. See C99, section 7.18.1.1: "Exact-width
integer types", which is about *int<n>_*t:
"These types are optional. However, if an implementation provides integer
types with widths of 8, 16, 32, or 64 bits, it shall define the corresponding
typedef names."
I suppose gcc 2.7.2.2 may support 64-bit integers. It's been so long since I
used that version, that I can't remember. ;) If it does support 64-bit
integers, then we can remove "__extension__".
Bye, Rich =]
--
Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ]
- Raw text -