From dd91a947a66be3fffc7e431b7ad218640877ffd1 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 11 Feb 2016 10:27:07 +0100 Subject: [PATCH] backport: re PR pch/68176 (all pch tests fail on eglibc systems (with bits/predefs.h)) Backported from mainline 2016-01-28 Jakub Jelinek PR pch/68176 * files.c (_cpp_find_file): Set file->implicit_preinclude even if included from file->implicit_preinclude header. From-SVN: r233335 --- libcpp/ChangeLog | 9 +++++++++ libcpp/files.c | 5 ++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 0decbe9c36b5..7bd7afd92f1f 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,12 @@ +2016-02-11 Jakub Jelinek + + Backported from mainline + 2016-01-28 Jakub Jelinek + + PR pch/68176 + * files.c (_cpp_find_file): Set file->implicit_preinclude even if + included from file->implicit_preinclude header. + 2016-02-11 Jakub Jelinek Backported from mainline diff --git a/libcpp/files.c b/libcpp/files.c index 144c0bc82602..2d87b7902b99 100644 --- a/libcpp/files.c +++ b/libcpp/files.c @@ -516,7 +516,10 @@ _cpp_find_file (cpp_reader *pfile, const char *fname, cpp_dir *start_dir, return entry->u.file; file = make_cpp_file (pfile, start_dir, fname); - file->implicit_preinclude = implicit_preinclude; + file->implicit_preinclude + = (implicit_preinclude + || (pfile->buffer + && pfile->buffer->file->implicit_preinclude)); /* Try each path in the include chain. */ for (; !fake ;) -- 2.47.2