re PR middle-end/43057 ([LTO] fold check: original tree changed by fold)
PR middle-end/43057 * fold-const.c (pedantic_non_lvalue_loc): Unshare x before setting location. From-SVN: r167037
This commit is contained in:
parent
3dbcee5bb8
commit
47f647e44f
|
@ -1,3 +1,9 @@
|
||||||
|
2010-11-21 Uros Bizjak <ubizjak@gmail.com>
|
||||||
|
|
||||||
|
PR middle-end/43057
|
||||||
|
* fold-const.c (pedantic_non_lvalue_loc): Unshare x before
|
||||||
|
setting location.
|
||||||
|
|
||||||
2010-11-22 Richard Guenther <rguenther@suse.de>
|
2010-11-22 Richard Guenther <rguenther@suse.de>
|
||||||
|
|
||||||
* gimple-fold.c (maybe_fold_reference): When canonicalizing
|
* gimple-fold.c (maybe_fold_reference): When canonicalizing
|
||||||
|
@ -31,8 +37,8 @@
|
||||||
(get_output_file_with_visibility): Updated comments and rewritten
|
(get_output_file_with_visibility): Updated comments and rewritten
|
||||||
to use the new files_rules machinery.
|
to use the new files_rules machinery.
|
||||||
|
|
||||||
* Makefile.in (XREGEX_H): Added variable.
|
* Makefile.in (XREGEX_H): Added variable.
|
||||||
(build/gengtype.o): Added dependencies for xregex.h and obstack.h
|
(build/gengtype.o): Added dependencies for xregex.h and obstack.h
|
||||||
|
|
||||||
2010-11-21 Nathan Froyd <froydnj@codesourcery.com>
|
2010-11-21 Nathan Froyd <froydnj@codesourcery.com>
|
||||||
|
|
||||||
|
@ -204,8 +210,7 @@
|
||||||
|
|
||||||
* doc/tm.texi.in (HANDLE_SYSV_PRAGMA,
|
* doc/tm.texi.in (HANDLE_SYSV_PRAGMA,
|
||||||
HANDLE_PRAGMA_PACK_PUSH_POP): Remove.
|
HANDLE_PRAGMA_PACK_PUSH_POP): Remove.
|
||||||
(HANDLE_PRAGMA_PACK_WITH_EXPANSION): Don't refer to
|
(HANDLE_PRAGMA_PACK_WITH_EXPANSION): Don't refer to HANDLE_SYSV_PRAGMA.
|
||||||
HANDLE_SYSV_PRAGMA.
|
|
||||||
* doc/tm.texi: Regenerate.
|
* doc/tm.texi: Regenerate.
|
||||||
* system.h (HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_SYSV_PRAGMA,
|
* system.h (HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_SYSV_PRAGMA,
|
||||||
HANDLE_PRAGMA_WEAK): Poison.
|
HANDLE_PRAGMA_WEAK): Poison.
|
||||||
|
|
|
@ -2097,7 +2097,16 @@ pedantic_non_lvalue_loc (location_t loc, tree x)
|
||||||
{
|
{
|
||||||
if (pedantic_lvalues)
|
if (pedantic_lvalues)
|
||||||
return non_lvalue_loc (loc, x);
|
return non_lvalue_loc (loc, x);
|
||||||
protected_set_expr_location (x, loc);
|
|
||||||
|
if (CAN_HAVE_LOCATION_P (x)
|
||||||
|
&& EXPR_LOCATION (x) != loc
|
||||||
|
&& !(TREE_CODE (x) == SAVE_EXPR
|
||||||
|
|| TREE_CODE (x) == TARGET_EXPR
|
||||||
|
|| TREE_CODE (x) == BIND_EXPR))
|
||||||
|
{
|
||||||
|
x = copy_node (x);
|
||||||
|
SET_EXPR_LOCATION (x, loc);
|
||||||
|
}
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue