Minutes, February 22, 2000
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
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.