[multiple changes]

2014-07-29  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
	Fix incorrect RTE call which caused bomb if pragma was in
	configuration pragma file.

2014-07-29  Jerome Lambourg  <lambourg@adacore.com>

	* expect.c (__gnat_expect_poll): Fix typo in previous change.
	* g-expect.adb: Update comments.

2014-07-29  Arnaud Charlet  <charlet@adacore.com>

	* s-parame-hpux.ads, s-parame-vms-ia64.ads, s-parame.ads
	(Default_Attribute_Count): Bump to 16 on native platforms.

2014-07-29  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb: Add guard to front-end inlining for SPARK.

From-SVN: r213185
This commit is contained in:
Arnaud Charlet 2014-07-29 15:43:43 +02:00
parent b94b6c565e
commit 24d14b918a
8 changed files with 39 additions and 23 deletions

View File

@ -1,3 +1,23 @@
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
Fix incorrect RTE call which caused bomb if pragma was in
configuration pragma file.
2014-07-29 Jerome Lambourg <lambourg@adacore.com>
* expect.c (__gnat_expect_poll): Fix typo in previous change.
* g-expect.adb: Update comments.
2014-07-29 Arnaud Charlet <charlet@adacore.com>
* s-parame-hpux.ads, s-parame-vms-ia64.ads, s-parame.ads
(Default_Attribute_Count): Bump to 16 on native platforms.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb: Add guard to front-end inlining for SPARK.
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_ch10.adb, debug.adb, sem_prag.adb, sem_res.adb, sem_ch6.adb:

View File

@ -180,9 +180,10 @@ __gnat_expect_poll (int *fd,
for (i = 0; i < num_fd; i++)
{
if (!PeekNamedPipe (handles [i], NULL, 0, NULL, &avail, NULL))
*dead_process = i + 1;
return -1;
{
*dead_process = i + 1;
return -1;
}
if (avail > 0)
{
is_set[i] = 1;
@ -292,9 +293,9 @@ __gnat_expect_poll (int *fd,
if ((status & 1) != 1)
{
ready = -1;
ready = -1;
dead_process = i + 1;
return ready;
return ready;
}
}
}

View File

@ -110,9 +110,10 @@ package body GNAT.Expect is
Dead_Process : access Integer;
Is_Set : System.Address) return Integer;
pragma Import (C, Poll, "__gnat_expect_poll");
-- Check whether there is any data waiting on the file descriptors Fds, and
-- wait if there is none, at most Timeout milliseconds Returns -1 in case
-- of error, 0 if the timeout expired before data became available.
-- Check whether there is any data waiting on the file descriptors
-- Fds, and wait if there is none, at most Timeout milliseconds
-- Returns -1 in case of error, 0 if the timeout expired before
-- data became available.
--
-- Is_Set is an array of the same size as FDs and elements are set to 1 if
-- data is available for the corresponding File Descriptor, 0 otherwise.

View File

@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@ -180,7 +180,7 @@ package System.Parameters is
-- Task Attributes --
---------------------
Default_Attribute_Count : constant := 4;
Default_Attribute_Count : constant := 16;
-- Number of pre-allocated Address-sized task attributes stored in the
-- task control block.

View File

@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@ -183,7 +183,7 @@ package System.Parameters is
-- Task Attributes --
---------------------
Default_Attribute_Count : constant := 4;
Default_Attribute_Count : constant := 16;
-- Number of pre-allocated Address-sized task attributes stored in the
-- task control block.

View File

@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@ -182,7 +182,7 @@ package System.Parameters is
-- Task Attributes --
---------------------
Default_Attribute_Count : constant := 4;
Default_Attribute_Count : constant := 16;
-- Number of pre-allocated Address-sized task attributes stored in the
-- task control block.

View File

@ -11012,15 +11012,7 @@ package body Sem_Prag is
-- VMS, where it is an integer type), then this pragma has no
-- purpose, so it is simply ignored.
-- If Allow_Integer_Address is already set do nothing, otherwise
-- calling RTE on RE_Address would cause a crash when loading
-- system.ads. ??? same will happen if Allow_Integer_Address is
-- not set actually, to be fixed and then the guard on
-- not Opt.Allow_Integer_Address should be removed.
if not Opt.Allow_Integer_Address
and then Is_Private_Type (RTE (RE_Address))
then
if Opt.Address_Is_Private then
Opt.Allow_Integer_Address := True;
end if;

View File

@ -6127,8 +6127,10 @@ package body Sem_Res is
-- In GNATprove_Mode expansion is disabled, but we want to inline
-- subprograms that are marked Inline_Always, since the inlining
-- is useful in making it easier to prove things about the inlined body.
-- Indirect calls, through a subprogram type, cannot be inlined.
if GNATprove_Mode
and then Is_Overloadable (Nam)
and then Nkind (Unit_Declaration_Node (Nam)) = N_Subprogram_Declaration
and then Present (Body_To_Inline (Unit_Declaration_Node (Nam)))
then