|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2467 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 2467.
Report 2467 Actions
Problem Report Number 2467 Submitter's Classification Minor System Fault State Resolved Resolution Minor System Fault (MSF) Problem Resolution ID MSF.X.0098 Raised 2005-07-16 01:26 Updated 2005-07-20 21:50 Published 2005-07-20 21:50 Expiry Date 2006-07-21 Product Standard C Language V2 (UNIX 03) Certification Program The Open Brand certification program Test Suite Plum Hall version cvs05a Test Identification n07073 Specification ISO/IEC 9899:1999 Location in Spec C99 6.7.4 SYNTAX-MANDATORY Problem Summary Missing diagnostic in Plum Hall test n07073 Problem Text The test program is supposed to generate a warning. On our platform it
doesn't and we will
fix it in the next official release.Test Output --- n07073: NO DIAGNOSTICS IN OUTPUT
INPUT PROGRAM WAS...
/* #073 C99 6.7.4 SYNTAX-MANDATORY */
/* not contain a reference to an identifier with internal */
static int i = 9;
inline int f() {
return i;
}
int main() {
return f(); }Review Information
Review Type SA Review Start Date 2005-07-16 01:26 Last Updated 2005-07-20 20:39 Completed 2005-07-20 20:39 Status Complete Review Resolution Minor System Fault (MSF) Review Conclusion A minor system fault is granted.
The Consultant reports that:-
The C99 standard requires (at least) a warning message for this
situation. As I recall the discussion in WG14, the issue is as
follows: A programmer could write code such as ...
fa.c_____________
#include "f.h"
int fa() {
return f();
}
fb.c_____________
#include "f.h"
int fb() {
return f();
}
f.h______
static int count=0;
inline f() {
return count++;
}
If C99 permitted this without warnings or errors, C99 programmers
would come to regard it as a "feature" of C99, that each source file
gets its own copy of any file-scope statics that are used in inline
functions. But this would be incompatible with C++, where the "one-
definition-rule" requires that all the references to count must
refer to the same object. However, WG14 did not wish to require all
the linker support that C++ requires, so the construct requires a
diagnostic. Ultimately, the diagnostic is required for "C++
compatibility". For the purposes of The Open Group, I would regard
that as a "minor" issue.
Since C++ is (currently) beyond the scope of the Open Group branding,
this is not regarded a "portability" problem and an MSF is granted.
Problem Reporting System Options:
- View Report 2467
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority