Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
9d19cb95
Commit
9d19cb95
authored
Oct 02, 2001
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
New language: Ada
From-SVN: r45947
parent
14f73b5a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
158 additions
and
0 deletions
+158
-0
gcc/ada/system.ads
+158
-0
No files found.
gcc/ada/system.ads
0 → 100644
View file @
9d19cb95
------------------------------------------------------------------------------
--
--
--
GNAT
RUN
-
TIME
COMPONENTS
--
--
--
--
S
Y
S
T
E
M
--
--
--
--
S
p
e
c
--
--
(
Compiler
Version
)
--
--
--
--
$
Revision
:
1.48
$
--
--
--
Copyright
(
C
)
1992
-
2001
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
--
--
apply
solely
to
the
contents
of
the
part
following
the
private
keyword
.
--
--
--
--
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
-
--
--
ware
Foundation
;
either
version
2
,
or
(
at
your
option
)
any
later
ver
-
--
--
sion
.
GNAT
is
distributed
in
the
hope
that
it
will
be
useful
,
but
WITH
-
--
--
OUT
ANY
WARRANTY
;
without
even
the
implied
warranty
of
MERCHANTABILITY
--
--
or
FITNESS
FOR
A
PARTICULAR
PURPOSE
.
See
the
GNU
General
Public
License
--
--
for
more
details
.
You
should
have
received
a
copy
of
the
GNU
General
--
--
Public
License
distributed
with
GNAT
;
see
file
COPYING
.
If
not
,
write
--
--
to
the
Free
Software
Foundation
,
59
Temple
Place
-
Suite
330
,
Boston
,
--
--
MA
02111
-
1307
,
USA
.
--
--
--
--
As
a
special
exception
,
if
other
files
instantiate
generics
from
this
--
--
unit
,
or
you
link
this
unit
with
other
files
to
produce
an
executable
,
--
--
this
unit
does
not
by
itself
cause
the
resulting
executable
to
be
--
--
covered
by
the
GNU
General
Public
License
.
This
exception
does
not
--
--
however
invalidate
any
other
reasons
why
the
executable
file
might
be
--
--
covered
by
the
GNU
Public
License
.
--
--
--
--
GNAT
was
originally
developed
by
the
GNAT
team
at
New
York
University
.
--
--
It
is
now
maintained
by
Ada
Core
Technologies
Inc
(
http
://
www
.
gnat
.
com
).
--
--
--
------------------------------------------------------------------------------
package
System
is
pragma
Pure
(
System
);
--
Note
that
we
take
advantage
of
the
implementation
permission
to
--
make
this
unit
Pure
instead
of
Preelaborable
,
see
RM
13.7
(
36
)
type
Name
is
(
SYSTEM_NAME_GNAT
);
System_Name
:
constant
Name
:=
SYSTEM_NAME_GNAT
;
--
System
-
Dependent
Named
Numbers
Min_Int
:
constant
:=
Long_Long_Integer
'First;
Max_Int : constant := Long_Long_Integer'
Last
;
Max_Binary_Modulus
:
constant
:=
2
**
Long_Long_Integer
'Size;
Max_Nonbinary_Modulus : constant := Integer'
Last
;
Max_Base_Digits
:
constant
:=
Long_Long_Float
'Digits;
Max_Digits : constant := Long_Long_Float'
Digits
;
Max_Mantissa
:
constant
:=
63
;
Fine_Delta
:
constant
:=
2.0
**
(-
Max_Mantissa
);
Tick
:
constant
:=
Standard
'Tick;
-- Storage-related Declarations
type Address is private;
Null_Address : constant Address;
Storage_Unit : constant := Standard'
Storage_Unit
;
Word_Size
:
constant
:=
Standard
'Word_Size;
Memory_Size : constant := 2 ** Standard'
Address_Size
;
--
Address
comparison
function
"<"
(
Left
,
Right
:
Address
)
return
Boolean
;
function
"<="
(
Left
,
Right
:
Address
)
return
Boolean
;
function
">"
(
Left
,
Right
:
Address
)
return
Boolean
;
function
">="
(
Left
,
Right
:
Address
)
return
Boolean
;
function
"="
(
Left
,
Right
:
Address
)
return
Boolean
;
pragma
Import
(
Intrinsic
,
"<"
);
pragma
Import
(
Intrinsic
,
"<="
);
pragma
Import
(
Intrinsic
,
">"
);
pragma
Import
(
Intrinsic
,
">="
);
pragma
Import
(
Intrinsic
,
"="
);
--
Other
System
-
Dependent
Declarations
type
Bit_Order
is
(
High_Order_First
,
Low_Order_First
);
Default_Bit_Order
:
constant
Bit_Order
:=
Bit_Order
'Val (Standard'
Default_Bit_Order
);
--
Priority
-
related
Declarations
(
RM
D
.1
)
Max_Priority
:
constant
Positive
:=
30
;
Max_Interrupt_Priority
:
constant
Positive
:=
31
;
subtype
Any_Priority
is
Integer
range
0
..
Standard
'Max_Interrupt_Priority;
subtype Priority is Any_Priority
range 0 .. Standard'
Max_Priority
;
--
Functional
notation
is
needed
in
the
following
to
avoid
visibility
--
problems
when
this
package
is
compiled
through
rtsfind
in
the
middle
--
of
another
compilation
.
subtype
Interrupt_Priority
is
Any_Priority
range
Standard
.
"+"
(
Standard
'Max_Priority, 1) ..
Standard'
Max_Interrupt_Priority
;
Default_Priority
:
constant
Priority
:=
Standard
.
"/"
(
Standard
.
"+"
(
Priority
'First, Priority'
Last
),
2
);
private
type
Address
is
mod
Memory_Size
;
Null_Address
:
constant
Address
:=
0
;
--------------------------------------
--
System
Implementation
Parameters
--
--------------------------------------
--
These
parameters
provide
information
about
the
target
that
is
used
--
by
the
compiler
.
They
are
in
the
private
part
of
System
,
where
they
--
can
be
accessed
using
the
special
circuitry
in
the
Targparm
unit
--
whose
source
should
be
consulted
for
more
detailed
descriptions
--
of
the
individual
switch
values
.
--
This
version
of
system
.
ads
is
used
only
for
building
the
compiler
.
--
We
really
ought
to
use
the
proper
target
system
(
i
.
e
.
the
one
that
--
corresponds
to
the
host
for
the
compiler
),
but
that
causes
as
yet
--
unsolved
makefile
problems
.
For
the
most
part
the
setting
of
these
--
parameters
is
not
too
critical
for
the
compiler
version
(
e
.
g
.
we
--
do
not
use
floating
-
point
anyway
in
the
compiler
).
AAMP
:
constant
Boolean
:=
False
;
Command_Line_Args
:
constant
Boolean
:=
True
;
Denorm
:
constant
Boolean
:=
True
;
Frontend_Layout
:
constant
Boolean
:=
False
;
Functions_Return_By_DSP
:
constant
Boolean
:=
False
;
Long_Shifts_Inlined
:
constant
Boolean
:=
True
;
High_Integrity_Mode
:
constant
Boolean
:=
False
;
Machine_Overflows
:
constant
Boolean
:=
False
;
Machine_Rounds
:
constant
Boolean
:=
True
;
OpenVMS
:
constant
Boolean
:=
False
;
Signed_Zeros
:
constant
Boolean
:=
True
;
Stack_Check_Default
:
constant
Boolean
:=
False
;
Stack_Check_Probes
:
constant
Boolean
:=
False
;
Use_Ada_Main_Program_Name
:
constant
Boolean
:=
False
;
ZCX_By_Default
:
constant
Boolean
:=
False
;
GCC_ZCX_Support
:
constant
Boolean
:=
False
;
Front_End_ZCX_Support
:
constant
Boolean
:=
False
;
end
System
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment