1*c87b03e5Sespie /* Definitions for the cross reference backend xref.c 2*c87b03e5Sespie Copyright (C) 1999, 2000 Free Software Foundation, Inc. 3*c87b03e5Sespie Contributed by Alexandre Petit-Bianco (apbianco@cygnus.com) 4*c87b03e5Sespie 5*c87b03e5Sespie This file is part of GNU CC. 6*c87b03e5Sespie 7*c87b03e5Sespie GNU CC is free software; you can redistribute it and/or modify 8*c87b03e5Sespie it under the terms of the GNU General Public License as published by 9*c87b03e5Sespie the Free Software Foundation; either version 2, or (at your option) 10*c87b03e5Sespie any later version. 11*c87b03e5Sespie 12*c87b03e5Sespie GNU CC is distributed in the hope that it will be useful, 13*c87b03e5Sespie but WITHOUT ANY WARRANTY; without even the implied warranty of 14*c87b03e5Sespie MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15*c87b03e5Sespie GNU General Public License for more details. 16*c87b03e5Sespie 17*c87b03e5Sespie You should have received a copy of the GNU General Public License 18*c87b03e5Sespie along with GNU CC; see the file COPYING. If not, write to 19*c87b03e5Sespie the Free Software Foundation, 59 Temple Place - Suite 330, 20*c87b03e5Sespie Boston, MA 02111-1307, USA. 21*c87b03e5Sespie 22*c87b03e5Sespie Java and all Java-based marks are trademarks or registered trademarks 23*c87b03e5Sespie of Sun Microsystems, Inc. in the United States and other countries. 24*c87b03e5Sespie The Free Software Foundation is independent of Sun Microsystems, Inc. */ 25*c87b03e5Sespie 26*c87b03e5Sespie /* Exported functions. */ 27*c87b03e5Sespie int xref_flag_value PARAMS ((const char *)); 28*c87b03e5Sespie void expand_xref PARAMS ((tree)); 29*c87b03e5Sespie void xref_set_data PARAMS ((int, void *)); 30*c87b03e5Sespie void *xref_get_data PARAMS ((int)); 31*c87b03e5Sespie void xref_set_current_fp PARAMS ((FILE *)); 32*c87b03e5Sespie 33*c87b03e5Sespie /* flag_emit_xref range of possible values. */ 34*c87b03e5Sespie 35*c87b03e5Sespie enum { 36*c87b03e5Sespie XREF_NONE = 0 37*c87b03e5Sespie }; 38*c87b03e5Sespie 39*c87b03e5Sespie /* Lookup table to be used with the value of flag_emit_xref */ 40*c87b03e5Sespie 41*c87b03e5Sespie typedef struct { 42*c87b03e5Sespie char *key; /* Activator in -fxref=<key> */ 43*c87b03e5Sespie void (*expand) PARAMS ((FILE *, tree)); /* Function to write xrefs out */ 44*c87b03e5Sespie FILE *fp; /* fp to use during the call. */ 45*c87b03e5Sespie void *data; /* Placeholder for additional data */ 46*c87b03e5Sespie } xref_flag_table; 47*c87b03e5Sespie 48*c87b03e5Sespie #define XREF_GET_DATA(FLAG, T) ((T)xref_get_data (FLAG)) 49