2006-11-20 H.J. Lu <hongjiu.lu@intel.com>
[deliverable/binutils-gdb.git] / gdb / macrotab.h
index df32977967ef5d206e131ee52437bcaf40a75810..f1a028a3667579a57f7124bc3e293c25c70ff42f 100644 (file)
@@ -1,5 +1,5 @@
 /* Interface to C preprocessor macro tables for GDB.
-   Copyright 2002 Free Software Foundation, Inc.
+   Copyright (C) 2002 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of GDB.
@@ -16,8 +16,8 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
 
 #ifndef MACROTAB_H
 #define 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.
This page took 0.051835 seconds and 4 git commands to generate.