[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
Title: | DCLREVIEW |
|
Moderator: | HYLNDR::SYSTEM |
|
Created: | Sun Apr 19 1987 |
Last Modified: | Fri May 23 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 773 |
Total number of notes: | 5391 |
772.0. "Additions to /WARNINGS for C and C++" by DECC::VOGEL () Fri May 09 1997 17:46
Product: DEC C and C++ for OpenVMS
Contact Name: Ed Vogel
E-Mail Address: DECC::VOGEL
DTN: 381-2668
Additions to the /WARNINGS qualifier in DEC C and C++.
Command Summary:
extend the /WARNINGS qualifier to allow the user to:
.Change the severity of certain messages
.Change the "emit once" characteristic of a message
For changing severity, we will not allow an -F- or -E- level
message to be made less severe. Any other change is allowed.
The "emit once" characteristic is a new concept for DEC C/C++.
We plan to make certain messages "emit once". These are messages
that will be displayed only the first time the compiler encounters
the condition that would cause the message. We expect to make
a number of messages emit once messages. An example of an
emit once message would be a warning that informs a user their
program uses some feature of DEC C/C++ which is a language
extension. It makes sense to warn the user that this feature
is being used, but it does not make sense to issue a warning
on every use in the program (as we often do today).
Justification:
We have been asked for these features. They will also
be enabled via language #pragma directives, but for completeness
we want command line controls for them also.
Details:
The current /WARNINGS qualifier options are:
/WARNINGS
/WARNINGS[=(option[,...])]
/WARNINGS (D)
/NOWARNINGS
The existing options are:
DISABLE=(msg-list) Suppresses the issuance of the indicated
messages. Msg-list is a comma-separated list of
individual message IDs or message group names.
ENABLE=(msg-list) Enables the issuance of the indicated messages.
Msg-list is a comma-separated list of individual
message IDs or message group names.
NOINFORMATIONALS Suppresses informational messages.
We propose to add the following options:
FATALS=(msg-list) Each message on the msg-list will be
set to have fatal severity.
ERRORS=(msg-list) Each message on the msg-list will be
set to have error severity.
WARNINGS=(msg-list) Each message on the msg-list will be
set to have warning severity.
INFORMATIONALS=(msg-list) Each message on the msg-list will be
set to have informational severity.
EMIT_ONCE=(mgs-list) Emit these messages only once per compilation.
EMIT_ALWAYS=(mgs-list) Emit these messages at every occurrence of
the condition.
Semantic Notes:
Today, if a message is on both the enabled and disabled list
it is disabled. We propose that if a message is on both
the EMIT_ONCE and the EMIT_ALWAYS list that it will be considered
on the EMIT_ONCE list. If a message is on more than one
of the FATALS, ERRORS, WARNINGS, or INFORMATIONALS lists, the message
will be given the least severe level.
Also note that the NOINFORMATIONALS option is not the negation
of INFORMATIONALS=(msg-list). It is valid to say:
/WARN=(INFORMATIONALS=(message_list),NOINFORMATIONALS)
This has the effect of making the messages on the message_list
informationals, and causing the compiler not to output any
informational messages.
T.R | Title | User | Personal Name | Date | Lines |
---|
772.1 | | TLE::REAGAN | All of this chaos makes perfect sense | Mon May 12 1997 10:58 | 7 |
| Sure.
However, given the line length limits on DCL, you aren't going to be
able to get that complicated with "moving" dozens of errors from one
group to another...
-John
|