I can confirm this. The gcc variant of float.h should have an #include_next <float.h> (and ours shouldn't try to do this). I think this an issue to be solved in 4.5. Btw I assume that mingw32 has the same problem, or am I wrong by this assumption?
Cheers,
Kai
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
> Btw I assume that mingw32 has the same problem, or am I wrong by this assumption?
The "unofficial" combination of gcc-4.3 with mingw.org's runtime does have this problem.
The "official" mingw.org's distribution with gcc-3.x does not (assuming that my recollections are correct)
> The gcc variant of float.h should have an #include_next <float.h> (and ours shouldn't try to do this)
What about patching GCC's float.h ?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
So I prepared an update for our float.h file. As I found is float.h in gcc not able to handle conditional #include_next. So I put the ISO/gcc extension defines into our float.h.
Could you verify, if this adjusted header files works?
I'll commit it to our repository, if we verified that it solves this issue.
Thanks in advance,
Kai
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Too be more clear here what happens in gcc. fixinclude verifies target float.h file for existing of some macro definitions. If they aren't present it uses the version of float.h from gcc/ginclude.
If those defines are present, it doesn't put it under lib/gcc/4.4.0/include.
So when testing, please make sure that this directory doesn't contains float.h!
Cheers,
Kai
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
One thing: shouldn't the declaration of fpreset() be guarded with old-names ?
P.S. is #ifndef __STRICT_ANSI__ appropriate
around the declarations of MS FP functions ?
(Not really arguing, just asking.
Frankly I never understood how __STRICT_ANSI__ is used in MinGW)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
the fpreset is declared in crt_FP8.c (IIRC) as weak, so it is present in any case here. From fundamental point of view, you're right. Possibly something we should cleanup in future.
Cheers,
Kai
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I can confirm this. The gcc variant of float.h should have an #include_next <float.h> (and ours shouldn't try to do this). I think this an issue to be solved in 4.5. Btw I assume that mingw32 has the same problem, or am I wrong by this assumption?
Cheers,
Kai
> Btw I assume that mingw32 has the same problem, or am I wrong by this assumption?
The "unofficial" combination of gcc-4.3 with mingw.org's runtime does have this problem.
The "official" mingw.org's distribution with gcc-3.x does not (assuming that my recollections are correct)
> The gcc variant of float.h should have an #include_next <float.h> (and ours shouldn't try to do this)
What about patching GCC's float.h ?
Yes, patching gcc is ok, but first at Stage 1 again. In gcc 4.5 I will do that
So I prepared an update for our float.h file. As I found is float.h in gcc not able to handle conditional #include_next. So I put the ISO/gcc extension defines into our float.h.
Could you verify, if this adjusted header files works?
I'll commit it to our repository, if we verified that it solves this issue.
Thanks in advance,
Kai
Too be more clear here what happens in gcc. fixinclude verifies target float.h file for existing of some macro definitions. If they aren't present it uses the version of float.h from gcc/ginclude.
If those defines are present, it doesn't put it under lib/gcc/4.4.0/include.
So when testing, please make sure that this directory doesn't contains float.h!
Cheers,
Kai
The new float.h works fine for me.
One thing: shouldn't the declaration of fpreset() be guarded with old-names ?
P.S. is #ifndef __STRICT_ANSI__ appropriate
around the declarations of MS FP functions ?
(Not really arguing, just asking.
Frankly I never understood how __STRICT_ANSI__ is used in MinGW)
Ok, do you want to appy it?
the fpreset is declared in crt_FP8.c (IIRC) as weak, so it is present in any case here. From fundamental point of view, you're right. Possibly something we should cleanup in future.
Cheers,
Kai
Ok, I applied it already. See revision 706.
Thanks,
Kai