diff options
author | Richard Guenther <rguenther@suse.de> | 2009-02-19 10:12:25 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2009-02-19 10:12:25 +0000 |
commit | 9e39dba643323a8bf07e1435657eebd3985452db (patch) | |
tree | 8ded01ebc07aa42d47fe86aff0ccaeeb166b029d /gcc/fortran/scanner.c | |
parent | aac2878e169cba8104e4458e24744f6b56cf87b4 (diff) | |
download | gcc-9e39dba643323a8bf07e1435657eebd3985452db.zip gcc-9e39dba643323a8bf07e1435657eebd3985452db.tar.gz gcc-9e39dba643323a8bf07e1435657eebd3985452db.tar.bz2 |
re PR tree-optimization/39207 (Strict aliasing warnings in libstdc++ headers)
2009-02-19 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39207
PR tree-optimization/39074
* tree-ssa-structalias.c (storedanything_id, var_storedanything,
storedanything_tree): New.
(do_ds_constraint): Simplify ANYTHING shortcutting. Update
the STOREDANYTHING solution if the lhs solution contains
ANYTHING.
(build_succ_graph): Add edges from STOREDANYTHING to all
non-direct nodes.
(init_base_vars): Initialize STOREDANYTHING.
(compute_points_to_sets): Free substitution info after
building the succ graph.
(ipa_pta_execute): Likewise.
* gcc.dg/torture/pr39074.c: New testcase.
* gcc.dg/torture/pr39074-2.c: Likewise.
* gcc.dg/torture/pr39074-3.c: Likewise.
* tree-ssa-structalias.c (struct variable_info): Add may_have_pointers
field.
(do_ds_constraint): Do not add to special var or non-pointer
field solutions.
(type_could_have_pointers): Split out from ...
(could_have_pointers): ... here. For arrays use the element type.
(create_variable_info_for): Initialize may_have_pointers.
(new_var_info): Likewise.
(handle_lhs_call): Make the HEAP variable unknown-sized.
(intra_create_variable_infos): Use a type with pointers for
PARM_NOALIAS, make it unknown-sized.
From-SVN: r144292
Diffstat (limited to 'gcc/fortran/scanner.c')
0 files changed, 0 insertions, 0 deletions