diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2015-05-22 12:56:34 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2015-05-22 14:56:34 +0200 |
commit | 5c0c1090a714cb4b89f11d5333efd61dea5267f2 (patch) | |
tree | 273cf69c5b1bfe14c22f849a87162efda6f791c1 | |
parent | 57abdadd18b3addfc32fb32086862db3f8fdd7b1 (diff) | |
download | gcc-5c0c1090a714cb4b89f11d5333efd61dea5267f2.zip gcc-5c0c1090a714cb4b89f11d5333efd61dea5267f2.tar.gz gcc-5c0c1090a714cb4b89f11d5333efd61dea5267f2.tar.bz2 |
einfo.ads (Is_Atomic_Or_VFA): Move to XEINFO INLINES section.
2015-05-22 Eric Botcazou <ebotcazou@adacore.com>
* einfo.ads (Is_Atomic_Or_VFA): Move to XEINFO INLINES section.
* xeinfo.adb: Replace a-einfo.h with einfo.h throughout.
Add pattern to translate "or else" into "||".
From-SVN: r223562
-rw-r--r-- | gcc/ada/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/ada/einfo.ads | 2 | ||||
-rw-r--r-- | gcc/ada/xeinfo.adb | 15 |
3 files changed, 16 insertions, 7 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index e1a0db0..fe2dbad 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,5 +1,11 @@ 2015-05-22 Eric Botcazou <ebotcazou@adacore.com> + * einfo.ads (Is_Atomic_Or_VFA): Move to XEINFO INLINES section. + * xeinfo.adb: Replace a-einfo.h with einfo.h throughout. + Add pattern to translate "or else" into "||". + +2015-05-22 Eric Botcazou <ebotcazou@adacore.com> + * einfo.ads (Has_Volatile_Full_Access): Rename into... (Is_Volatile_Full_Access): ...this. (Set_Has_Volatile_Full_Access): Rename into... diff --git a/gcc/ada/einfo.ads b/gcc/ada/einfo.ads index d5a10c2..4f54106 100644 --- a/gcc/ada/einfo.ads +++ b/gcc/ada/einfo.ads @@ -8313,6 +8313,7 @@ package Einfo is pragma Inline (Is_Assignable); pragma Inline (Is_Asynchronous); pragma Inline (Is_Atomic); + pragma Inline (Is_Atomic_Or_VFA); pragma Inline (Is_Bit_Packed_Array); pragma Inline (Is_Called); pragma Inline (Is_Character_Type); @@ -9054,7 +9055,6 @@ package Einfo is -- be handled by xeinfo. pragma Inline (Base_Type); - pragma Inline (Is_Atomic_Or_VFA); pragma Inline (Is_Base_Type); pragma Inline (Is_Package_Or_Generic_Package); pragma Inline (Is_Packed_Array); diff --git a/gcc/ada/xeinfo.adb b/gcc/ada/xeinfo.adb index 4df0974..7f90656 100644 --- a/gcc/ada/xeinfo.adb +++ b/gcc/ada/xeinfo.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2011, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2015, 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- -- @@ -23,10 +23,10 @@ -- -- ------------------------------------------------------------------------------ --- Program to construct C header file a-einfo.h (C version of einfo.ads spec) +-- Program to construct C header file einfo.h (C version of einfo.ads spec) -- for use by Gigi. This header file contains all definitions and access -- functions, but does not contain set procedures, since Gigi is not allowed --- to modify the GNAT tree) +-- to modify the GNAT tree. -- Input files: @@ -35,12 +35,12 @@ -- Output files: --- a-einfo.h Corresponding c header file +-- einfo.h corresponding C header file -- Note: It is assumed that the input files have been compiled without errors -- An optional argument allows the specification of an output file name to --- override the default a-einfo.h file name for the generated output file. +-- override the default einfo.h file name for the generated output file. -- Most, but not all of the functions in Einfo can be inlined in the C header. -- They are the functions identified by pragma Inline in the spec. Functions @@ -129,6 +129,7 @@ procedure XEinfo is Get_B1 : constant Pattern := BreakX (' ') * A & " in " & Rest * B; Get_B2 : constant Pattern := BreakX (' ') * A & " = " & Rest * B; Get_B3 : constant Pattern := BreakX (' ') * A & " /= " & Rest * B; + Get_B4 : constant Pattern := BreakX (' ') * A & " or else " & Rest * B; To_Paren : constant Pattern := wsp * Filler & '('; Get_Fml : constant Pattern := Break (" :") * Formal & wsp & ':' & wsp & BreakX (" );") * Formaltyp; @@ -253,7 +254,7 @@ begin if Argument_Count > 0 then Create (Ofile, Out_File, Argument (1)); else - Create (Ofile, Out_File, "a-einfo.h"); + Create (Ofile, Out_File, "einfo.h"); end if; Open (InB, In_File, "einfo.adb"); @@ -489,6 +490,8 @@ begin Replace (M, A & " == " & B); Match (Expr, Get_B3, M); Replace (M, A & " != " & B); + Match (Expr, Get_B4, M); + Replace (M, A & " || " & B); Put_Line (Ofile, ""); Sethead (Fline, ""); Put_Line (Ofile, C & " { return " & Expr & "; }"); |