Make win32_io only for MSVC

This excludes cygwin and mingw from using the self implemented
functions.
pull/3485/head
Jisi Liu 7 years ago
parent 7afa796bb9
commit 564f02c91e
  1. 2
      src/google/protobuf/compiler/command_line_interface.cc
  2. 2
      src/google/protobuf/compiler/command_line_interface_unittest.cc
  3. 3
      src/google/protobuf/compiler/importer.cc
  4. 2
      src/google/protobuf/compiler/objectivec/objectivec_helpers.cc
  5. 2
      src/google/protobuf/compiler/plugin.cc
  6. 3
      src/google/protobuf/io/zero_copy_stream_impl.cc
  7. 3
      src/google/protobuf/io/zero_copy_stream_unittest.cc
  8. 2
      src/google/protobuf/message_unittest.cc
  9. 6
      src/google/protobuf/stubs/io_win32.cc
  10. 4
      src/google/protobuf/stubs/io_win32.h
  11. 3
      src/google/protobuf/testing/file.cc
  12. 2
      src/google/protobuf/testing/googletest.cc

@ -108,7 +108,7 @@ namespace compiler {
#endif
namespace {
#if defined(_WIN32) && !defined(__CYGWIN__)
#if defined(_MSC_VER)
// DO NOT include <io.h>, instead create functions in io_win32.{h,cc} and import
// them like we do below.
using google::protobuf::internal::win32::access;

@ -69,7 +69,7 @@ namespace google {
namespace protobuf {
namespace compiler {
#if defined(_WIN32)
#if defined(_MSC_VER)
// DO NOT include <io.h>, instead create functions in io_win32.{h,cc} and import
// them like we do below.
using google::protobuf::internal::win32::access;

@ -59,6 +59,9 @@
#ifdef _WIN32
#include <ctype.h>
#endif
#ifdef _MSC_VER
// DO NOT include <io.h>, instead create functions in io_win32.{h,cc} and import
// them like we do below.
using google::protobuf::internal::win32::access;

@ -50,7 +50,7 @@
#include <google/protobuf/stubs/io_win32.h>
#include <google/protobuf/stubs/strutil.h>
#if defined(_WIN32)
#if defined(_MSC_VER)
// DO NOT include <io.h>, instead create functions in io_win32.{h,cc} and import
// them like we do below.
using google::protobuf::internal::win32::open;

@ -49,7 +49,7 @@
#include <google/protobuf/descriptor.h>
#include <google/protobuf/io/zero_copy_stream_impl.h>
#if defined(_WIN32)
#if defined(_MSC_VER)
// DO NOT include <io.h>, instead create functions in io_win32.{h,cc} and import
// them like we do below.
using google::protobuf::internal::win32::setmode;

@ -56,6 +56,9 @@ namespace io {
// Win32 lseek is broken: If invoked on a non-seekable file descriptor, its
// return value is undefined. We re-define it to always produce an error.
#define lseek(fd, offset, origin) ((off_t)-1)
#endif
#ifdef _MSC_VER
// DO NOT include <io.h>, instead create functions in io_win32.{h,cc} and import
// them like we do below.
using google::protobuf::internal::win32::access;

@ -83,6 +83,9 @@ namespace {
#ifdef _WIN32
#define pipe(fds) _pipe(fds, 4096, O_BINARY)
#endif
#ifdef _MSC_VER
// DO NOT include <io.h>, instead create functions in io_win32.{h,cc} and import
// them like we do below.
using google::protobuf::internal::win32::access;

@ -63,7 +63,7 @@
namespace google {
namespace protobuf {
#if defined(_WIN32)
#if defined(_MSC_VER)
// DO NOT include <io.h>, instead create functions in io_win32.{h,cc} and import
// them like we do below.
using google::protobuf::internal::win32::close;

@ -39,15 +39,13 @@
//
// This file is only used on Windows, it's empty on other platforms.
#if defined(_WIN32)
#if defined(_MSC_VER)
// Comment this out to fall back to using the ANSI versions (open, mkdir, ...)
// instead of the Unicode ones (_wopen, _wmkdir, ...). Doing so can be useful to
// debug failing tests if that's caused by the long path support.
// Long path support is disabled in MinGW
#ifndef __MINGW32__
#define SUPPORT_LONGPATHS
#endif // !__MINGW32__
#include <ctype.h>
#include <direct.h>
@ -361,5 +359,5 @@ wstring testonly_path_to_winpath(const string& path) {
} // namespace protobuf
} // namespace google
#endif // defined(_WIN32)
#endif // defined(_MSC_VER)

@ -45,7 +45,7 @@
#ifndef GOOGLE_PROTOBUF_STUBS_IO_WIN32_H__
#define GOOGLE_PROTOBUF_STUBS_IO_WIN32_H__
#if defined(_WIN32)
#if defined(_MSC_VER)
#include <string>
#include <google/protobuf/stubs/port.h>
@ -91,7 +91,7 @@ LIBPROTOBUF_EXPORT std::wstring testonly_path_to_winpath(
#define STDOUT_FILENO 1
#endif
#endif // defined(_WIN32)
#endif // defined(_MSC_VER)
#endif // GOOGLE_PROTOBUF_STUBS_IO_WIN32_H__

@ -55,6 +55,9 @@ namespace protobuf {
#define lstat stat
// DO NOT include <io.h>, instead create functions in io_win32.{h,cc} and import
// them like we do below.
#endif
#ifdef _MSC_VER
using google::protobuf::internal::win32::access;
using google::protobuf::internal::win32::chdir;
using google::protobuf::internal::win32::fopen;

@ -52,7 +52,7 @@
namespace google {
namespace protobuf {
#ifdef _WIN32
#ifdef _MSC_VER
// DO NOT include <io.h>, instead create functions in io_win32.{h,cc} and import
// them like we do below.
using google::protobuf::internal::win32::close;

Loading…
Cancel
Save