aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/macrotab.h9
2 files changed, 13 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index dc7f7eb..707dadf 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2002-11-06 Jim Blandy <jimb@redhat.com>
+
+ * macrotab.h (struct macro_source_file): Doc fix.
+
2002-11-05 Jeff Johnston <jjohnstn@redhat.com>
* varobj.c (child_exists, cplus_number_of_children): Change
diff --git a/gdb/macrotab.h b/gdb/macrotab.h
index df32977..bd44e2c 100644
--- a/gdb/macrotab.h
+++ b/gdb/macrotab.h
@@ -83,6 +83,15 @@ struct macro_table;
tree mapping the #inclusions that contributed to the compilation
unit, with the main source file as its root.
+ Beware --- not every source file mentioned in a compilation unit's
+ symtab structures will appear in the #inclusion tree! As of Oct
+ 2002, GCC does record the effect of #line directives in the source
+ line info, but not in macro info. This means that GDB's symtabs
+ (built from the former, among other things) may mention filenames
+ that the #inclusion tree (built from the latter) doesn't have any
+ record of. See macroscope.c:sal_macro_scope for how to accomodate
+ this.
+
It's worth noting that libcpp has a simpler way of representing all
this, which we should consider switching to. It might even be
suitable for ordinary non-macro line number info.