+2018-10-24 Alexandre Oliva <aoliva@redhat.com>
+
+ * gimple-ssa-isolate-paths.c
+ (find_implicit_erroneous_behavior): Do not change code if the
+ pass is running for warnings only.
+ (find_explicit_erroneous_behavior): Likewise.
+
2018-10-24 Michael Meissner <meissner@linux.ibm.com>
* config/rs6000/rs6000.c (TARGET_MANGLE_DECL_ASSEMBLER_NAME):
"declared here");
}
- if (gimple_bb (use_stmt) == bb)
+ if ((flag_isolate_erroneous_paths_dereference
+ || flag_isolate_erroneous_paths_attribute)
+ && gimple_bb (use_stmt) == bb)
{
duplicate = isolate_path (bb, duplicate, e,
use_stmt, lhs, true);
inform (DECL_SOURCE_LOCATION(valbase),
"declared here");
}
- tree zero = build_zero_cst (TREE_TYPE (val));
- gimple_return_set_retval (return_stmt, zero);
- update_stmt (stmt);
+
+ /* Do not modify code if the user only asked for
+ warnings. */
+ if (flag_isolate_erroneous_paths_dereference
+ || flag_isolate_erroneous_paths_attribute)
+ {
+ tree zero = build_zero_cst (TREE_TYPE (val));
+ gimple_return_set_retval (return_stmt, zero);
+ update_stmt (stmt);
+ }
}
}
}