diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-01 12:41:48 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-01 12:41:48 +0000 |
commit | 3430bf31e88c262034c8e7798374829f770d112d (patch) | |
tree | f17ae2c4493e2fcccba6ae4458951af5c7773594 /gcc/ada/sem_prag.adb | |
parent | bbbe45996aa5ba74dcc27baeb62c49f9dbf7ae05 (diff) | |
download | ppe42-gcc-3430bf31e88c262034c8e7798374829f770d112d.tar.gz ppe42-gcc-3430bf31e88c262034c8e7798374829f770d112d.zip |
2011-08-01 Geert Bosch <bosch@adacore.com>
* sem_prag.adb (Check_No_Link_Name): New procedure.
(Process_Import_Or_Interface): Use Check_No_Link_Name.
* cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
instead of Standard_Long_Long_Float_Size global. Preparation for
eventual removal of per type constants.
* exp_util.ads (Get_Stream_Size): New function returning the stream
size value of subtype E.
* exp_util.adb (Get_Stream_Size): Implement new function.
* exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
function.
* exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
* einfo.adb:
(Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177026 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem_prag.adb')
-rw-r--r-- | gcc/ada/sem_prag.adb | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index 540cb372b31..585981a87b5 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -436,6 +436,9 @@ package body Sem_Prag is -- If any argument has an identifier, then an error message is issued, -- and Pragma_Exit is raised. + procedure Check_No_Link_Name; + -- Checks that no link name is specified + procedure Check_Optional_Identifier (Arg : Node_Id; Id : Name_Id); -- Checks if the given argument has an identifier, and if so, requires -- it to match the given identifier name. If there is a non-matching @@ -1513,6 +1516,24 @@ package body Sem_Prag is end if; end Check_No_Identifiers; + ------------------------ + -- Check_No_Link_Name -- + ------------------------ + + procedure Check_No_Link_Name is + begin + if Present (Arg3) + and then Chars (Arg3) = Name_Link_Name + then + Arg4 := Arg3; + end if; + + if Present (Arg4) then + Error_Pragma_Arg + ("Link_Name argument not allowed for Import Intrinsic", Arg4); + end if; + end Check_No_Link_Name; + ------------------------------- -- Check_Optional_Identifier -- ------------------------------- @@ -3964,18 +3985,7 @@ package body Sem_Prag is -- Link_Name argument not allowed for intrinsic - if Present (Arg3) - and then Chars (Arg3) = Name_Link_Name - then - Arg4 := Arg3; - end if; - - if Present (Arg4) then - Error_Pragma_Arg - ("Link_Name argument not allowed for " & - "Import Intrinsic", - Arg4); - end if; + Check_No_Link_Name; Set_Is_Intrinsic_Subprogram (Def_Id); |