8sa1-gcc/gcc/java/xref.h
Alexandre Petit-Bianco e8fc739639 lang.c (lang_decode_option): Fixed returned value when parsing -fxref=...' and -Wall'.
Mon Apr 19 14:44:48 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* lang.c (lang_decode_option): Fixed returned value when parsing
 	`-fxref=...' and `-Wall'.
	* parse.y (source_end_java_method): Do not generate code when
 	flag_emit_xref is set.
	(resolve_expression_name): Do not build static field access when
 	flag_emit_xref is set.
	(resolve_field_access): No special treatement on `length' when
 	flag_emit_xref is set. Do not build qualified static field access
 	when flag_emit_xref is set.
	(patch_invoke): Keep the method DECL as operand 0 of the CALL_EXPR
 	when flag_emit_xref is set.
	(patch_assignment): Do not generate array store runtime check when
 	flag_emit_xref is set.
	* xref.c (xref_flag_value): Fixed function declaration
 	indentation.
	(xset_set_data): New function.
	* xref.h (xref_set_data): Added prototype for new function.
	(typedef struct xref_flag_table): New field data.
	(XREF_GET_DATA): New macro.

From-SVN: r26550
1999-04-19 08:45:57 -07:00

47 lines
1.7 KiB
C

/* Definitions for the cross reference backend xref.c
Copyright (C) 1999 Free Software Foundation, Inc.
Contributed by Alexandre Petit-Bianco (apbianco@cygnus.com)
This file is part of GNU CC.
GNU CC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU CC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
Java and all Java-based marks are trademarks or registered trademarks
of Sun Microsystems, Inc. in the United States and other countries.
The Free Software Foundation is independent of Sun Microsystems, Inc. */
/* Exported functions. */
int xref_flag_value PROTO ((char *));
void expand_xref PROTO ((tree));
void xref_set_data PROTO ((int, void *));
/* flag_emit_xref range of possible values. */
enum {
XREF_NONE = 0
};
/* Lookup table to be used with the value of flag_emit_xref */
typedef struct {
char *key; /* Activator in -fxref=<key> */
void (*expand) PROTO ((FILE *, tree)); /* Function to write xrefs out */
FILE *fp; /* fp to use during the call. */
void *data; /* Placeholder for additional data */
} xref_flag_table;
#define XREF_GET_DATA(FLAG, T) ((T)xref_table [(FLAG)-1].data)