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
ae2eceaa
Commit
ae2eceaa
authored
Oct 27, 2000
by
Neil Booth
Committed by
Neil Booth
Oct 27, 2000
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* cpp.texi: Update.
From-SVN: r37094
parent
04e149ab
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
44 additions
and
21 deletions
+44
-21
gcc/ChangeLog
+4
-0
gcc/cpp.texi
+40
-21
No files found.
gcc/ChangeLog
View file @
ae2eceaa
2000-10-27 Neil Booth <neilb@earthling.net>
* cpp.texi: Update.
2000-10-27 Kelley Cook <kelley.cook@home.com>
* invoke.texi: Document -mintel-syntax
...
...
gcc/cpp.texi
View file @
ae2eceaa
...
...
@@ -2379,13 +2379,14 @@ understand @code{sizeof}, or typedef names, or even the type keywords
such
as
@code
{
int
}.)
@findex
defined
The
special
operator
@samp
{
defined
}
is
used
in
@samp
{
#
if
}
expressions
to
test
whether
a
certain
name
is
defined
as
a
macro
.
Either
@samp
{
defined
@var
{
name
}}
or
@samp
{
defined
(
@var
{
name
})}
is
an
expression
whose
value
is
1
if
@var
{
name
}
is
defined
as
macro
at
the
current
point
in
the
program
,
and
0
otherwise
.
For
the
@samp
{
defined
}
operator
it
makes
no
difference
what
the
definition
of
the
macro
is
;
all
that
matters
is
whether
there
is
a
definition
.
Thus
,
for
example
,
@refill
The
special
operator
@samp
{
defined
}
is
used
in
@samp
{
#
if
}
and
@samp
{
#
elif
}
expressions
to
test
whether
a
certain
name
is
defined
as
a
macro
.
Either
@samp
{
defined
@var
{
name
}}
or
@samp
{
defined
(
@var
{
name
})}
is
an
expression
whose
value
is
1
if
@var
{
name
}
is
defined
as
macro
at
the
current
point
in
the
program
,
and
0
otherwise
.
To
the
@samp
{
defined
}
operator
it
makes
no
difference
what
the
definition
of
the
macro
is
;
all
that
matters
is
whether
there
is
a
definition
.
Thus
,
for
example
,
@refill
@example
#if defined (vax) || defined (ns16000)
...
...
@@ -2405,6 +2406,12 @@ use of the @samp{defined} operator returns 0, because the name is no
longer
defined
.
If
the
macro
is
defined
again
with
another
@samp
{
#
define
},
@samp
{
defined
}
will
recommence
returning
1
.
If
the
@samp
{
defined
}
operator
appears
as
a
result
of
a
macro
expansion
,
the
C
standard
says
the
behavior
is
undefined
.
GNU
cpp
treats
it
as
a
genuine
@samp
{
defined
}
operator
and
evaluates
it
normally
.
It
will
warn
wherever
your
code
uses
this
feature
if
you
use
the
command
-
line
option
@samp
{
-
pedantic
},
since
other
compilers
may
handle
it
differently
.
@findex
#
ifdef
@findex
#
ifndef
Conditionals
that
test
whether
a
single
macro
is
defined
are
very
common
,
...
...
@@ -2793,29 +2800,31 @@ This indicates that the following text should be treated as C@.
@end
table
@node
Implementation
,
Unreliable
Features
,
Output
,
Top
@section
Implementation
-
defined
Behavior
and
Implemenation
Limits
@section
Implementation
-
defined
Behavior
and
Implemen
t
ation
Limits
@cindex
implementation
limits
@cindex
implementation
-
defined
behavior
The
ISO
C
standard
mandates
that
implementations
document
various
aspects
of
preprocessor
behavior
.
You
should
try
to
avoid
undue
reliance
on
behaviour
described
here
,
as
it
is
p
roba
ble
that
it
will
reliance
on
behaviour
described
here
,
as
it
is
p
ossi
ble
that
it
will
change
subtly
in
future
implementations
.
@itemize
@bullet
@item
The
mapping
of
physical
source
file
multi
byte
characters
to
the
execution
character
set
.
@item
The
mapping
of
physical
source
file
multi
-
byte
characters
to
the
execution
character
set
.
Currenty
,
GNU
cpp
only
supports
character
sets
that
are
strict
supersets
Current
l
y
,
GNU
cpp
only
supports
character
sets
that
are
strict
supersets
of
ASCII
,
and
performs
no
translation
of
characters
.
@item
Non
-
empty
sequences
of
whitespace
characters
.
Each
whitespace
sequence
is
not
preserved
,
but
collapsed
to
a
single
space
.
space
.
For
aesthetic
reasons
,
the
first
token
on
each
non
-
directive
line
of
output
is
preceded
with
sufficient
spaces
that
it
appears
in
the
same
column
as
it
did
in
the
original
source
file
.
@item
The
numeric
value
of
charac
e
ter
constants
in
preprocessor
expressions
.
@item
The
numeric
value
of
character
constants
in
preprocessor
expressions
.
The
preprocessor
interprets
character
constants
in
preprocessing
directives
on
the
host
machine
.
Expressions
outside
preprocessing
...
...
@@ -2824,6 +2833,16 @@ normal case of a native compiler, these two environments are the same
and
so
character
constants
will
be
evaluated
identically
in
both
cases
.
However
,
in
the
case
of
a
cross
compiler
,
the
values
may
be
different
.
Multi
-
character
character
constants
are
interpreted
a
character
at
a
time
,
shifting
the
previous
result
left
by
the
number
of
bits
per
character
on
the
host
,
and
adding
the
new
character
.
For
example
,
'
ab
'
on
an
8
-
bit
host
would
be
interpreted
as
'a'
*
256
+
'b'
.
If
there
are
more
characters
in
the
constant
than
can
fit
in
the
widest
native
integer
type
on
the
host
,
usually
a
@samp{
long
}
,
the
behavior
is
undefined
.
Evaluation
of
wide
character
constants
is
not
properly
implemented
yet
.
@item
Source
file
inclusion
.
For
a
discussion
on
how
the
preprocessor
locates
header
files
,
...
...
@@ -2858,17 +2877,17 @@ The following documents internal limits of GNU cpp.
@item
Nesting
levels
of
@samp{#
include
}
files
.
We
impose
an
arbitrary
limit
of
200
levels
,
to
avoid
runaway
recursion
.
The
standard
requires
at
least
15
levels
be
permitted
.
The
standard
requires
at
least
15
levels
.
@item
Nesting
levels
of
conditional
inclusion
.
The
C
standard
mandates
this
be
at
least
63
.
The
GNU
C
preprocessor
is
limited
only
by
available
memory
.
@item
Levels
of
par
a
nthesised
expressions
within
a
full
expression
.
@item
Levels
of
par
e
nthesised
expressions
within
a
full
expression
.
The
C
standard
requires
this
to
be
at
least
63
.
In
preprocessor
conditional
express
s
ions
it
is
limited
only
by
available
memory
.
conditional
expressions
it
is
limited
only
by
available
memory
.
@item
Significant
initial
characters
in
an
identifier
or
macro
name
.
...
...
@@ -2880,7 +2899,7 @@ requires only that the first 63 be significant.
The
standard
requires
at
least
4095
be
possible
;
GNU
cpp
is
limited
only
by
available
memory
.
@item
Number
of
paramters
in
a
macro
definition
and
arguments
in
a
macro
call
.
@item
Number
of
param
e
ters
in
a
macro
definition
and
arguments
in
a
macro
call
.
We
allow
USHRT_MAX
,
which
is
normally
65
,
535
,
and
above
the
minimum
of
127
required
by
the
standard
.
...
...
@@ -2956,7 +2975,7 @@ Formerly, in a macro expansion, if @samp{##} appeared before a variable
arguments
parameter
,
and
the
set
of
tokens
specified
for
that
argument
in
the
macro
invocation
was
empty
,
previous
versions
of
the
GNU
C
preprocessor
would
back
up
and
remove
the
preceding
sequence
of
nonwhitespace
characters
(
@strong{
not
}
the
preceding
token
).
This
non
-
whitespace
characters
(
@strong{
not
}
the
preceding
token
).
This
extension
is
in
direct
conflict
with
the
1999
C
standard
and
has
been
drastically
pared
back
.
...
...
@@ -2995,7 +3014,7 @@ used at all.
@item
#
pragma
poison
This
pragma
has
been
super
c
eded
by
@samp{#
pragma
GCC
poison
}
.
This
pragma
has
been
super
s
eded
by
@samp{#
pragma
GCC
poison
}
.
@xref{
Poisoning
}
.
@item
Multi
-
line
string
literals
in
directives
...
...
@@ -3531,7 +3550,7 @@ The 1999 C standard plus GNU extensions.
@item -ftabstop=NUMBER
@findex -ftabstop
Set the distance between tabstops. This helps the preprocessor
Set the distance between tab
stops. This helps the preprocessor
report correct column numbers in warnings or errors, even if tabs appear
on the line. Values less than 1 or greater than 100 are ignored. The
default is 8.
...
...
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