HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 2212 Details

Help 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 UNINITIATED

    Review 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:

     

    Back   


Contact the Certification Authority