diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 16197bc6e8392465ad551b66bdf31643e066172c..0ccc20a22468bc61db701fd97ff457b1470b5416 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2009-04-18  Joseph Myers  <joseph@codesourcery.com>
+
+	* gcc.dg/cpp/include5.c: New test.
+
 2009-04-18  Joseph Myers  <joseph@codesourcery.com>
 
 	PR c/35210
diff --git a/gcc/testsuite/gcc.dg/cpp/include5.c b/gcc/testsuite/gcc.dg/cpp/include5.c
new file mode 100644
index 0000000000000000000000000000000000000000..9bbc2878d054ee10366c4a3a230567592471594d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/include5.c
@@ -0,0 +1,9 @@
+/* Test #include directives with macros expanding to empty.  */
+
+#define EMPTY_OBJ
+#define EMPTY_FUNC()
+
+#include <stddef.h> EMPTY_OBJ
+#include <stddef.h> EMPTY_FUNC()
+#include "stddef.h" EMPTY_OBJ
+#include "stddef.h" EMPTY_FUNC()
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index ab72fa61061529c7915daf23d04373600ac9d592..c4316caa3345683471440fb88599aa9539c8ac72 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,7 @@
+2009-04-18  Joseph Myers  <joseph@codesourcery.com>
+
+	* directives.c (parse_include): Pass true to check_eol.
+
 2009-04-18  Joseph Myers  <joseph@codesourcery.com>
 
 	PR preprocessor/39646
diff --git a/libcpp/directives.c b/libcpp/directives.c
index 9e26732337bba3ebe2abf47bcf87b2002c0c7ba9..c2e71016f2417689ad27057d4b251a290e6bcb0b 100644
--- a/libcpp/directives.c
+++ b/libcpp/directives.c
@@ -724,7 +724,7 @@ parse_include (cpp_reader *pfile, int *pangle_brackets,
       /* This pragma allows extra tokens after the file name.  */
     }
   else if (buf == NULL || CPP_OPTION (pfile, discard_comments))
-    check_eol (pfile, false);
+    check_eol (pfile, true);
   else
     {
       /* If we are not discarding comments, then gather them while