Commit 3c5b0ca4 by Richard Biener Committed by Richard Biener

re PR bootstrap/79814 (pass-instances.def:36:14: error:…

re PR bootstrap/79814 (pass-instances.def:36:14: error: ‘*<unknown>.gcc::pass_manager::pass_warn_unused_result_1’ is used uninitialized in this function)

2017-04-24  Richard Biener  <rguenther@suse.de>

	PR bootstrap/79814
	* pass_manager.h (pass_manager::operator new): Remove.
	(pass_manager::operator delete): Likewise.
	* passes.c (pass_manager::operator new): Remove.
	(pass_manager::operator delete): Likewise.
	(pass_manager::pass_manager): Zero individual pass members.

From-SVN: r247089
parent 63829927
2017-04-24 Richard Biener <rguenther@suse.de>
PR bootstrap/79814
* pass_manager.h (pass_manager::operator new): Remove.
(pass_manager::operator delete): Likewise.
* passes.c (pass_manager::operator new): Remove.
(pass_manager::operator delete): Likewise.
(pass_manager::pass_manager): Zero individual pass members.
2017-04-23 Uros Bizjak <ubizjak@gmail.com> 2017-04-23 Uros Bizjak <ubizjak@gmail.com>
PR target/70799 PR target/70799
......
...@@ -47,9 +47,6 @@ class context; ...@@ -47,9 +47,6 @@ class context;
class pass_manager class pass_manager
{ {
public: public:
void *operator new (size_t sz);
void operator delete (void *ptr);
pass_manager (context *ctxt); pass_manager (context *ctxt);
~pass_manager (); ~pass_manager ();
......
...@@ -1528,19 +1528,6 @@ pass_manager::register_pass (struct register_pass_info *pass_info) ...@@ -1528,19 +1528,6 @@ pass_manager::register_pass (struct register_pass_info *pass_info)
-> all_passes -> all_passes
*/ */
void *
pass_manager::operator new (size_t sz)
{
/* Ensure that all fields of the pass manager are zero-initialized. */
return xcalloc (1, sz);
}
void
pass_manager::operator delete (void *ptr)
{
free (ptr);
}
pass_manager::pass_manager (context *ctxt) pass_manager::pass_manager (context *ctxt)
: all_passes (NULL), all_small_ipa_passes (NULL), all_lowering_passes (NULL), : all_passes (NULL), all_small_ipa_passes (NULL), all_lowering_passes (NULL),
all_regular_ipa_passes (NULL), all_regular_ipa_passes (NULL),
...@@ -1549,6 +1536,21 @@ pass_manager::pass_manager (context *ctxt) ...@@ -1549,6 +1536,21 @@ pass_manager::pass_manager (context *ctxt)
{ {
opt_pass **p; opt_pass **p;
/* Zero-initialize pass members. */
#define INSERT_PASSES_AFTER(PASS)
#define PUSH_INSERT_PASSES_WITHIN(PASS)
#define POP_INSERT_PASSES()
#define NEXT_PASS(PASS, NUM) PASS ## _ ## NUM = NULL
#define NEXT_PASS_WITH_ARG(PASS, NUM, ARG) NEXT_PASS (PASS, NUM)
#define TERMINATE_PASS_LIST(PASS)
#include "pass-instances.def"
#undef INSERT_PASSES_AFTER
#undef PUSH_INSERT_PASSES_WITHIN
#undef POP_INSERT_PASSES
#undef NEXT_PASS
#undef NEXT_PASS_WITH_ARG
#undef TERMINATE_PASS_LIST
/* Initialize the pass_lists array. */ /* Initialize the pass_lists array. */
#define DEF_PASS_LIST(LIST) pass_lists[PASS_LIST_NO_##LIST] = &LIST; #define DEF_PASS_LIST(LIST) pass_lists[PASS_LIST_NO_##LIST] = &LIST;
GCC_PASS_LISTS GCC_PASS_LISTS
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment