From 6e887223a0bfe4e691107cc2a7d7fc3793cd93fd Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 21 Feb 2012 00:34:42 +0100 Subject: [PATCH] re PR c++/52312 (grokfndecl: valgrind problem) PR c++/52312 * typeck.c (check_literal_operator_args): Initialize *long_double_p and *long_long_unsigned_p even if processing_template_decl. From-SVN: r184416 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/typeck.c | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index faa8593..2c81a8a 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2012-02-21 Jakub Jelinek + + PR c++/52312 + * typeck.c (check_literal_operator_args): Initialize *long_double_p + and *long_long_unsigned_p even if processing_template_decl. + 2012-02-16 Jason Merrill PR c++/52248 diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index 91e7a0a..ba5ae46 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -8483,6 +8483,9 @@ check_literal_operator_args (const_tree decl, bool *long_long_unsigned_p, bool *long_double_p) { tree argtypes = TYPE_ARG_TYPES (TREE_TYPE (decl)); + + *long_long_unsigned_p = false; + *long_double_p = false; if (processing_template_decl || processing_specialization) return argtypes == void_list_node; else @@ -8491,9 +8494,6 @@ check_literal_operator_args (const_tree decl, int arity; int max_arity = 2; - *long_long_unsigned_p = false; - *long_double_p = false; - /* Count the number and type of arguments and check for ellipsis. */ for (argtype = argtypes, arity = 0; argtype && argtype != void_list_node; -- 2.7.4