[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Bug report: Compile with Microsoft and Intel compiler
From: |
Jerker Bäck |
Subject: |
RE: Bug report: Compile with Microsoft and Intel compiler |
Date: |
Wed, 27 Apr 2005 01:05:12 +0200 |
Hello Eli,
First quick answer:
> > Missing header:
> > #include <direct.h> (for chdir)
> > place in make.h (ie line 364)
>
> Is <direct.h> the only header where chdir's prototype is declared?
> doesn't that compiler have it in unistd.h as well? The
> latter is where chdir's prototype lives on Posix platforms,
> so if we could use the same with the MS compiler, it'd be better.
>
> If using <direct.h> is the only way, then it will have to be
> conditioned on some MS-specific symbol, since this is a
> non-standard header which other compilers don't have.
>
1) There is no unistd.h anywhere
2) direct.h defines to following:
---------------------------------------
int __cdecl _chdir(const char *);
char * __cdecl _getcwd(char *, int);
int __cdecl _mkdir(const char *);
int __cdecl _rmdir(const char *);
int __cdecl _chdrive(int);
char * __cdecl _getdcwd(int, char *, int);
int __cdecl _getdrive(void);
unsigned long __cdecl _getdrives(void);
unsigned __cdecl _getdiskfree(unsigned, struct _diskfree_t *);
---------------------------------------
And there is this:
#if !__STDC__
/* Non-ANSI names for compatibility */
int __cdecl chdir(const char *);
char * __cdecl getcwd(char *, int);
int __cdecl mkdir(const char *);
int __cdecl rmdir(const char *);
#define diskfree_t _diskfree_t
#endif /* __STDC__ */
Note: Do you see now the effect of _MSC_EXTENSIONS visavi __STDC__? If I had
disabled the extensions and got __STDC__ defined to true, the compiler would
never had found the right prototypes for chdir et al (maybe using local
prototypes instead). Hopefully this would have been catched at link time,
otherwise a local replacement would have been used.
I will read on...
Jerker
- Bug report: Compile with Microsoft and Intel compiler, Jerker Bäck, 2005/04/26
- Bug report: Compile with Microsoft and Intel compiler, Jerker Bäck, 2005/04/26
- Re: Bug report: Compile with Microsoft and Intel compiler, Eli Zaretskii, 2005/04/26
- RE: Bug report: Compile with Microsoft and Intel compiler,
Jerker Bäck <=
- Re: Bug report: Compile with Microsoft and Intel compiler, Eli Zaretskii, 2005/04/27
- RE: Bug report: Compile with Microsoft and Intel compiler, Jerker Bäck, 2005/04/28
- Re: Bug report: Compile with Microsoft and Intel compiler, Eli Zaretskii, 2005/04/27
- RE: Bug report: Compile with Microsoft and Intel compiler, Jerker Bäck, 2005/04/27
- Re: Bug report: Compile with Microsoft and Intel compiler, Alessandro Vesely, 2005/04/28
- RE: Bug report: Compile with Microsoft and Intel compiler, Jerker Bäck, 2005/04/27
- Re: Bug report: Compile with Microsoft and Intel compiler, Eli Zaretskii, 2005/04/27
- w32 unistd.h (was Re: Bug report: Compile with Microsoft and Intel compiler, Alessandro Vesely, 2005/04/28
- Re: w32 unistd.h, Eli Zaretskii, 2005/04/28
- Re: w32 unistd.h, Alessandro Vesely, 2005/04/29