From 912291cac35a25eb09234e087d12c4890e1d809c Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Mon, 26 Mar 2007 21:55:03 +0000 Subject: re PR c++/30500 (pragma GCC system_header vs templates) 2007-03-26 Paolo Carlini PR c++/30500 * pt.c (instantiate_decl): Set in_system_header. 2007-03-26 Paolo Carlini PR c++/30500 * g++.dg/warn/pragma-system_header1.C: New test. * g++.dg/warn/pragma-system_header2.C: New test. * g++.dg/warn/pragma-system_header1.h. New. * g++.dg/warn/pragma-system_header2.h. New. From-SVN: r123238 --- gcc/cp/pt.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gcc/cp/pt.c') diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 69c60b4..da3cd23 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -13829,6 +13829,7 @@ instantiate_decl (tree d, int defer_ok, bool pattern_defined; int need_push; location_t saved_loc = input_location; + int saved_in_system_header = in_system_header; bool external_p; /* This function should only be used to instantiate templates for @@ -13911,6 +13912,7 @@ instantiate_decl (tree d, int defer_ok, mark_definable (d); input_location = DECL_SOURCE_LOCATION (d); + in_system_header = DECL_IN_SYSTEM_HEADER (d); /* If D is a member of an explicitly instantiated class template, and no definition is available, treat it like an implicit @@ -14178,6 +14180,7 @@ instantiate_decl (tree d, int defer_ok, out: input_location = saved_loc; + in_system_header = saved_in_system_header; pop_deferring_access_checks (); pop_tinst_level (); -- cgit v1.1