aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/targparm.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2012-03-07 15:58:43 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2012-03-07 15:58:43 +0100
commit6eddd7b4f35fd5e258260126de69e9c1e7e2617d (patch)
tree50beb99d31b658b397856787bdf8f11e39a18263 /gcc/ada/targparm.adb
parent84f4072a8e1097b05597a62fb96f28f9c48f868a (diff)
downloadgcc-6eddd7b4f35fd5e258260126de69e9c1e7e2617d.zip
gcc-6eddd7b4f35fd5e258260126de69e9c1e7e2617d.tar.gz
gcc-6eddd7b4f35fd5e258260126de69e9c1e7e2617d.tar.bz2
[multiple changes]
2012-03-07 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Process_Formals): a generic subprogram with a formal incomplete type does not require a freeze node. 2012-03-07 Bob Duff <duff@adacore.com> * sem_util.ads: Minor reformatting. 2012-03-07 Geert Bosch <bosch@adacore.com> * targparm.ads: New target parameter Atomic_Sync_Default, defaulting to True. * targparm.adb (Get_Target_Parameters): Add processing for Atomic_Sync_Default. * gnat1drv.adb (Adjust_Global_Switches): Adjust Supress_Options based on ASD. From-SVN: r185056
Diffstat (limited to 'gcc/ada/targparm.adb')
-rw-r--r--gcc/ada/targparm.adb14
1 files changed, 13 insertions, 1 deletions
diff --git a/gcc/ada/targparm.adb b/gcc/ada/targparm.adb
index 7868446..193858a 100644
--- a/gcc/ada/targparm.adb
+++ b/gcc/ada/targparm.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1999-2011, Free Software Foundation, Inc. --
+-- Copyright (C) 1999-2012, 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- --
@@ -40,6 +40,7 @@ package body Targparm is
type Targparm_Tags is
(AAM, -- AAMP
ACR, -- Always_Compatible_Rep
+ ASD, -- Atomic_Sync_Default
BDC, -- Backend_Divide_Checks
BOC, -- Backend_Overflow_Checks
CLA, -- Command_Line_Args
@@ -75,6 +76,7 @@ package body Targparm is
AAM_Str : aliased constant Source_Buffer := "AAMP";
ACR_Str : aliased constant Source_Buffer := "Always_Compatible_Rep";
+ ASD_Str : aliased constant Source_Buffer := "Atomic_Sync_Default";
BDC_Str : aliased constant Source_Buffer := "Backend_Divide_Checks";
BOC_Str : aliased constant Source_Buffer := "Backend_Overflow_Checks";
CLA_Str : aliased constant Source_Buffer := "Command_Line_Args";
@@ -110,6 +112,7 @@ package body Targparm is
Targparm_Str : constant array (Targparm_Tags) of Buffer_Ptr :=
(AAM_Str'Access,
ACR_Str'Access,
+ ASD_Str'Access,
BDC_Str'Access,
BOC_Str'Access,
CLA_Str'Access,
@@ -548,6 +551,7 @@ package body Targparm is
case K is
when AAM => AAMP_On_Target := Result;
when ACR => Always_Compatible_Rep_On_Target := Result;
+ when ASD => Atomic_Sync_Default := Result;
when BDC => Backend_Divide_Checks_On_Target := Result;
when BOC => Backend_Overflow_Checks_On_Target := Result;
when CLA => Command_Line_Args_On_Target := Result;
@@ -556,6 +560,10 @@ package body Targparm is
VM_Target := CLI_Target;
Tagged_Type_Expansion := False;
end if;
+ -- This is wrong, this processing should be done in
+ -- Gnat1drv.Adjust_Global_Switches. It is not the
+ -- right level for targparm to know about tagged
+ -- type extension???
when CRT => Configurable_Run_Time_On_Target := Result;
when D32 => Duration_32_Bits_On_Target := Result;
@@ -568,6 +576,10 @@ package body Targparm is
VM_Target := JVM_Target;
Tagged_Type_Expansion := False;
end if;
+ -- This is wrong, this processing should be done in
+ -- Gnat1drv.Adjust_Global_Switches. It is not the
+ -- right level for targparm to know about tagged
+ -- type extension???
when MOV => Machine_Overflows_On_Target := Result;
when MRN => Machine_Rounds_On_Target := Result;