summaryrefslogtreecommitdiffstats
path: root/gcc/ada/sem_prag.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-01 12:41:48 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-01 12:41:48 +0000
commit3430bf31e88c262034c8e7798374829f770d112d (patch)
treef17ae2c4493e2fcccba6ae4458951af5c7773594 /gcc/ada/sem_prag.adb
parentbbbe45996aa5ba74dcc27baeb62c49f9dbf7ae05 (diff)
downloadppe42-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.adb34
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);
OpenPOWER on IntegriCloud