[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Wed, 18 Nov 2015 10:23:05 +0000 (11:23 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 18 Nov 2015 10:23:05 +0000 (11:23 +0100)
2015-11-18  Arnaud Charlet  <charlet@adacore.com>

* switch-c.adb (Scan_Front_End_Switches): Add a check requiring
-gnatc with -gnateg.

2015-11-18  Ed Schonberg  <schonberg@adacore.com>

* sem_ch7.adb (Uninstall_Declarations): Before swapping private
and full views, ensure that the potential use visbility of the
two views is consistent.

2015-11-18  Doug Rupp  <rupp@adacore.com>

* s-parame-vxworks.adb: Increase default stack size for targets
using stack limit checking.

2015-11-18  Jose Ruiz  <ruiz@adacore.com>

* a-interr.adb, a-interr.ads (Ada.Interrupts.Get_CPU): Add this
function that was added to Ada 2005 returning the processor where
interrupt handlers execute.

2015-11-18  Tristan Gingold  <gingold@adacore.com>

* exp_ch9.adb (Is_Pure_Barrier): Handle expanded component
declaration of a protected definition.

From-SVN: r230529

gcc/ada/ChangeLog
gcc/ada/a-interr.adb
gcc/ada/a-interr.ads
gcc/ada/exp_ch9.adb
gcc/ada/s-parame-vxworks.adb
gcc/ada/sem_ch7.adb
gcc/ada/switch-c.adb

index 19cefb238453f285052707a75c0cbd22c67f9e99..6127fd5dc77b901c509dcaf3bc5f556b18bbe639 100644 (file)
@@ -1,3 +1,30 @@
+2015-11-18  Arnaud Charlet  <charlet@adacore.com>
+
+       * switch-c.adb (Scan_Front_End_Switches): Add a check requiring
+       -gnatc with -gnateg.
+
+2015-11-18  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch7.adb (Uninstall_Declarations): Before swapping private
+       and full views, ensure that the potential use visbility of the
+       two views is consistent.
+
+2015-11-18  Doug Rupp  <rupp@adacore.com>
+
+       * s-parame-vxworks.adb: Increase default stack size for targets
+       using stack limit checking.
+
+2015-11-18  Jose Ruiz  <ruiz@adacore.com>
+
+       * a-interr.adb, a-interr.ads (Ada.Interrupts.Get_CPU): Add this
+       function that was added to Ada 2005 returning the processor where
+       interrupt handlers execute.
+
+2015-11-18  Tristan Gingold  <gingold@adacore.com>
+
+       * exp_ch9.adb (Is_Pure_Barrier): Handle expanded component
+       declaration of a protected definition.
+
 2015-11-18  Ed Falis  <falis@adacore.com>
 
        * s-soflin.adb, s-stchop-vxworks.adb: Code clean ups.
index cd8ca0de21cfb193ba9078a70a111dc650c0fba1..f01ac1ae49da7c614ab185c1b59685227c3c1bfd 100644 (file)
@@ -7,7 +7,7 @@
 --                                  B o d y                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---                     Copyright (C) 1995-2010, AdaCore                     --
+--                     Copyright (C) 1995-2015, AdaCore                     --
 --                                                                          --
 -- 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- --
@@ -93,6 +93,22 @@ package body Ada.Interrupts is
       Old_Handler := To_Ada (H);
    end Exchange_Handler;
 
+   -------------
+   -- Get_CPU --
+   -------------
+
+   function Get_CPU
+     (Interrupt : Interrupt_ID) return System.Multiprocessors.CPU_Range
+   is
+      pragma Unreferenced (Interrupt);
+
+   begin
+      --  The underlying operating system does not indicate the processor on
+      --  which the handler for Interrupt is executed.
+
+      return System.Multiprocessors.Not_A_Specific_CPU;
+   end Get_CPU;
+
    -----------------
    -- Is_Attached --
    -----------------
index 0ce2ed66d95cc1e16f2cecc68aa3bc2573772f26..309e88e07ac277cd83b1d724173bb6bbf0f79eb5 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2009, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -34,6 +34,7 @@
 ------------------------------------------------------------------------------
 
 with System.Interrupts;
+with System.Multiprocessors;
 with Ada.Task_Identification;
 
 package Ada.Interrupts is
@@ -81,6 +82,9 @@ package Ada.Interrupts is
      SPARK_Mode => Off,
      Global     => null;
 
+   function Get_CPU
+     (Interrupt : Interrupt_ID) return System.Multiprocessors.CPU_Range;
+
 private
    pragma Inline (Is_Reserved);
    pragma Inline (Is_Attached);
@@ -88,4 +92,5 @@ private
    pragma Inline (Attach_Handler);
    pragma Inline (Detach_Handler);
    pragma Inline (Exchange_Handler);
+   pragma Inline (Get_CPU);
 end Ada.Interrupts;
index bd9a2af9551104a46bfe102c81b1bbd9d4015051..0c9419e24e4604b9ee48752b5c52392891eb2901 100644 (file)
@@ -6419,7 +6419,12 @@ package body Exp_Ch9 is
                        E_Enumeration_Literal =>
                      return OK;
 
-                  when E_Variable =>
+                  when E_Component |
+                       E_Variable  =>
+
+                     --  A variable in the protected type is expanded as a
+                     --  component.
+
                      if Is_Simple_Barrier_Name (N) then
                         return OK;
                      end if;
index 1fe2288da5b7a6d6b6da9823f667882ead0b6aca..d023c8c5276c34690000bce62017865d95bed4f9 100644 (file)
@@ -57,7 +57,12 @@ package body System.Parameters is
       pragma Import (C, Default_Stack_Size, "__gl_default_stack_size");
    begin
       if Default_Stack_Size = -1 then
-         return 20 * 1024;
+         if Stack_Check_Limits then
+            return 60 * 1024;
+            --  Extra stack to allow for 12K exception area.
+         else
+            return 20 * 1024;
+         end if;
       else
          return Size_Type (Default_Stack_Size);
       end if;
index 229d29dbe3a593794b53b71849575a7e6a6b1d7d..7de1c6f924f52398fb6a1aa519189852d3cd9d2b 100644 (file)
@@ -2675,10 +2675,13 @@ package body Sem_Ch7 is
          --  If this is a private type with a full view (for example a local
          --  subtype of a private type declared elsewhere), ensure that the
          --  full view is also removed from visibility: it may be exposed when
-         --  swapping views in an instantiation.
+         --  swapping views in an instantiation. Similarly, ensure that the
+         --  use-visibility is properly set on both views.
 
          if Is_Type (Id) and then Present (Full_View (Id)) then
-            Set_Is_Immediately_Visible (Full_View (Id), False);
+            Set_Is_Immediately_Visible     (Full_View (Id), False);
+            Set_Is_Potentially_Use_Visible (Full_View (Id),
+              Is_Potentially_Use_Visible (Id));
          end if;
 
          if Is_Tagged_Type (Id) and then Ekind (Id) = E_Record_Type then
index 977d00337f85f17582aa53816b3c4fbeea8b19cc..4ded20b7f2ff4885fc809ee5c883a152fe97dda7 100644 (file)
@@ -579,6 +579,13 @@ package body Switch.C is
                   --  -gnateg (generate C code)
 
                   when 'g' =>
+                     --  Special check, -gnateg must occur after -gnatc
+
+                     if Operating_Mode /= Check_Semantics then
+                        Osint.Fail
+                          ("gnateg requires previous occurrence of -gnatc");
+                     end if;
+
                      Generate_C_Code := True;
                      Ptr := Ptr + 1;