mirror of git://gcc.gnu.org/git/gcc.git
fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before negating it.
* fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before negating it. * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message. From-SVN: r221159
This commit is contained in:
parent
590e26360c
commit
3a5c579a89
|
|
@ -1,3 +1,10 @@
|
||||||
|
2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
|
* fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
|
||||||
|
negating it.
|
||||||
|
|
||||||
|
* tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
|
||||||
|
|
||||||
2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
|
2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
|
||||||
|
|
||||||
Implement call0 ABI for xtensa
|
Implement call0 ABI for xtensa
|
||||||
|
|
|
||||||
|
|
@ -16032,7 +16032,7 @@ round_up_loc (location_t loc, tree value, unsigned int divisor)
|
||||||
|
|
||||||
t = build_int_cst (TREE_TYPE (value), divisor - 1);
|
t = build_int_cst (TREE_TYPE (value), divisor - 1);
|
||||||
value = size_binop_loc (loc, PLUS_EXPR, value, t);
|
value = size_binop_loc (loc, PLUS_EXPR, value, t);
|
||||||
t = build_int_cst (TREE_TYPE (value), -divisor);
|
t = build_int_cst (TREE_TYPE (value), - (HOST_WIDE_INT) divisor);
|
||||||
value = size_binop_loc (loc, BIT_AND_EXPR, value, t);
|
value = size_binop_loc (loc, BIT_AND_EXPR, value, t);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
|
2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
|
* gnat.dg/object_overflow5.adb: New test.
|
||||||
|
|
||||||
2015-03-03 Martin Liska <mliska@suse.cz>
|
2015-03-03 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
PR ipa/65287
|
PR ipa/65287
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
-- { dg-do compile }
|
||||||
|
|
||||||
|
procedure Object_Overflow5 is
|
||||||
|
|
||||||
|
procedure Proc (c : Character) is begin null; end;
|
||||||
|
|
||||||
|
type Index is new Long_Integer range 0 .. Long_Integer'Last;
|
||||||
|
|
||||||
|
type Arr is array(Index range <>) of Character;
|
||||||
|
|
||||||
|
type Rec (Size: Index := 6) is record -- { dg-warning "Storage_Error" }
|
||||||
|
A: Arr (0..Size);
|
||||||
|
end record;
|
||||||
|
|
||||||
|
Obj : Rec; -- { dg-warning "Storage_Error" }
|
||||||
|
|
||||||
|
begin
|
||||||
|
Obj.A(1) := 'a';
|
||||||
|
Proc (Obj.A(1));
|
||||||
|
end;
|
||||||
|
|
@ -5144,7 +5144,7 @@ ipa_sra_preliminary_function_checks (struct cgraph_node *node)
|
||||||
{
|
{
|
||||||
if (dump_file)
|
if (dump_file)
|
||||||
fprintf (dump_file,
|
fprintf (dump_file,
|
||||||
"A function call has an argument with non-unit alignemnt.\n");
|
"A function call has an argument with non-unit alignment.\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue