|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 0523 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 0523.
Report 0523 Actions
Problem Report Number 0523 Submitter's Classification Test Suite problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0142 Raised 1997-09-26 08:00 Updated 2003-03-13 08:00 Published null Product Standard Internationalised System Calls and Libraries Extended (UNIX 95) Certification Program The Open Brand certification program Test Suite VSX4 version 4.4.1 Test Identification ANSI.hdr/misc/stdio_1 2, 12, 17, 36, 41 Problem Summary PG4R.143 Test ANSI.hdr/misc/stdio_X{2} also fails. The tests fail because we now define FILE in <stdio.h> as: typedef struct __FILE FILE; where struct __FILE is defined within our implementation of libc but is... Problem Text
Test ANSI.hdr/misc/stdio_X{2} also fails.
The tests fail because we now define FILE in <stdio.h> as:
typedef struct __FILE FILE;
where struct __FILE is defined within our implementation of libc but is
not available in any public header. This means that users can declare
and use variables of type FILE * (i.e. pointers to a FILE) but not
variables of type FILE (i.e. the complete data structure). Our reason
for making this change is to provide the implementation with a means of
changing the definition of struct __FILE as standards evolve in the
future without affecting portable applications.
In the header tests, the suite tries to verify that an application can
declare and use variables of type FILE. We claim that this is not
a valid test, since it makes the assumption that the contents of FILE
are known to a portable application. ISO/IEC9899:1990 section 7.9.1
says <stdio.h> declares the type FILE
which is an object capable of recording all the information
needed to control a stream, including its file position indicator,
a pointer to its associated buffer (if any), an error indicator
that records whether a read/write error has occurred, and an
end-of-file indicator that records whether the end of the file has
been reached.
XSH5 requires that FILE be defined as a structure containing
information about a file defined through typedef (XSH5, P1141), but no
elements of the structure are listed. Therefore, a portable
application cannot refer to any elements of the structure except
through the standard user interfaces. We believe that our
implementation of FILE meets all of the requirements stated by ISO C,
POSIX, and XSH5 and that the test suite is testing more than is
required by the specifications.
The following is an example of the source code from the test suite.
Note the declaration and use of the variable deref which generates
the compilation errors in the journal file. The code is similar for
each failed test.
---
...
FILE deref;
FILE *ret;
char *file;
char *type;
if (ret == fopen(file , type ))
;
deref = fopen(file, type)[0];
ret = fopen(file , type);
....
---Test Output
10|8 /tset/ANSI.hdr/misc/stdio_1/T.stdio_1 19:45:37|TC Start, scenario ref 10-0
15|8 3.1-lite 1|TCM Start
...
200|8 2 19:45:40|TP Start
520|8 2 00007533 2 1|Compilation exited with non-zero value when expected to succeed
520|8 2 00007533 2 2|Feature test macros: -D_XOPEN_SOURCE
520|8 2 00007533 2 3|Compiler or run-time messages or results:
520|8 2 00007533 2 4|"cc02cs.c", line 9: incomplete struct/union/enum __FILE: var
520|8 2 00007533 2 5|cc: acomp failed for cc02cs.c
520|8 2 00007533 3 1|Compilation exited with non-zero value when expected to succeed
520|8 2 00007533 3 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_SOURCE
520|8 2 00007533 3 3|Compiler or run-time messages or results:
520|8 2 00007533 3 4|"cc02cs.c", line 9: incomplete struct/union/enum __FILE: var
520|8 2 00007533 3 5|cc: acomp failed for cc02cs.c
520|8 2 00007533 4 1|Compilation exited with non-zero value when expected to succeed
520|8 2 00007533 4 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=1
520|8 2 00007533 4 3|Compiler or run-time messages or results:
520|8 2 00007533 4 4|"cc02cs.c", line 9: incomplete struct/union/enum __FILE: var
520|8 2 00007533 4 5|cc: acomp failed for cc02cs.c
520|8 2 00007533 5 1|Compilation exited with non-zero value when expected to succeed
520|8 2 00007533 5 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=2
520|8 2 00007533 5 3|Compiler or run-time messages or results:
520|8 2 00007533 5 4|"cc02cs.c", line 9: incomplete struct/union/enum __FILE: var
520|8 2 00007533 5 5|cc: acomp failed for cc02cs.c
520|8 2 00007533 6 1|Compilation exited with non-zero value when expected to succeed
520|8 2 00007533 6 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=1
520|8 2 00007533 6 3|Compiler or run-time messages or results:
520|8 2 00007533 6 4|"cc02cs.c", line 9: incomplete struct/union/enum __FILE: var
520|8 2 00007533 6 5|cc: acomp failed for cc02cs.c
520|8 2 00007533 7 1|Compilation exited with non-zero value when expected to succeed
520|8 2 00007533 7 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=2
520|8 2 00007533 7 3|Compiler or run-time messages or results:
520|8 2 00007533 7 4|"cc02cs.c", line 9: incomplete struct/union/enum __FILE: var
520|8 2 00007533 7 5|cc: acomp failed for cc02cs.c
220|8 2 1 19:45:41|FAIL
...
200|8 12 19:46:19|TP Start
520|8 12 00007533 2 1|Compilation exited with non-zero value when expected to succeed
520|8 12 00007533 2 2|Feature test macros: -D_XOPEN_SOURCE
520|8 12 00007533 2 3|Compiler or run-time messages or results:
520|8 12 00007533 2 4|"cc12es.c", line 15: incomplete struct/union/enum __FILE: deref
520|8 12 00007533 2 5|"cc12es.c", line 15: floating-point constant folding causes exception
520|8 12 00007533 2 6|cc: acomp failed for cc12es.c
520|8 12 00007533 3 1|Compilation exited with non-zero value when expected to succeed
520|8 12 00007533 3 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_SOURCE
520|8 12 00007533 3 3|Compiler or run-time messages or results:
520|8 12 00007533 3 4|"cc12es.c", line 15: incomplete struct/union/enum __FILE: deref
520|8 12 00007533 3 5|"cc12es.c", line 15: floating-point constant folding causes exception
520|8 12 00007533 3 6|cc: acomp failed for cc12es.c
520|8 12 00007533 4 1|Compilation exited with non-zero value when expected to succeed
520|8 12 00007533 4 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=1
520|8 12 00007533 4 3|Compiler or run-time messages or results:
520|8 12 00007533 4 4|"cc12es.c", line 15: incomplete struct/union/enum __FILE: deref
520|8 12 00007533 4 5|"cc12es.c", line 15: floating-point constant folding causes exception
520|8 12 00007533 4 6|cc: acomp failed for cc12es.c
520|8 12 00007533 5 1|Compilation exited with non-zero value when expected to succeed
520|8 12 00007533 5 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=2
520|8 12 00007533 5 3|Compiler or run-time messages or results:
520|8 12 00007533 5 4|"cc12es.c", line 15: incomplete struct/union/enum __FILE: deref
520|8 12 00007533 5 5|"cc12es.c", line 15: floating-point constant folding causes exception
520|8 12 00007533 5 6|cc: acomp failed for cc12es.c
520|8 12 00007533 6 1|Compilation exited with non-zero value when expected to succeed
520|8 12 00007533 6 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=1
520|8 12 00007533 6 3|Compiler or run-time messages or results:
520|8 12 00007533 6 4|"cc12es.c", line 15: incomplete struct/union/enum __FILE: deref
520|8 12 00007533 6 5|"cc12es.c", line 15: floating-point constant folding causes exception
520|8 12 00007533 6 6|cc: acomp failed for cc12es.c
520|8 12 00007533 7 1|Compilation exited with non-zero value when expected to succeed
520|8 12 00007533 7 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=2
520|8 12 00007533 7 3|Compiler or run-time messages or results:
520|8 12 00007533 7 4|"cc12es.c", line 15: incomplete struct/union/enum __FILE: deref
520|8 12 00007533 7 5|"cc12es.c", line 15: floating-point constant folding causes exception
520|8 12 00007533 7 6|cc: acomp failed for cc12es.c
220|8 12 1 19:46:20|FAIL
...
200|8 17 19:46:36|TP Start
520|8 17 00007533 2 1|Compilation exited with non-zero value when expected to succeed
520|8 17 00007533 2 2|Feature test macros: -D_XOPEN_SOURCE
520|8 17 00007533 2 3|Compiler or run-time messages or results:
520|8 17 00007533 2 4|"cc17es.c", line 15: incomplete struct/union/enum __FILE: deref
520|8 17 00007533 2 5|"cc17es.c", line 15: floating-point constant folding causes exception
520|8 17 00007533 2 6|cc: acomp failed for cc17es.c
520|8 17 00007533 3 1|Compilation exited with non-zero value when expected to succeed
520|8 17 00007533 3 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_SOURCE
520|8 17 00007533 3 3|Compiler or run-time messages or results:
520|8 17 00007533 3 4|"cc17es.c", line 15: incomplete struct/union/enum __FILE: deref
520|8 17 00007533 3 5|"cc17es.c", line 15: floating-point constant folding causes exception
520|8 17 00007533 3 6|cc: acomp failed for cc17es.c
520|8 17 00007533 4 1|Compilation exited with non-zero value when expected to succeed
520|8 17 00007533 4 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=1
520|8 17 00007533 4 3|Compiler or run-time messages or results:
520|8 17 00007533 4 4|"cc17es.c", line 15: incomplete struct/union/enum __FILE: deref
520|8 17 00007533 4 5|"cc17es.c", line 15: floating-point constant folding causes exception
520|8 17 00007533 4 6|cc: acomp failed for cc17es.c
520|8 17 00007533 5 1|Compilation exited with non-zero value when expected to succeed
520|8 17 00007533 5 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=2
520|8 17 00007533 5 3|Compiler or run-time messages or results:
520|8 17 00007533 5 4|"cc17es.c", line 15: incomplete struct/union/enum __FILE: deref
520|8 17 00007533 5 5|"cc17es.c", line 15: floating-point constant folding causes exception
520|8 17 00007533 5 6|cc: acomp failed for cc17es.c
520|8 17 00007533 6 1|Compilation exited with non-zero value when expected to succeed
520|8 17 00007533 6 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=1
520|8 17 00007533 6 3|Compiler or run-time messages or results:
520|8 17 00007533 6 4|"cc17es.c", line 15: incomplete struct/union/enum __FILE: deref
520|8 17 00007533 6 5|"cc17es.c", line 15: floating-point constant folding causes exception
520|8 17 00007533 6 6|cc: acomp failed for cc17es.c
520|8 17 00007533 7 1|Compilation exited with non-zero value when expected to succeed
520|8 17 00007533 7 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=2
520|8 17 00007533 7 3|Compiler or run-time messages or results:
520|8 17 00007533 7 4|"cc17es.c", line 15: incomplete struct/union/enum __FILE: deref
520|8 17 00007533 7 5|"cc17es.c", line 15: floating-point constant folding causes exception
520|8 17 00007533 7 6|cc: acomp failed for cc17es.c
220|8 17 1 19:46:37|FAIL
...
200|8 36 19:47:51|TP Start
520|8 36 00007533 2 1|Compilation exited with non-zero value when expected to succeed
520|8 36 00007533 2 2|Feature test macros: -D_XOPEN_SOURCE
520|8 36 00007533 2 3|Compiler or run-time messages or results:
520|8 36 00007533 2 4|"cc36es.c", line 15: incomplete struct/union/enum __FILE: deref
520|8 36 00007533 2 5|"cc36es.c", line 15: floating-point constant folding causes exception
520|8 36 00007533 2 6|cc: acomp failed for cc36es.c
520|8 36 00007533 3 1|Compilation exited with non-zero value when expected to succeed
520|8 36 00007533 3 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_SOURCE
520|8 36 00007533 3 3|Compiler or run-time messages or results:
520|8 36 00007533 3 4|"cc36es.c", line 15: incomplete struct/union/enum __FILE: deref
520|8 36 00007533 3 5|"cc36es.c", line 15: floating-point constant folding causes exception
520|8 36 00007533 3 6|cc: acomp failed for cc36es.c
520|8 36 00007533 4 1|Compilation exited with non-zero value when expected to succeed
520|8 36 00007533 4 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=1
520|8 36 00007533 4 3|Compiler or run-time messages or results:
520|8 36 00007533 4 4|"cc36es.c", line 15: incomplete struct/union/enum __FILE: deref
520|8 36 00007533 4 5|"cc36es.c", line 15: floating-point constant folding causes exception
520|8 36 00007533 4 6|cc: acomp failed for cc36es.c
520|8 36 00007533 5 1|Compilation exited with non-zero value when expected to succeed
520|8 36 00007533 5 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=2
520|8 36 00007533 5 3|Compiler or run-time messages or results:
520|8 36 00007533 5 4|"cc36es.c", line 15: incomplete struct/union/enum __FILE: deref
520|8 36 00007533 5 5|"cc36es.c", line 15: floating-point constant folding causes exception
520|8 36 00007533 5 6|cc: acomp failed for cc36es.c
520|8 36 00007533 6 1|Compilation exited with non-zero value when expected to succeed
520|8 36 00007533 6 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=1
520|8 36 00007533 6 3|Compiler or run-time messages or results:
520|8 36 00007533 6 4|"cc36es.c", line 15: incomplete struct/union/enum __FILE: deref
520|8 36 00007533 6 5|"cc36es.c", line 15: floating-point constant folding causes exception
520|8 36 00007533 6 6|cc: acomp failed for cc36es.c
520|8 36 00007533 7 1|Compilation exited with non-zero value when expected to succeed
520|8 36 00007533 7 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=2
520|8 36 00007533 7 3|Compiler or run-time messages or results:
520|8 36 00007533 7 4|"cc36es.c", line 15: incomplete struct/union/enum __FILE: deref
520|8 36 00007533 7 5|"cc36es.c", line 15: floating-point constant folding causes exception
520|8 36 00007533 7 6|cc: acomp failed for cc36es.c
220|8 36 1 19:47:52|FAIL
...
200|8 41 19:48:09|TP Start
520|8 41 00007533 2 1|Compilation exited with non-zero value when expected to succeed
520|8 41 00007533 2 2|Feature test macros: -D_XOPEN_SOURCE
520|8 41 00007533 2 3|Compiler or run-time messages or results:
520|8 41 00007533 2 4|"cc41es.c", line 16: incomplete struct/union/enum __FILE: deref
520|8 41 00007533 2 5|"cc41es.c", line 16: floating-point constant folding causes exception
520|8 41 00007533 2 6|cc: acomp failed for cc41es.c
520|8 41 00007533 3 1|Compilation exited with non-zero value when expected to succeed
520|8 41 00007533 3 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_SOURCE
520|8 41 00007533 3 3|Compiler or run-time messages or results:
520|8 41 00007533 3 4|"cc41es.c", line 16: incomplete struct/union/enum __FILE: deref
520|8 41 00007533 3 5|"cc41es.c", line 16: floating-point constant folding causes exception
520|8 41 00007533 3 6|cc: acomp failed for cc41es.c
520|8 41 00007533 4 1|Compilation exited with non-zero value when expected to succeed
520|8 41 00007533 4 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=1
520|8 41 00007533 4 3|Compiler or run-time messages or results:
520|8 41 00007533 4 4|"cc41es.c", line 16: incomplete struct/union/enum __FILE: deref
520|8 41 00007533 4 5|"cc41es.c", line 16: floating-point constant folding causes exception
520|8 41 00007533 4 6|cc: acomp failed for cc41es.c
520|8 41 00007533 5 1|Compilation exited with non-zero value when expected to succeed
520|8 41 00007533 5 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=2
520|8 41 00007533 5 3|Compiler or run-time messages or results:
520|8 41 00007533 5 4|"cc41es.c", line 16: incomplete struct/union/enum __FILE: deref
520|8 41 00007533 5 5|"cc41es.c", line 16: floating-point constant folding causes exception
520|8 41 00007533 5 6|cc: acomp failed for cc41es.c
520|8 41 00007533 6 1|Compilation exited with non-zero value when expected to succeed
520|8 41 00007533 6 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=1
520|8 41 00007533 6 3|Compiler or run-time messages or results:
520|8 41 00007533 6 4|"cc41es.c", line 16: incomplete struct/union/enum __FILE: deref
520|8 41 00007533 6 5|"cc41es.c", line 16: floating-point constant folding causes exception
520|8 41 00007533 6 6|cc: acomp failed for cc41es.c
520|8 41 00007533 7 1|Compilation exited with non-zero value when expected to succeed
520|8 41 00007533 7 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=2
520|8 41 00007533 7 3|Compiler or run-time messages or results:
520|8 41 00007533 7 4|"cc41es.c", line 16: incomplete struct/union/enum __FILE: deref
520|8 41 00007533 7 5|"cc41es.c", line 16: floating-point constant folding causes exception
520|8 41 00007533 7 6|cc: acomp failed for cc41es.c
220|8 41 1 19:48:10|FAIL
...
10|10 /tset/ANSI.hdr/misc/stdio_X/T.stdio_X 19:54:07|TC Start, scenario ref 12-0
15|10 3.1-lite 1|TCM Start
400|10 1 37 19:54:08|IC Start
...
200|10 2 19:54:12|TP Start
520|10 2 00012029 2 1|Compilation exited with non-zero value when expected to succeed
520|10 2 00012029 2 2|Feature test macros: -D_XOPEN_SOURCE
520|10 2 00012029 2 3|Compiler or run-time messages or results:
520|10 2 00012029 2 4|"cc02es.c", line 16: incomplete struct/union/enum __FILE: deref
520|10 2 00012029 2 5|"cc02es.c", line 16: floating-point constant folding causes exception
520|10 2 00012029 2 6|cc: acomp failed for cc02es.c
520|10 2 00012029 3 1|Compilation exited with non-zero value when expected to succeed
520|10 2 00012029 3 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_SOURCE
520|10 2 00012029 3 3|Compiler or run-time messages or results:
520|10 2 00012029 3 4|"cc02es.c", line 16: incomplete struct/union/enum __FILE: deref
520|10 2 00012029 3 5|"cc02es.c", line 16: floating-point constant folding causes exception
520|10 2 00012029 3 6|cc: acomp failed for cc02es.c
520|10 2 00012029 4 1|Compilation exited with non-zero value when expected to succeed
520|10 2 00012029 4 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=1
520|10 2 00012029 4 3|Compiler or run-time messages or results:
520|10 2 00012029 4 4|"cc02es.c", line 16: incomplete struct/union/enum __FILE: deref
520|10 2 00012029 4 5|"cc02es.c", line 16: floating-point constant folding causes exception
520|10 2 00012029 4 6|cc: acomp failed for cc02es.c
520|10 2 00012029 5 1|Compilation exited with non-zero value when expected to succeed
520|10 2 00012029 5 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=2
520|10 2 00012029 5 3|Compiler or run-time messages or results:
520|10 2 00012029 5 4|"cc02es.c", line 16: incomplete struct/union/enum __FILE: deref
520|10 2 00012029 5 5|"cc02es.c", line 16: floating-point constant folding causes exception
520|10 2 00012029 5 6|cc: acomp failed for cc02es.c
520|10 2 00012029 6 1|Compilation exited with non-zero value when expected to succeed
520|10 2 00012029 6 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=1
520|10 2 00012029 6 3|Compiler or run-time messages or results:
520|10 2 00012029 6 4|"cc02es.c", line 16: incomplete struct/union/enum __FILE: deref
520|10 2 00012029 6 5|"cc02es.c", line 16: floating-point constant folding causes exception
520|10 2 00012029 6 6|cc: acomp failed for cc02es.c
520|10 2 00012029 7 1|Compilation exited with non-zero value when expected to succeed
520|10 2 00012029 7 2|Feature test macros: -D_XOPEN_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=2
520|10 2 00012029 7 3|Compiler or run-time messages or results:
520|10 2 00012029 7 4|"cc02es.c", line 16: incomplete struct/union/enum __FILE: deref
520|10 2 00012029 7 5|"cc02es.c", line 16: floating-point constant folding causes exception
520|10 2 00012029 7 6|cc: acomp failed for cc02es.c
220|10 2 1 19:54:13|FAILReview Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
The quote from section 7.9.1 of ISO/IEC 9899:1990 is inaccurate It should read:
which is an object type capable of recording all the information
^^^^
needed to control a stream, including its file position indicator,
a pointer to its associated buffer (if any), an error indicator
that records whether a read/write error has occurred, and an
end-of-file indicator that records whether the end of the file has
been reached.
This is an important distinction because, in section 6.1.2.5 of ISO/IEC
9899:1990 it states:
"Types are partitioned into _object types_ (types that describe
objects), _function types_ (types that describe functions), and
_incomplete types_ (types that describe objects but lack information
needed to determine their sizes)."
Since FILE is required to be an "object type", it cannot be an incomplete
type as per this implementation.
The test suite correctly follows the requirements of the ISO/IEC standard
in determining that FILE is an object type rather than an incomplete type.
It is recommended that this request is declined.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Rejected (REJ) Review Conclusion
This request is refused.
Problem Reporting System Options:
- View Report 0523
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority