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.