aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>2002-06-20 14:44:37 +0000
committerKriang Lerdsuwanakij <lerdsuwa@gcc.gnu.org>2002-06-20 14:44:37 +0000
commitaa16c0facca1a54d453555e97546b941f197c661 (patch)
tree4296205d4cdf209f22e2d913445237572c350f35
parent342cea9509fcfea8b53cfbb4c67ee6a74aff11cf (diff)
downloadgcc-aa16c0facca1a54d453555e97546b941f197c661.zip
gcc-aa16c0facca1a54d453555e97546b941f197c661.tar.gz
gcc-aa16c0facca1a54d453555e97546b941f197c661.tar.bz2
re PR c++/6892 (ICE from #include inside switch(){} inside template function)
PR c++/6892 * pt.c (tsubst_expr): Handle FILE_STMT. From-SVN: r54832
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/pt.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index b570cc3..b3df1ad 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,10 @@
2002-06-20 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+ PR c++/6892
+ * pt.c (tsubst_expr): Handle FILE_STMT.
+
+2002-06-20 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
PR c++/6723
* pt.c (lookup_template_class): Don't build complete argument of
BOUND_TEMPLATE_TEMPLATE_PARM if appeared as a default template
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index c100122..dbacef8 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -7522,6 +7522,11 @@ tsubst_expr (t, args, complain, in_decl)
finish_label_stmt (DECL_NAME (LABEL_STMT_LABEL (t)));
break;
+ case FILE_STMT:
+ input_filename = FILE_STMT_FILENAME (t);
+ add_stmt (build_nt (FILE_STMT, FILE_STMT_FILENAME_NODE (t)));
+ break;
+
case GOTO_STMT:
prep_stmt (t);
tmp = GOTO_DESTINATION (t);