re PR c++/17577 (#pragma implementation no longer diagnoses use after file to which it applies)

gcc/cp
	PR c++/17577:
	* lex.c (handle_pragma_implementation): Use cpp_included_before.
gcc/testsuite
	PR c++/17577:
	* g++.dg/ext/pr17577.h: New file.
	* g++.dg/ext/pr17577.C: New file.
libcpp
	PR c++/17557:
	* include/cpplib.h (cpp_included_before): Declare.
	* files.c (struct file_hash_entry) <location>: New field.
	(_cpp_find_file): Initialize new field.
	(make_cpp_dir): Likewise.
	(cpp_included_before): New function.

From-SVN: r130093
This commit is contained in:
Tom Tromey 2007-11-12 00:38:48 +00:00 committed by Tom Tromey
parent b131ad7c3d
commit f1e207107a
8 changed files with 60 additions and 2 deletions

View file

@ -853,6 +853,7 @@ extern unsigned char *cpp_quote_string (unsigned char *, const unsigned char *,
/* In cppfiles.c */
extern bool cpp_included (cpp_reader *, const char *);
extern bool cpp_included_before (cpp_reader *, const char *, source_location);
extern void cpp_make_system_header (cpp_reader *, int, int);
extern bool cpp_push_include (cpp_reader *, const char *);
extern void cpp_change_file (cpp_reader *, enum lc_reason, const char *);