+2014-06-11 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/61437
+ Revert
+ 2014-06-04 Richard Biener <rguenther@suse.de>
+
+ * tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
+ TREE_PUBLIC and DECL_EXTERNAL decls.
+
2014-06-10 Jan Hubicka <hubicka@ucw.cz>
* varasm.c (set_implicit_section): New function.
(default_function_section): Likewise.
(decl_binds_to_current_def_p): Constify argument.
* varasm.h (decl_binds_to_current_def_p): Update prototype.
- * asan.c (asan_protect_global): Use symtab_get_node (decl)->implicit_section.
+ * asan.c (asan_protect_global): Use
+ symtab_get_node (decl)->implicit_section.
* symtab.c (dump_symtab_base): Dump implicit sections.
(verify_symtab_base): Verify sanity of sectoins and comdats.
(symtab_resolve_alias): Alias share the section of its target.
+2014-06-11 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/61437
+ * gcc.dg/torture/20140610-1.c: New testcase.
+ * gcc.dg/torture/20140610-2.c: Likewise.
+
2014-06-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/61438
may_be_aliased (const_tree var)
{
return (TREE_CODE (var) != CONST_DECL
- && TREE_ADDRESSABLE (var)
+ && (TREE_PUBLIC (var)
+ || DECL_EXTERNAL (var)
+ || TREE_ADDRESSABLE (var))
&& !((TREE_STATIC (var) || TREE_PUBLIC (var) || DECL_EXTERNAL (var))
&& ((TREE_READONLY (var)
&& !TYPE_NEEDS_CONSTRUCTING (TREE_TYPE (var)))