Do not use HAVE_DOS_BASED_FILE_SYSTEM for Cygwin.

PR gcov-profile/94570
	* ltmain.sh: Do not define HAVE_DOS_BASED_FILE_SYSTEM
	for CYGWIN.

	PR gcov-profile/94570
	* coverage.c (coverage_init): Use separator properly.

	PR gcov-profile/94570
	* filenames.h (defined): Do not define HAVE_DOS_BASED_FILE_SYSTEM
	for CYGWIN.

Co-Authored-By: Jonathan Yong <10walls@gmail.com>
This commit is contained in:
Martin Liska 2020-04-17 09:22:51 +02:00
parent 61b58e7fa5
commit e9f799d259
No known key found for this signature in database
GPG Key ID: 4DC182DC0FA73785
6 changed files with 30 additions and 9 deletions

View File

@ -1,3 +1,10 @@
2020-04-17 Martin Liska <mliska@suse.cz>
Jonathan Yong <10walls@gmail.com>
PR gcov-profile/94570
* ltmain.sh: Do not define HAVE_DOS_BASED_FILE_SYSTEM
for CYGWIN.
2020-04-14 Martin Jambor <mjambor@suse.cz> 2020-04-14 Martin Jambor <mjambor@suse.cz>
* MAINTAINERS (Reviewers): Add myself as callgraph (IPA) reviewer. * MAINTAINERS (Reviewers): Add myself as callgraph (IPA) reviewer.

View File

@ -1,3 +1,9 @@
2020-04-17 Martin Liska <mliska@suse.cz>
Jonathan Yong <10walls@gmail.com>
PR gcov-profile/94570
* coverage.c (coverage_init): Use separator properly.
2020-04-16 Peter Bergner <bergner@linux.ibm.com> 2020-04-16 Peter Bergner <bergner@linux.ibm.com>
PR rtl-optimization/93974 PR rtl-optimization/93974

View File

@ -1200,6 +1200,11 @@ coverage_obj_finish (vec<constructor_elt, va_gc> *ctor)
void void
coverage_init (const char *filename) coverage_init (const char *filename)
{ {
#if HAVE_DOS_BASED_FILE_SYSTEM
const char *separator = "\\";
#else
const char *separator = "/";
#endif
int len = strlen (filename); int len = strlen (filename);
int prefix_len = 0; int prefix_len = 0;
@ -1216,11 +1221,6 @@ coverage_init (const char *filename)
of filename in order to prevent file path clashing. */ of filename in order to prevent file path clashing. */
if (profile_data_prefix) if (profile_data_prefix)
{ {
#if HAVE_DOS_BASED_FILE_SYSTEM
const char *separator = "\\";
#else
const char *separator = "/";
#endif
filename = concat (getpwd (), separator, filename, NULL); filename = concat (getpwd (), separator, filename, NULL);
if (profile_prefix_path) if (profile_prefix_path)
{ {
@ -1252,7 +1252,7 @@ coverage_init (const char *filename)
if (profile_data_prefix) if (profile_data_prefix)
{ {
memcpy (da_file_name, profile_data_prefix, prefix_len); memcpy (da_file_name, profile_data_prefix, prefix_len);
da_file_name[prefix_len++] = '/'; da_file_name[prefix_len++] = *separator;
} }
memcpy (da_file_name + prefix_len, filename, len); memcpy (da_file_name + prefix_len, filename, len);
strcpy (da_file_name + prefix_len + len, GCOV_DATA_SUFFIX); strcpy (da_file_name + prefix_len + len, GCOV_DATA_SUFFIX);

View File

@ -1,3 +1,10 @@
2020-04-17 Martin Liska <mliska@suse.cz>
Jonathan Yong <10walls@gmail.com>
PR gcov-profile/94570
* filenames.h (defined): Do not define HAVE_DOS_BASED_FILE_SYSTEM
for CYGWIN.
2020-04-01 Maciej W. Rozycki <macro@linux-mips.org> 2020-04-01 Maciej W. Rozycki <macro@linux-mips.org>
PR lto/94249 PR lto/94249

View File

@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
extern "C" { extern "C" {
#endif #endif
#if defined(__MSDOS__) || defined(_WIN32) || defined(__OS2__) || defined (__CYGWIN__) #if defined(__MSDOS__) || (defined(_WIN32) && ! defined(__CYGWIN__)) || \
defined(__OS2__)
# ifndef HAVE_DOS_BASED_FILE_SYSTEM # ifndef HAVE_DOS_BASED_FILE_SYSTEM
# define HAVE_DOS_BASED_FILE_SYSTEM 1 # define HAVE_DOS_BASED_FILE_SYSTEM 1
# endif # endif

View File

@ -3425,8 +3425,8 @@ int setenv (const char *, const char *, int);
# define PATH_SEPARATOR ':' # define PATH_SEPARATOR ':'
#endif #endif
#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ #if (defined (_WIN32) && ! defined(__CYGWIN__)) || defined (__MSDOS__) || \
defined (__OS2__) defined (__DJGPP__) || defined (__OS2__)
# define HAVE_DOS_BASED_FILE_SYSTEM # define HAVE_DOS_BASED_FILE_SYSTEM
# define FOPEN_WB "wb" # define FOPEN_WB "wb"
# ifndef DIR_SEPARATOR_2 # ifndef DIR_SEPARATOR_2