files.c (find_file_in_dir): Always try to shorten for DOS non-system headers.

2014-05-09  Joey Ye  <joey.ye@arm.com>

	* files.c (find_file_in_dir): Always try to shorten for DOS
	non-system headers.
	* init.c (ENABLE_CANONICAL_SYSTEM_HEADERS): Default enabled for DOS.

From-SVN: r210264
This commit is contained in:
Joey Ye 2014-05-09 08:50:22 +00:00 committed by Joey Ye
parent 9db25c6a05
commit eac3e07966
3 changed files with 18 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2014-05-09 Joey Ye <joey.ye@arm.com>
* files.c (find_file_in_dir): Always try to shorten for DOS
non-system headers.
* init.c (ENABLE_CANONICAL_SYSTEM_HEADERS): Default enabled for DOS.
2014-05-07 Richard Biener <rguenther@suse.de>
* configure.ac: Always set need_64bit_hwint to yes.

View File

@ -387,8 +387,14 @@ find_file_in_dir (cpp_reader *pfile, _cpp_file *file, bool *invalid_pch)
char *copy;
void **pp;
/* We try to canonicalize system headers. */
if (CPP_OPTION (pfile, canonical_system_headers) && file->dir->sysp)
/* We try to canonicalize system headers. For DOS based file
* system, we always try to shorten non-system headers, as DOS
* has a tighter constraint on max path length. */
if (CPP_OPTION (pfile, canonical_system_headers) && file->dir->sysp
#ifdef HAVE_DOS_BASED_FILE_SYSTEM
|| !file->dir->sysp
#endif
)
{
char * canonical_path = maybe_shorter_path (path);
if (canonical_path)

View File

@ -27,8 +27,12 @@ along with this program; see the file COPYING3. If not see
#include "filenames.h"
#ifndef ENABLE_CANONICAL_SYSTEM_HEADERS
#ifdef HAVE_DOS_BASED_FILE_SYSTEM
#define ENABLE_CANONICAL_SYSTEM_HEADERS 1
#else
#define ENABLE_CANONICAL_SYSTEM_HEADERS 0
#endif
#endif
static void init_library (void);
static void mark_named_operators (cpp_reader *, int);