libcpp: use better locations for _Pragma tokens (preprocessor/69126)

gcc/testsuite/ChangeLog:
	PR preprocessor/69126
	* c-c++-common/pr69126.c: New test case.

libcpp/ChangeLog:
	PR preprocessor/69126
	* directives.c (destringize_and_run): Add expansion_loc param; use
	it when handling unexpanded pragmas to fixup the locations of the
	synthesized tokens.
	(_cpp_do__Pragma): Add expansion_loc param and use it when calling
	destringize_and_run.
	* internal.h (_cpp_do__Pragma): Add expansion_loc param.
	* macro.c (builtin_macro): Pass expansion location of _Pragma to
	_cpp_do__Pragma.

From-SVN: r232893
This commit is contained in:
David Malcolm
2016-01-27 18:57:51 +00:00
committed by David Malcolm
parent b45285fc2e
commit 0afff540e6
6 changed files with 51 additions and 5 deletions
+12
View File
@@ -1,3 +1,15 @@
2016-01-27 David Malcolm <dmalcolm@redhat.com>
PR preprocessor/69126
* directives.c (destringize_and_run): Add expansion_loc param; use
it when handling unexpanded pragmas to fixup the locations of the
synthesized tokens.
(_cpp_do__Pragma): Add expansion_loc param and use it when calling
destringize_and_run.
* internal.h (_cpp_do__Pragma): Add expansion_loc param.
* macro.c (builtin_macro): Pass expansion location of _Pragma to
_cpp_do__Pragma.
2016-01-14 David Malcolm <dmalcolm@redhat.com>
PR preprocessor/69177