https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105056
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Since we require C++11, why don't we use NSDMI instead and then if another
constructor gets added you don't need to change that constructor also?
e.g.
diff --git a/gcc/tree-predcom.cc b/gcc/tree-predcom.cc
index e4aea7cdcb4..89baf69dc79 100644
--- a/gcc/tree-predcom.cc
+++ b/gcc/tree-predcom.cc
@@ -367,20 +367,20 @@ enum ref_step_type
struct component
{
- component (bool es) : eliminate_store_p (es), next (NULL) {}
+ component (bool es) : eliminate_store_p (es) {}
/* The references in the component. */
auto_vec<dref> refs;
/* What we know about the step of the references in the component. */
- enum ref_step_type comp_step;
+ enum ref_step_type comp_step = RS_ANY;
/* True if all references in component are stores and we try to do
intra/inter loop iteration dead store elimination. */
bool eliminate_store_p;
/* Next component in the list. */
- struct component *next;
+ struct component *next = NULL;
};
/* A class to encapsulate the global states used for predictive