Thread (8 messages) flat view 8 messages, 5 authors, 2016-06-15

Re: [PATCH] Makefile: update the default build options for AIX

From: Mike Ralphson <hidden>
Date: 2016-06-15 22:44:34

Possibly related (same subject, not in this thread)

2008/5/7 Junio C Hamano [off-list ref]:
Brandon Casey [off-list ref] writes:

 > Mike Ralphson wrote:
 >> 2008/5/7 Brandon Casey [off-list ref]:
 >>> Johannes Sixt wrote:
 >>>  > The #define fopen in git-compat-util.h essentially defeats the effect of
 >>>  > _LARGE_FILES as far as fopen() calls are concerned: If
 >>>  > FREAD_READS_DIRECTORIES is not defined, fopen() would be redirected to
 >>>  > fopen64(), but when it is defined, it is redirected to git_fopen(), which
 >>>  > in turn uses fopen() instead of fopen64() (due to the #undef in
 >>>  > compat/fopen.c).
 >>>  >
 >>>
 >>>  How about something like this?
 >>>
 >>>  diff --git a/compat/fopen.c b/compat/fopen.c
 >>>  index ccb9e89..70b0d4d 100644
 >>>  --- a/compat/fopen.c
 >>>  +++ b/compat/fopen.c
 >>>  @@ -1,5 +1,5 @@
 >>>  +#undef FREAD_READS_DIRECTORIES
 >>>   #include "../git-compat-util.h"
 >>>  -#undef fopen
 >>>   FILE *git_fopen(const char *path, const char *mode)
 >>>   {
 >>>         FILE *fp;
 >>>
 >>>
 >>>  -brandon
 >>>
 >>
 >> Ta. I still get all the warnings with that, was that what you were
 >> trying to solve? The 64 bit specific tests in t5302 do still pass.
 >
 > Ah, yes. You would still get the warnings for every other file that
 > includes git-compat-util.h, except compat/fopen.c. I didn't think
 > about all of those. :) In this case those are indeed harmless. And now
 > the git provided git_fopen() will use the compiler selected fopen()
 > which should avoid any of the gotchas that Hannes brought up.

 In any case, that #undef then #include dance needs a big comment on why it
 has to be so.
Indeed. Please add ascii-art diagrams and don't use long words. I may
then have a chance of understanding how this works, and how I should
have spotted 5 potentially non-harmless warnings among 400 noise ones,
when all I did was get the testsuite from non-passing to passing! 8-)

In reality, thanks to all for pitching in.

Mike
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help