aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2009-10-01 11:31:08 +0200
committerMartin Jambor <jamborm@gcc.gnu.org>2009-10-01 11:31:08 +0200
commited9fa133106bd11f893b5bb809bc14f4be8df351 (patch)
tree837b4d1c7ab8704001d8da36880cd8ccc5ba864d /gcc
parent7ecbca9d02206b8fcba2710daa9e0a366af65a8b (diff)
downloadgcc-ed9fa133106bd11f893b5bb809bc14f4be8df351.zip
gcc-ed9fa133106bd11f893b5bb809bc14f4be8df351.tar.gz
gcc-ed9fa133106bd11f893b5bb809bc14f4be8df351.tar.bz2
re PR c++/41503 (function_parameter_expanded_from_pack_p segfaults when passed a PARM_DECL created by IPA-SRA)
2009-10-01 Martin Jambor <mjambor@suse.cz> PR c++/41503 * cp/pt.c (function_parameter_expanded_from_pack_p): Return false if DECL_ARTIFICIAL (param_decl) is true. From-SVN: r152365
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/cp/pt.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e80433a..78f6a6e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2009-10-01 Martin Jambor <mjambor@suse.cz>
+
+ PR c++/41503
+ * cp/pt.c (function_parameter_expanded_from_pack_p): Return false if
+ DECL_ARTIFICIAL (param_decl) is true.
+
2009-09-30 Gabriel Dos Reis <gdr@cs.tamu.edu>
* tree.h (tree_decl_common::lang_flag_8): New.
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index d078642..5f9b07c 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -2669,7 +2669,8 @@ get_function_template_decl (const_tree primary_func_tmpl_inst)
bool
function_parameter_expanded_from_pack_p (tree param_decl, tree pack)
{
- if (! function_parameter_pack_p (pack))
+ if (DECL_ARTIFICIAL (param_decl)
+ || !function_parameter_pack_p (pack))
return false;
gcc_assert (DECL_NAME (param_decl) && DECL_NAME (pack));