Minutes, February 22, 2000

Issue discussion:

991110.1    Namespaces

    Several issue were discussed with regard to this proposal. The purpose
    of namespace encodings in Dwarf 2 is not to resolve references to variables
    which are referenced in the source code. These currently have explicit
    references in Dwarf 2 (TAG_variable). The namespace information is provided
    for to support references to types or variables which are not explicitly
    referenced. The issue of whether a debugger would be able to resolve namespace
    references in the same fashion as the compiler was viewed as a "quality of
    implementation" issue.
    Within a function, identifying the currently visible namespaces would be
    based on the order of the namespace entries, similar to the current scoping
    rules for includes or declarations. A Dwarf 2 producer may not merge namespace
    declarations in a compilation unit.

    A new tag, TAG_namespace should be used for this information, rather than
    reusing/overloading TAG_module. It was felt that while there may be similarities
    between modules in Ada or other languages and C++ namespaces, that there were
    enough differences to warrant a new tag. Using declarations should be
    represented by TAG_imported_declaration. Reopening previously declared
    namespaces should use AT_extension.

    Jason Merrill will re-draft this proposal in a more formal form which can
    be incorporated in the specification.

991108.11 & 991108.12    Fortran 90 arrays
991026.1    Fortran 90 support

    These 991108.11 & 991108.12 issues will be merged. Ron Brender has provided a
    replacement proposal. 991026.1 appears to be addressed by these proposals and
    will be withdrawn.

    It was not clear where the object being addressed is found, or whether there
    was some abiguity in DW_OP_push_object_address. Ron Brender will describe
    the example from 991108.11. There was discussion about whether DW_OP_push_address
    was necessary, or whether the current handling of structures should be extended.
    The starting address of a structure is pushed on the evaluation stack before a
    location expression is evaluated. General feeling what that it was better to
    have the push operation well defined and explicit.