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
da312b55
Commit
da312b55
authored
Feb 02, 2001
by
Neil Booth
Committed by
Neil Booth
Feb 02, 2001
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* cpp.texi, invoke.texi: Update -Wtraditional documentation.
From-SVN: r39414
parent
2ca46e8a
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
66 additions
and
18 deletions
+66
-18
gcc/ChangeLog
+4
-0
gcc/cpp.texi
+33
-0
gcc/invoke.texi
+29
-18
No files found.
gcc/ChangeLog
View file @
da312b55
2001-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
* cpp.texi, invoke.texi: Update -Wtraditional documentation.
2001-02-02 Alexandre Oliva <aoliva@redhat.com>
2001-02-02 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.c (output_far_jump): Don't use braf on SH1. Emit
* config/sh/sh.c (output_far_jump): Don't use braf on SH1. Emit
...
...
gcc/cpp.texi
View file @
da312b55
...
@@ -3313,6 +3313,39 @@ Requests @samp{-Wcomment}, @samp{-Wtrigraphs}, and @samp{-Wwhite-space}
...
@@ -3313,6 +3313,39 @@ Requests @samp{-Wcomment}, @samp{-Wtrigraphs}, and @samp{-Wwhite-space}
Warn about certain constructs that behave differently in traditional and
Warn about certain constructs that behave differently in traditional and
ISO C@.
ISO C@.
@itemize @bullet
@item
Macro parameters that appear within string literals in the macro body.
In traditional C macro replacement takes place within string literals,
but does not in ISO C.
@item
In traditional C, some preprocessor directives did not exist.
Traditional preprocessors would only consider a line to be a directive
if the @samp{#} appeared in column 1 on the line. Therefore
@samp{-Wtraditional} warns about directives that traditional C
understands but would ignore because the @samp{#} does not appear as the
first character on the line. It also suggests you hide directives like
@samp{#pragma} not understood by traditional C by indenting them. Some
traditional implementations would not recognise @samp{#elif}, so it
suggests avoiding it altogether.
@item
A function-like macro that appears without arguments.
@item
The unary plus operator.
@item
The `U' integer constant suffix. (Traditonal C does support the `L'
suffix on integer constants.) Note, these suffixes appear in macros
defined in the system headers of most modern systems, e.g. the _MIN/_MAX
macros in limits.h. Use of these macros can lead to spurious warnings
as they do not necessarily reflect whether the code in question is any
less portable to traditional C given that suitable backup definitions
are provided.
@end itemize
@item -Wundef
@item -Wundef
@findex -Wundef
@findex -Wundef
Warn if an undefined identifier is evaluated in an @samp{#if} directive.
Warn if an undefined identifier is evaluated in an @samp{#if} directive.
...
...
gcc/invoke.texi
View file @
da312b55
...
@@ -2068,9 +2068,35 @@ ISO C.
...
@@ -2068,9 +2068,35 @@ ISO C.
@itemize @bullet
@itemize @bullet
@item
@item
Macro arguments occurring within string constants in the macro body.
Macro parameters that appear within string literals in the macro body.
These would substitute the argument in traditional C, but are part of
In traditional C macro replacement takes place within string literals,
the constant in ISO C.
but does not in ISO C.
@item
In traditional C, some preprocessor directives did not exist.
Traditional preprocessors would only consider a line to be a directive
if the @samp{#} appeared in column 1 on the line. Therefore
@samp{-Wtraditional} warns about directives that traditional C
understands but would ignore because the @samp{#} does not appear as the
first character on the line. It also suggests you hide directives like
@samp{#pragma} not understood by traditional C by indenting them. Some
traditional implementations would not recognise @samp{#elif}, so it
suggests avoiding it altogether.
@item
A function-like macro that appears without arguments.
@item
The unary plus operator.
@item
The `U'
integer
constant
suffix
,
or
the
`
F
' or `L'
floating
point
constant
suffixes
.
(
Traditonal
C
does
support
the
`
L
' suffix on integer
constants.) Note, these suffixes appear in macros defined in the system
headers of most modern systems, e.g. the _MIN/_MAX macros in limits.h.
Use of these macros can lead to spurious warnings as they do not
necessarily reflect whether the code in question is any less portable to
traditional C given that suitable backup definitions are provided.
@item
@item
A function declared external in one block and then used after the end of
A function declared external in one block and then used after the end of
...
@@ -2093,12 +2119,6 @@ typically represent bit patterns, are not warned about.
...
@@ -2093,12 +2119,6 @@ typically represent bit patterns, are not warned about.
Usage of ISO string concatenation is detected.
Usage of ISO string concatenation is detected.
@item
@item
A function macro appears without arguments.
@item
The unary plus operator.
@item
Initialization of automatic aggregates.
Initialization of automatic aggregates.
@item
@item
...
@@ -2111,15 +2131,6 @@ omitted. This is done under the assumption that the zero initializer in
...
@@ -2111,15 +2131,6 @@ omitted. This is done under the assumption that the zero initializer in
user code appears conditioned on e.g. @code{__STDC__} to avoid missing
user code appears conditioned on e.g. @code{__STDC__} to avoid missing
initializer warnings and relies on default initialization to zero in the
initializer warnings and relies on default initialization to zero in the
traditional C case.
traditional C case.
@item
The `U'
integer
constant
suffix
,
or
the
`
F
' or `L'
floating
point
constant
suffixes
.
(
Traditonal
C
does
support
the
`
L
' suffix on integer
constants.) Note, these suffixes appear in macros defined in the system
headers of most modern systems, e.g. the _MIN/_MAX macros in limits.h.
Use of these macros can lead to spurious warnings as they do not
necessarily reflect whether the code in question is any less portable to
traditional C given that suitable backup definitions are provided.
@end itemize
@end itemize
@item -Wundef
@item -Wundef
...
...
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