Poor, underpublicized ups B-)

From: Bob Carragher (bobthedancer_at_yahoo.com)
Date: Tue Aug 21 2001 - 07:30:13 BST

  • Next message: Tim Launchbury: "Re: UPS freeze computer"
    Rod Armstrong <rod_at_san-jose.tt.slb.com> sez:
    Bob-> 	In order the raise the "tragically under-publicized"
    Bob-> state of ups, I updated the entry in http://freshmeat.net/projects/ups/
    Bob-> with a screen shot and info on beta2. Feel free to vote or add comments -
    Bob-> it currently has none.
    This is a good start.  However, there is one big "problem" that
    I feel might be preventing ups' adoption in large development
    projects:  the handling of the #pragma constructs.  (This is
    certainly The Big Reason that "ddd" is preferred over ups at
    our company.)
    Specifically, the "#pragma interface"/"#pragma implementation"
    construct in the .h/.cpp files causes problems when ups tries
    to display the structure of a class or struct which is not
    defined in the same file as the code/variable being viewed.
    (The class or struct is declared to be an "undefined struct.")
    The main reason that this #pragma construct is used is to help
    reduce the size of the executables.  Quoting from the relevent
    GCC info page, this forces the definition of certain information,
    "backup copies of inline member functions, debugging information,
    and the internal tables that implement virtual functions," to
    occur only in the .cpp file corresponding to the .h file.  (More
    or less.)  There are other uses for this form of #pragma, but
    this is the main reason we use it because it reduces our program
    binary's size by >60%.
    I have checked this with versions 3.35 and 3.37-beta2, and both
    show this "problem."
    Would this take a major project to fix, or is it a relatively
    simple fix?

    This archive was generated by hypermail 2.1.4 : Wed Feb 13 2002 - 22:11:36 GMT