tree.c (substitute_in_expr): Add missing 'break'.
* tree.c (substitute_in_expr): Add missing 'break'. ada/ * utils.c (build_function_stub): Properly build the call expression. From-SVN: r131600
This commit is contained in:
parent
7c1950cdf1
commit
9328dd5725
6 changed files with 35 additions and 5 deletions
|
@ -1,3 +1,7 @@
|
|||
2008-01-17 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* tree.c (substitute_in_expr): Add missing 'break'.
|
||||
|
||||
2008-01-17 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/34825
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2008-01-17 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* utils.c (build_function_stub): Properly build the call expression.
|
||||
|
||||
2008-01-14 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* decl.c (gnat_to_gnu_entity) <object>: Process renamings
|
||||
|
|
|
@ -3022,9 +3022,9 @@ build_function_stub (tree gnu_subprog, Entity_Id gnat_subprog)
|
|||
/* Invoke the internal subprogram. */
|
||||
gnu_subprog_addr = build1 (ADDR_EXPR, build_pointer_type (gnu_subprog_type),
|
||||
gnu_subprog);
|
||||
gnu_subprog_call = build3 (CALL_EXPR, TREE_TYPE (gnu_subprog_type),
|
||||
gnu_subprog_addr, nreverse (gnu_param_list),
|
||||
NULL_TREE);
|
||||
gnu_subprog_call = build_call_list (TREE_TYPE (gnu_subprog_type),
|
||||
gnu_subprog_addr,
|
||||
nreverse (gnu_param_list));
|
||||
|
||||
/* Propagate the return value, if any. */
|
||||
if (VOID_TYPE_P (TREE_TYPE (gnu_subprog_type)))
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2008-01-17 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gnat.dg/discr5.adb: New test.
|
||||
|
||||
2008-01-17 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gcc.c-torture/compile/20080114-1.c: Use empty asm statements.
|
||||
|
|
17
gcc/testsuite/gnat.dg/discr5.adb
Normal file
17
gcc/testsuite/gnat.dg/discr5.adb
Normal file
|
@ -0,0 +1,17 @@
|
|||
-- { dg-do compile }
|
||||
|
||||
procedure Discr5 is
|
||||
|
||||
type Enum is (Ten, Twenty);
|
||||
for Enum use (10, 20);
|
||||
type Arr is array (Enum range <>) of Integer;
|
||||
type Rec (Discr: Enum := Ten) is record
|
||||
case Discr is
|
||||
when others =>
|
||||
A: Arr (Ten .. Discr);
|
||||
end case;
|
||||
end record;
|
||||
|
||||
begin
|
||||
null;
|
||||
end;
|
|
@ -2530,8 +2530,8 @@ substitute_in_expr (tree exp, tree f, tree r)
|
|||
{
|
||||
tree copy = NULL_TREE;
|
||||
int i;
|
||||
int n = TREE_OPERAND_LENGTH (exp);
|
||||
for (i = 1; i < n; i++)
|
||||
|
||||
for (i = 1; i < TREE_OPERAND_LENGTH (exp); i++)
|
||||
{
|
||||
tree op = TREE_OPERAND (exp, i);
|
||||
tree newop = SUBSTITUTE_IN_EXPR (op, f, r);
|
||||
|
@ -2546,6 +2546,7 @@ substitute_in_expr (tree exp, tree f, tree r)
|
|||
else
|
||||
return exp;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
gcc_unreachable ();
|
||||
|
|
Loading…
Add table
Reference in a new issue