gdb/ctf.c: Get rid of mkdir redefinition
Making GDB use gnulib's C++ namespace support shows this build error on mingw: ../../src/gdb/ctf.c: In function 'void ctf_start(trace_file_writer*, const char*)': ../../src/gdb/ctf.c:309:46: error: no match for call to '(const gnulib::_gl_mkdir_wrapper) (const char*&)' #define mkdir(pathname, mode) mkdir (pathname) ^ ../../src/gdb/ctf.c:327:15: note: in expansion of macro 'mkdir' if (gnulib::mkdir (dirname, hmode) && errno != EEXIST) ^ ../../src/gdb/ctf.c:309:46: note: candidate: gnulib::_gl_mkdir_wrapper::type {aka int (*)(const char*, short unsigned int)} <conversion> #define mkdir(pathname, mode) mkdir (pathname) ^ ../../src/gdb/ctf.c:327:15: note: in expansion of macro 'mkdir' if (gnulib::mkdir (dirname, hmode) && errno != EEXIST) ^ ../../src/gdb/ctf.c:309:46: note: candidate expects 3 arguments, 2 provided #define mkdir(pathname, mode) mkdir (pathname) ^ ../../src/gdb/ctf.c:327:15: note: in expansion of macro 'mkdir' if (gnulib::mkdir (dirname, hmode) && errno != EEXIST) ^ The problem is the '#define mkdir ...' Fortunately, we can just remove it, since gnulib's sys/stat.h replacement already takes care of the Windows mkdir prototype quirk: ~~~ /* mingw's _mkdir() function has 1 argument, but we pass 2 arguments. Additionally, it declares _mkdir (and depending on compile flags, an alias mkdir), only in the nonstandard includes <direct.h> and <io.h>, which are included above. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # if !GNULIB_defined_rpl_mkdir static int rpl_mkdir (char const *name, mode_t mode) { return _mkdir (name); } ~~~ That's sys_stat.in.h, part of the sys_stat module, which we explictly pull in nowadays. It wasn't being pulled when this macro was added: https://sourceware.org/ml/gdb-patches/2013-03/msg00736.html That patch was partially reverted meanwhile here: https://sourceware.org/ml/gdb-patches/2013-12/msg00023.html But the mkdir macro had been left behind unnoticed. gdb/ChangeLog: 2016-11-17 Pedro Alves <palves@redhat.com> * ctf.c [USE_WIN32API] (mkdir): Delete.
This commit is contained in:
parent
200069c74f
commit
7c2683c40f
@ -1,3 +1,7 @@
|
||||
2016-11-17 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* ctf.c [USE_WIN32API] (mkdir): Delete.
|
||||
|
||||
2016-11-16 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* ada-lang.c (ada_value_primitive_packed_val): Use unique_ptr and
|
||||
|
@ -304,11 +304,6 @@ ctf_target_save (struct trace_file_writer *self,
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef USE_WIN32API
|
||||
#undef mkdir
|
||||
#define mkdir(pathname, mode) mkdir (pathname)
|
||||
#endif
|
||||
|
||||
/* This is the implementation of trace_file_write_ops method
|
||||
start. It creates the directory DIRNAME, metadata and datastream
|
||||
in the directory. */
|
||||
|
Loading…
Reference in New Issue
Block a user