|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2212 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 2212.
Report 2212 Actions
Problem Report Number 2212 Submitter's Classification Specification problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0625 Raised 2000-04-26 08:00 Updated 2003-03-13 08:00 Published null Product Standard Motif Toolkit Certification Program The Open Brand certification program Test Suite VSM version 4.1.2 Test Identification Headers/Xm/DragDrop.h 1 Problem Summary PG4M.00021 This test is getting compilation errors because of a circular definition problem in the header files. The test in question includes the file "DragDrop.h", but the files look like this: DragDrop.h #inc... Problem Text
This test is getting compilation errors because of a circular
definition problem in the header files. The test in question includes
the file "DragDrop.h", but the files look like this:
DragDrop.h
----------
#include <DragC.h>
DragC.h
-------
#include <Xm.h>
...
#define XmDROP_NOOP 0L
#define XmDROP_MOVE (1L << 0)
#define XmDROP_COPY (1L << 1)
#define XmDROP_LINK (1L << 2)
Xm.h
----
#include <Transfer.h>
Transfer.h
----------
#include <DragDrop.h> /* Will not have the intended effect */
/* DragDrop.h is now #ifdef shielded */
...
enum { XmMOVE = XmDROP_MOVE, XmCOPY = XmDROP_COPY,
XmLINK = XmDROP_LINK, XmOTHER };
So this enum statement will be reached before the macros are actually
defined. In fact, this happens if you include any of these files
without explicitly including Xm.h beforehand.
Possible solutions:
1. Change the test case to include Xm.h before attempting to
include DragDrop.h.
2. Fix the header files. Change the include dependencies to
prevent this circle. Kind of a puzzle.
3. Change DragC.h to define these macros before completing
the circle:
DragC.h
-------
#define XmDROP_NOOP 0L
#define XmDROP_MOVE (1L << 0)
#define XmDROP_COPY (1L << 1)
#define XmDROP_LINK (1L << 2)
...
#include <Xm.h>Test Output
SECTION: Headers
TEST CASE: Xm/DragDrop.h
Build tool error 2 on build of file /tset/headers/DragDrop/DragDrop1
hdranal: Error at Line 9655: `XmDROP_MOVE' undeclared, outside of functions
hdranal: Line text is: 'enum { XmMOVE = XmDROP_MOVE, XmCOPY = XmDROP_COPY, '
hdranal: Error at Line 9655: `XmDROP_COPY' undeclared, outside of functions
hdranal: Line text is: 'enum { XmMOVE = XmDROP_MOVE, XmCOPY = XmDROP_COPY, '
hdranal: Error at Line 9656: `XmDROP_LINK' undeclared, outside of functions
hdranal: Line text is: ' XmLINK = XmDROP_LINK, XmOTHER };'
"/usr/include/Xm/Transfer.h", line 53.17: 1506-045 (S) Undeclared identifier XmDROP_MOVE.
"/usr/include/Xm/Transfer.h", line 53.39: 1506-045 (S) Undeclared identifier XmDROP_COPY.
"/usr/include/Xm/Transfer.h", line 54.17: 1506-045 (S) Undeclared identifier XmDROP_LINK.
make: 1254-004 The error code from the last command is 1.
Compiler output truncated at 10 lines, 13 lines produced
TEST PURPOSES #1 to #17 UNINITIATEDReview Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
We recommend that this waiver request be refused. Our understanding
is that this is a defect in the Motif source code and has been fixed
in the latest available code base.
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 2212
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority