summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libcpp/ChangeLog5
-rw-r--r--libcpp/init.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index d35186ccff0..eeab5699bca 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,8 @@
+2010-02-11 Jakub Jelinek <jakub@redhat.com>
+
+ * init.c (read_original_filename): Don't call read_original_directory
+ if _cpp_handle_directive returns 0.
+
2010-01-01 Joseph Myers <joseph@codesourcery.com>
PR preprocessor/41947
diff --git a/libcpp/init.c b/libcpp/init.c
index 522ddbbb638..f5bf0ea7b7d 100644
--- a/libcpp/init.c
+++ b/libcpp/init.c
@@ -1,7 +1,7 @@
/* CPP Library.
Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008,
- 2009 Free Software Foundation, Inc.
+ 2009, 2010 Free Software Foundation, Inc.
Contributed by Per Bothner, 1994-95.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -595,9 +595,9 @@ read_original_filename (cpp_reader *pfile)
pfile->state.in_directive = 0;
/* If it's a #line directive, handle it. */
- if (token1->type == CPP_NUMBER)
+ if (token1->type == CPP_NUMBER
+ && _cpp_handle_directive (pfile, token->flags & PREV_WHITE))
{
- _cpp_handle_directive (pfile, token->flags & PREV_WHITE);
read_original_directory (pfile);
return;
}