re PR c++/55418 (Valgrind: Conditional jump or move depends on uninitialised value(s) in implicitly_declare_fn() method.c:1623)

2012-11-23  Markus Trippelsdorf  <markus@trippelsdorf.de>

	PR c++/55418
	* method.c (implicitly_declare_fn): Properly initialize trivial_p.

From-SVN: r193758
This commit is contained in:
Markus Trippelsdorf 2012-11-23 15:34:45 +00:00 committed by Paolo Carlini
parent 1a65a0083e
commit 59ddadabe4
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2012-11-23 Markus Trippelsdorf <markus@trippelsdorf.de>
PR c++/55418
* method.c (implicitly_declare_fn): Properly initialize trivial_p.
2012-11-22 Jason Merrill <jason@redhat.com>
PR c++/55137

View File

@ -1518,7 +1518,6 @@ implicitly_declare_fn (special_function_kind kind, tree type,
tree name;
HOST_WIDE_INT saved_processing_template_decl;
bool deleted_p;
bool trivial_p;
bool constexpr_p;
/* Because we create declarations for implicitly declared functions
@ -1597,12 +1596,13 @@ implicitly_declare_fn (special_function_kind kind, tree type,
tree inherited_base = (inherited_ctor
? DECL_CONTEXT (inherited_ctor)
: NULL_TREE);
bool trivial_p = false;
if (inherited_ctor && TREE_CODE (inherited_ctor) == TEMPLATE_DECL)
{
/* For an inheriting constructor template, just copy these flags from
the inherited constructor template for now. */
raises = TYPE_RAISES_EXCEPTIONS (TREE_TYPE (inherited_ctor));
trivial_p = false;
deleted_p = DECL_DELETED_FN (DECL_TEMPLATE_RESULT (inherited_ctor));
constexpr_p
= DECL_DECLARED_CONSTEXPR_P (DECL_TEMPLATE_RESULT (inherited_ctor));