Commit Graph

134 Commits

Author SHA1 Message Date
Per Bothner
2a85660dc2 Make --CLASSPATH by a synonym for --classpath and -classpath.
Implement --bootclasspath.

From-SVN: r50247
2002-03-03 00:35:11 -08:00
Nic Ferrier
db444fbe8e gcj.texi: Option --classpath' becomes --CLASSPATH.'Option `--CLASSPATH' becomes...
* gcj.texi: Option `--classpath' becomes `--CLASSPATH.'Option
 	`--CLASSPATH' becomes `--classpath.'
        * gjavah.c: Likewise.
        * jcf-dump.c: Likewise.
        * lang-options.h: Likewise.
        * lang.c: Likewise.
        * jcf-path.c: Updated comment.
        (jcf_path_classpath_arg): Renamed `jcf_path_CLASSPATH_arg.'
        (jcf_path_CLASSPATH_arg): Renamed `jcf_path_classpath_arg.'
        * jcf.h (jcf_path_CLASSPATH_arg): Ditto.
        (jcf_path_CLASSPATH_arg): Ditto.
        (classpath_u): Updated leading comment.

From-SVN: r49918
2002-02-20 23:12:25 +00:00
Joseph Myers
8512bbd752 gccbug.in: Follow GNU Coding Standards for --version.
gcc:
	* gccbug.in: Follow GNU Coding Standards for --version.  Use GCC
	version rather than GNATS version in --version output.

gcc/f:
	* g77spec.c (lang_specific_driver): Follow GNU Coding Standards
	for --version.

gcc/java:
	* gjavah.c (version), jcf-dump.c (version), jv-scan.c (version):
	Follow GNU Coding Standards for --version.

libjava:
	* gnu/gcj/convert/Convert.java: Only include one copyright year in
	--version output.

From-SVN: r49372
2002-01-31 19:36:28 +00:00
Tom Tromey
0df2959645 More for PR java/5365:
* gjavah.c (print_stub_or_jni): Cause exception to be thrown by
	default.
	(process_file): Generate include for
	java.lang.UnsupportedOperationExceptions.

From-SVN: r48928
2002-01-16 21:18:36 +00:00
Tom Tromey
9c874875a1 re PR java/5365 (gcjh -stubs does not include correct files)
Fix for PR java/5365:
	* gjavah.c (process_file): Turn class name into a file name.

From-SVN: r48891
2002-01-16 00:27:05 +00:00
Kaveh R. Ghazi
c083a819b2 collect2.c (is_ctor_dtor): Const-ify.
* collect2.c (is_ctor_dtor): Const-ify.
	* m88k-protos.c (output_file_start): Likewise.
	* m88k.c (m88k_lang_independent_options, output_options,
	output_file_start): Likewise.
	* fix-header.c (files_to_ignore, std_include_entry, include_entry,
	std_include_table, main): Likewise.
	* protoize.c (longopts): Likewise.
	* regclass.c (int_reg_class_contents): Likewise.
	* toplev.c (dump_file, f_options, W_options): Make static.
	(lang_independent_options, f_options, W_options): Const-ify.
	* tree-dump.c (dump_file_info): Likewise.
	* unroll.c (_factor): Make static.

java:
	* chartables.h: Const-ify.
	* gjavah.c (options): Likewise.
	* jcf-dump.c (options): Likewise.
	* jv-scan.c (options): Likewise.
	* lex.c (java_start_char_p, java_part_char_p): Likewise.
	* parse.y (binop_lookup): Likewise.

From-SVN: r48322
2001-12-27 03:35:21 +00:00
Tom Tromey
5fcab23524 gjavah.c (decompile_method): Don't decompile to `return this' for static methods.
* gjavah.c (decompile_method): Don't decompile to `return this'
	for static methods.

From-SVN: r47804
2001-12-09 05:14:19 +00:00
Tom Tromey
7b35f6c94f gjavah.c (cxx_keywords): Re-sorted.
* gjavah.c (cxx_keywords): Re-sorted.
	* lex.c (cxx_keywords): Re-sorted.

From-SVN: r47803
2001-12-09 05:06:45 +00:00
Tom Tromey
897c9e66de gjavah.c (HANDLE_METHOD): Set `decompiled' before doing anything else.
* gjavah.c (HANDLE_METHOD): Set `decompiled' before doing anything
	else.

From-SVN: r47802
2001-12-09 01:30:00 +00:00
Tom Tromey
4440ffc4a5 gjavah.c (print_namelet): Clear subnamelets.
* gjavah.c (print_namelet): Clear subnamelets.
	(HANDLE_METHOD): Set `method_printed' earlier.

From-SVN: r47801
2001-12-09 01:26:30 +00:00
Tom Tromey
150f086dd5 gjavah.c (method_signature): New global.
* gjavah.c (method_signature): New global.
	(HANDLE_METHOD): Set it.
	(decompile_return_statement): New function.
	(decompile_method): Use it.
	(print_method_info): Removed `synth' argument.

From-SVN: r46999
2001-11-14 01:43:56 +00:00
Kaveh R. Ghazi
299b5f9ee9 * gjavah.c (jni_print_char): Fix thinko in last change.
From-SVN: r46399
2001-10-22 03:58:19 +00:00
Kaveh R. Ghazi
0df6c2c74e c-format.c (maybe_read_dollar_number): Use safe-ctype macros and/or fold extra calls into fewer ones.
* c-format.c (maybe_read_dollar_number): Use safe-ctype macros
	and/or fold extra calls into fewer ones.
	* collect2.c (dump_file): Likewise.
	* cppexp.c (parse_number): Likewise.
	* cpplex.c (_cpp_lex_direct): Likewise.
	* final.c (output_asm_insn, asm_fprintf): Likewise.
	* fix-header.c (inf_scan_ident, main): Likewise.
	* fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
	Likewise.
	* fold-const.c (real_hex_to_f): Likewise.
	* gen-protos.c (parse_fn_proto): Likewise.
	* genattrtab.c (check_attr_test, check_attr_value): Likewise.
	* genrecog.c (change_state, write_action): Likewise.
	* gensupport.c (shift_output_template): Likewise.
	* local-alloc.c (requires_inout): Likewise.
	* mips-tfile.c (IS_ASM_IDENT): Likewise.
	* protoize.c (is_id_char, main): Likewise.
	* real.c (asctoeg): Likewise.
	* recog.c (asm_operand_ok): Likewise.
	* reload.c (find_reloads): Likewise.
	* scan.c (scan_identget_token): Likewise.
	* sched-vis.c (print_value): Likewise.
	* stringpool.c (ggc_alloc_string): Likewise.
	* toplev.c (read_integral_parameter, decode_g_option): Likewise.
	* tradcif.y (parse_number, yylex, parse_escape): Likewise.
	* tradcpp.c (rescan): Likewise.
	* tree.c (clean_symbol_name): Likewise.
	* varasm.c (decode_reg_name): Likewise.

	* alpha.h (ASM_OUTPUT_ASCII): Likewise.
	* darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
	* dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
	* m88k.c (output_ascii): Likewise.
	* m88k.h (OVERRIDE_OPTIONS): Likewise.
	* mcore.h (REG_CLASS_FROM_LETTER): Likewise.
	* ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
	* sh.h (REG_CLASS_FROM_LETTER): Likewise.

cp:
	* xref.c (GNU_xref_member): Use safe-ctype macros and/or fold
	extra calls into fewer ones.

f:
	* bad.c (ffebad_finish): Use safe-ctype macros and/or fold extra
	calls into fewer ones.
	* implic.c (ffeimplic_lookup_): Likewise.
	* intdoc.c (dumpimp): Likewise.
	* intrin.c (ffeintrin_init_0): Likewise.
	* lex.c (ffelex_backslash_, ffelex_cfebackslash_, ffelex_hash_):
	Likewise.
	* lex.h (ffelex_is_firstnamechar): Likewise.
	* target.c (ffetarget_integerhex): Likewise.

java:
	* gjavah.c (jni_print_char, decode_signature_piece): Use
	safe-ctype macros and/or fold extra calls into fewer ones.
	* lex.c (java_read_unicode, java_lex): Likewise.
	* lex.h (JAVA_START_CHAR_P, JAVA_PART_CHAR_P, JAVA_ASCII_DIGIT,
	JAVA_ASCII_HEXDIGIT, JAVA_ASCII_LETTER): Likewise.
	* mangle_name.c (append_unicode_mangled_name,
	unicode_mangling_length): Likewise.

From-SVN: r46397
2001-10-21 21:32:15 +00:00
Kaveh R. Ghazi
fd033052f9 gjavah.c (cxx_keywords): Const-ification.
* gjavah.c (cxx_keywords): Const-ification.
	* keyword.gperf (java_keyword): Likewise.
	* lang.c (java_tree_code_name): Likewise.
	* lex.c (cxx_keywords): Likewise.
	* parse.y (java_parser_context_suspend, merge_string_cste): Likewise.

From-SVN: r45564
2001-09-12 16:21:12 +00:00
Tom Tromey
4266d0b272 jcf-dump.c (main): Updated for change to jcf_path_seal.
* jcf-dump.c (main): Updated for change to jcf_path_seal.
	* gjavah.c (main): Updated for change to jcf_path_seal.
	* lang.c (version_flag): New global.
	(java_decode_option): Recognize `-version'.
	(java_init): Update for change to jcf_path_seal.
	* jcf.h (jcf_path_seal): Added `print' argument.
	* jcf-path.c (jcf_path_seal): Added `print' argument.

From-SVN: r44946
2001-08-16 21:52:14 +00:00
Bryce McKinlay
f2a29271d5 gjavah.c (cxx_keywords): Update from the definitive list in cp/lex.c.
* gjavah.c (cxx_keywords): Update from the definitive list in cp/lex.c.
	* lex.c (cxx_keywords): Likewise.

From-SVN: r40773
2001-03-23 05:16:13 +00:00
Bryce McKinlay
60c8748279 [multiple changes]
2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>

	* extend.texi: Document the "java_interface" attribute.

java/:
2001-03-21  Bryce McKinlay  <bryce@albatross.co.nz>

	* gjavah.c (process_file): Mark interface definitions with
	"__attribute__ ((java_interface))".

cp/:
2001-03-22  Bryce McKinlay  <bryce@albatross.co.nz>

	Add support for Java interface method calls.
	* cp-tree.h (struct lang_type): Add java_interface flag.
	(TYPE_JAVA_INTERFACE): New macro.
	* tree.c (cp_valid_lang_attribute): Handle "java_interface" attribute
	by setting TYPE_JAVA_INTERFACE.
	* call.c (java_iface_lookup_fn): New static.
	(build_over_call): If calling a method declared in a
	TYPE_JAVA_INTERFACE, call build_java_interface_fn_ref to generate the
	expression which resolves the function address.
	(build_java_interface_fn_ref): New function.

From-SVN: r40769
2001-03-23 01:49:11 +00:00
Joseph Myers
a67a383a7f g77spec.c (lang_specific_driver): Update copyright year to 2001.
f:
	* g77spec.c (lang_specific_driver): Update copyright year to 2001.

java:
	* gjavah.c (version), jcf-dump.c (version): Update copyright year
	to 2001.

From-SVN: r38951
2001-01-12 17:28:23 +00:00
Joseph Myers
45441c5b90 g77spec.c (lang_specific_driver): Update copyright year to 2000.
f:
	* g77spec.c (lang_specific_driver): Update copyright year to 2000.

java:
	* gjavah.c (version), jcf-dump.c (version), jv-scan.c (version):
	Update copyright year to 2000.

From-SVN: r37765
2000-11-26 19:30:31 +00:00
Tom Tromey
136c35df1c gjavah.c (process_file): Only include gcj/cni.h when generating CNI stubs.
* gjavah.c (process_file): Only include gcj/cni.h when generating
	CNI stubs.

From-SVN: r37325
2000-11-08 20:33:37 +00:00
Tom Tromey
b7436b7288 lang-options.h: Mention -Wout-of-date.
* lang-options.h: Mention -Wout-of-date.
	* jcf-dump.c (flag_newer): New global.
	* gjavah.c (flag_newer): New global.
	* jcf-io.c (find_class): Only warn when flag_newer set.
	* lang.c (flag_newer): New global.
	(struct string_option): New declaration.
	(lang_W_options): New global.
	(process_option_with_no): New function.
	(lang_decode_option): Use it.

From-SVN: r37244
2000-11-04 04:57:33 +00:00
Tom Tromey
0160fbe150 class.c (cxx_keyword_p): Accept keywords with trailing `$'s.
* class.c (cxx_keyword_p): Accept keywords with trailing `$'s.
	* gjavah.c (cxx_keyword_subst): Handle any number of trailing
	`$'.

From-SVN: r37243
2000-11-04 04:56:25 +00:00
Kaveh R. Ghazi
80393943c7 Warning fixes:
* gjavah.c (NEED_PEEK_ATTRIBUTE, NEED_SKIP_ATTRIBUTE): Define

	* jcf-reader.c (peek_attribute, skip_attribute): Only define
	when requested.

	* parse.h (yyerror): If JC1_LITE, mark with ATTRIBUTE_NORETURN.

	* verify.c (CHECK_PC_IN_RANGE): Cast result of stmt-expr to void.

From-SVN: r36994
2000-10-21 15:10:38 +00:00
Alexandre Petit-Bianco
dba41d307e gjavah.c (add_class_decl): Removed unused variables tname', tlen' and `name_index'.
2000-10-18  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* gjavah.c (add_class_decl): Removed unused variables `tname',
	`tlen' and `name_index'.
	* java-tree.h (BUILD_FILENAME_IDENTIFIER_NODE): New macro.
	* jcf-parse.c (jcf_parse_source): Use it and set EXPR_WFL_FILENAME
	in `wfl_operator' with value.
	(yyparse): Use BUILD_FILENAME_IDENTIFIER_NODE.
	(jcf_figure_file_type): Fixed identation.
	* lex.c (java_get_line_col): Use EOF. Tuned `^' placement.
	* parse.y (analyze_clinit_body): New function.
	(static_initializer:): Reset `current_static_block'.
	(java_parser_context_restore_global): Set EXPR_WFL_FIILENAME_NODE in
	`wfl_operator' with new value.
	(lookup_cl): Use EXPR_WFL_FILENAME.
	(maybe_yank_clinit): Handle bogus <clinit> bodies, call
	analyze_clinit_body.
	(build_outer_field_access): Access to this$<n> built from
	current_class, not its outer context.
	(build_access_to_thisn): Fixed leading comment. Tidied things up.
	(resolve_qualified_expression_name): Handle `T.this' and `T.this.f()'.
	(patch_method_invocation): Use `is_static_flag' when already
	initialized.
	(patch_newarray): Removed assignment in ternary operator.

(http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00629.html)

From-SVN: r36946
2000-10-18 21:19:09 -07:00
Tom Tromey
3c1d1e7b7f re GNATS gcj/356 (gcjh bug: Can't #include <java/awt/Container.h>)
Fix for PR gcj/356:
	* gjavah.c (add_class_decl): Don't special-case inner classes.
	(add_namelet): Likewise.

From-SVN: r36854
2000-10-12 18:57:52 +00:00
Tom Tromey
e0a0c416a0 jvspec.c (jvgenmain_spec): Added `-fdollars-in-identifiers'.
* jvspec.c (jvgenmain_spec): Added `-fdollars-in-identifiers'.
	* jvgenmain.c (class_mangling_prefix): Removed.
	(class_mangling_suffix): New global.
	(main): Use it.
	* gjavah.c (cxx_keyword_subst): Mangle C++ keywords by appending
	`$'.
	(print_method_info): Handle overrides for static and final
	methods.
	(process_file): Generate declaration for class object field.
	* class.c (cxx_keywords): New array.
	(utf8_cmp): New function.
	(cxx_keyword_p): New function.
	(layout_class_method): Mangle C++ keywords by appending `$'.
	(mangle_field): New function.
	(mangle_class_field): Use mangle_field.  Mangle class name as
	`class$'.
	(mangle_static_field): Use mangle_field.

From-SVN: r36738
2000-10-06 01:45:47 +00:00
Greg McGary
945745458e * gjavah.c (cxx_keyword_subst): Use ARRAY_SIZE.
From-SVN: r35988
2000-08-25 19:07:04 +00:00
Alexandre Petit-Bianco
f0f3a77740 2000-08-07 Alexandre Petit-Bianco <apbianco@cygnus.com
* parse.y (build_dot_class_method_invocation): Changed parameter
	name to `type.' Build signature from `type' and convert it to a
	STRING_CST if it's an array.
	(patch_incomplete_class_ref): `build_dot_class_method_invocation'
	to use `ref_type' directly.

2000-08-01  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (maybe_yank_clinit): When generating bytecode: non empty
	method bodies not to rule out discarding `<clinit>'; don't use
	<clinit> to initialize static fields with constant initializers.

2000-08-01  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* gjavah.c (print_method_info): Added `synth' parameter. Skip
	synthetic methods.
	(method_synthetic): New global.
	(HANDLE_METHOD): Recognize synthetic method and tell
	`print_method_info' about it.
	(HANDLE_END_METHOD): Do not issue an additional `;\n' if we're
	processing a synthetic method.
	* jcf-reader.c (skip_attribute): New function.
	( skip_attribute): Likewise.

2000-08-01  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (build_outer_field_access): Fixed comments.
	(fix_constructors): Emit the initialization of this$<n> before
	calling $finit$.
	(resolve_qualified_expression_name): Build an access to `decl' if
	necessary.

2000-07-31  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse-scan.y (curent_class): Non longer const.
	(inner_qualifier, inner_qualifier_length): Deleted.
	(current_class_length): New global.
	(bracket_count): Fixed typo in leading comment.
	(anonymous_count): New global.
	(class_instance_creation_expression:): Handle anonymous classes.
	(anonymous_class_creation:): New rule.
	(push_class_context): Rewritten.
	(pop_class_context): Likewise.
	(INNER_QUALIFIER): Macro deleted.
	(report_class_declaration): call `push_class_context' when
	entering the function. `fprintf' format modified not to use
	INNER_QUALIFIER.
	(report_class_declaration): Assign `package_name' and
	`current_class' to NULL separatly.

2000-07-31  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* expr.c (build_invokeinterface): Call layout_class_methods on
	target interface.

(http://gcc.gnu.org/ml/gcc-patches/2000-08/msg00339.html)

From-SVN: r35560
2000-08-07 20:33:36 -07:00
Bryce McKinlay
1bbee75bcc gjavah.c (HANDLE_METHOD): Call print_method_info with a NULL stream argument on the first pass for CNI as...
* gjavah.c (HANDLE_METHOD): Call print_method_info with a NULL
	stream argument on the first pass for CNI as well as JNI.
        (print_method_info): Set up method name on the first pass only.

From-SVN: r34869
2000-07-05 02:13:03 +01:00
Tom Tromey
dd5d628184 expr.c (build_java_jsr): Use emit_jump, not expand_goto.
* expr.c (build_java_jsr): Use emit_jump, not expand_goto.

	* javaop.h (WORD_TO_INT): New function.
	(IMMEDIATE_s4): Use WORD_TO_INT.
	* jcf.h (JPOOL_INT): Ditto.

	* gjavah.c (decode_signature_piece): Don't treat `$' as namespace
	separator.

From-SVN: r33636
2000-05-03 18:09:27 +00:00
Tom Tromey
ecb3660479 * gjavah.c (cxx_keyword_subst): Avoid potential infinite loop.
From-SVN: r33261
2000-04-19 16:05:03 +00:00
Tom Tromey
83c1f6283e re GNATS gcj/211 (gcjh doesn't handle method names that are reserved C++ keywords)
PR gcj/211:
	* gjavah.c (utf8_cmp): Changed return value.
	(cxx_keyword_subst): Handle all C++ keywords.  Allocate new return
	result.
	(cxx_keywords): New global.
	(get_field_name): Handle new result of cxx_keyword_subst.
	(print_method_info): Likewise.

From-SVN: r33225
2000-04-18 16:13:16 +00:00
Bryce McKinlay
a73848406c gjavah.c (print_name_for_stub_or_jni): Don't prefix method names with a newline, for CNI.
2000-04-17  Bryce McKinlay  <bryce@albatross.co.nz>

	* gjavah.c (print_name_for_stub_or_jni): Don't prefix method names
	with a newline, for CNI.
	(print_stub_or_jni): Print a space or newline before method name for
	CNI as well as JNI.
	(print_cxx_classname): Don't write leading "::" in CNI stub method.
	(process_file): Include gcj/cni.h if generating CNI stubs.

From-SVN: r33213
2000-04-17 17:27:45 +00:00
Tom Tromey
3e0768f05e re GNATS gcj/205 (gcjh confused about similar method and attribute names)
* gjavah.c (decompile_method): Use print_field_name.
	Fixes PR gcj/205.

From-SVN: r33198
2000-04-17 02:56:52 +00:00
Kaveh R. Ghazi
c0b864fce7 boehm.c (mark_reference_fields, set_bit): Prototype.
* boehm.c (mark_reference_fields, set_bit): Prototype.
	(set_bit): Un-ANSI-fy definition.

	* class.c (init_test_hash_newfunc, decl_hash, decl_compare):
	Prototype.

	* decl.c (emit_init_test_initialization): Likewise.

	* gjavah.c (jni_print_char): Likewise.

	* parse.y (create_new_parser_context): Likewise.

From-SVN: r32908
2000-04-04 20:40:20 +00:00
Tom Tromey
05411ecfe5 gjavah.c (D_NAN_MASK): Only define as word-reversed when HOST_FLOAT_WORDS_BIG_ENDIAN and...
* gjavah.c (D_NAN_MASK): Only define as word-reversed when
	HOST_FLOAT_WORDS_BIG_ENDIAN and HOST_WORDS_BIG_ENDIAN disagree.

From-SVN: r32832
2000-03-30 19:10:17 +00:00
Alexandre Petit-Bianco
3c9ef12753 gjavah.c (main): Avoid using `argi' to report unimplemented options.
* gjavah.c (main): Avoid using `argi' to report unimplemented
	options.

From-SVN: r32164
2000-02-26 04:32:08 +00:00
Tom Tromey
c45c5e092d gjavah.c (print_name): In JNI case, correctly quote string.
* gjavah.c (print_name): In JNI case, correctly quote string.
	(print_method_info): Don't handle overrides in JNI mode.

From-SVN: r32124
2000-02-23 20:46:18 +00:00
Martin v. Löwis
8b97e23b76 gcc.texi (Bug Reporting): Refer to bugs.html.
* gcc.texi (Bug Reporting): Refer to bugs.html.
	(Bug Lists): Likewise.
	* system.h (GCCBUGURL): New preprocessor define.
	* rtl.c (fancy_abort): Use it.
	* gcc.c (main): Likewise.
	* typeck2.c (my_friendly_abort): Use GCCBUGURL.
	* g77spec.c (lang_specific_driver): Use GCCBUGURL.
	* gjavah.c (help): Use GCCBUGURL.
	* jv-scan.c (help): Likewise.
	* jcf-dump.c (help): Likewise.

From-SVN: r32049
2000-02-18 12:26:50 +00:00
Joerg Brunsmann
a003f638ee gjavah.c: Delete ACC_VISIBILITY define.
Mon Jan 18 14:30:09 2000  Joerg Brunsmann  <joerg.brunsmann@fernuni-hagen.de>

	* gjavah.c: Delete ACC_VISIBILITY define.
	* jcf.h: Add ACC_VISIBILITY define.
	* parse.y: final: rule tagged <value>.
	(java_check_regular_methods): Use ACC_VISIBILITY define for
	default package access check.
	(local_variable_declaration_statement): Use final: rule.

From-SVN: r31992
2000-02-15 14:54:21 -08:00
Tom Tromey
78de74bea9 gjavah.c (jni_print_char): New function.
* gjavah.c (jni_print_char): New function.
	(print_full_cxx_name): Use it.
	(decode_signature_piece): Likewise.
	(print_cxx_classname): Likewise.

From-SVN: r31989
2000-02-15 22:17:55 +00:00
Kaveh R. Ghazi
9f8f4efee3 Makefile.in (TREE_H, [...]): Depend on version.h.
* Makefile.in (TREE_H, collect2.o, gcc.h, mips-tfile.o, cccp.o,
	cpphash.o, cppinit.o, protoize.o, unprotoize.o): Depend on version.h.

	* cccp.c: Include version.h and/or don't declare `version_string'.
	* collect2.c: Likewise.
	* alpha.c: Likewise.
	* arm/aof.h: Likewise.
	* arm/coff.h: Likewise.
	* arm/elf.h: Likewise.
	* arm/pe.h: Likewise.
	* arm/tcoff.h: Likewise.
	* arm/telf.h: Likewise.
	* arm/tpe.h: Likewise.
	* arm/vxarm.h: Likewise.
	* convex/convex.c: Likewise.
	* i386/dgux.c: Likewise.
	* i386/sun386.h: Likewise.
	* m88k/m88k.c: Likewise.
	* mcore/mcore-pe.h: Likewise.
	* mips/mips.h: Likewise.
	* romp/romp.h: Likewise.
	* sh/sh.c: Likewise.
	* cpphash.c: Likewise.
	* cppinit.c: Likewise.
	* dwarf2out.c: Likewise.
	* dwarfout.c: Likewise.
	* gcc.c: Likewise.
	* gcc.h: Likewise.
	* mips-tfile.c: Likewise.
	* protoize.c: Likewise.
	* toplev.c: Likewise.
	* tree.h: Likewise.

	* version.c (version_string): Constify a char*.

	* version.h: New file.

ch:
	* grant.c: Don't declare `version_string'.

f:
	* g77spec.c: Don't declare `version_string'.

java:
	* Makefile.in (jv-scan, jcf-dump, gcjh): Depend on and link with
	version.o.
	(jcf-dump.o, gjavah.o, jv-scan.o): Depend on version.h.

	* gjavah.c: Include version.h.

	* jcf-dump.c: Likewise.

	* jv-scan.c: Likewise.

From-SVN: r31984
2000-02-15 16:36:35 +00:00
Kaveh R. Ghazi
5ca1627b6d gjavah.c (overloaded_jni_method_exists_p): Add prototype.
* gjavah.c (overloaded_jni_method_exists_p): Add prototype.
       (print_name_for_stub_or_jni, process_file): Constify a char*.

From-SVN: r31813
2000-02-06 04:33:10 +00:00
Scott Bambrough
9b4a08f945 gjavah.c (D_NAN_MASK): Alternate definition required when HOST_FLOAT_WORDS_BIG_ENDIAN is defined to be 1.
2000-01-31  Scott Bambrough  <scottb@netwinder.org>

	* gcc/java/gjavah.c (D_NAN_MASK): Alternate definition required when
	HOST_FLOAT_WORDS_BIG_ENDIAN is defined to be 1.
	(java_float_finite): Convert to use union Word from javaop.h.
	(java_double_finite): Convert to use union DWord from javaop.h.

From-SVN: r31768
2000-02-03 06:46:30 +00:00
Tom Tromey
de3807234a gjavah.c (options): Added `jni' entry.
* gjavah.c (options): Added `jni' entry.
	(help): Document -jni.
	(flag_jni): New global.
	(process_file): Handle JNI output.  Don't print text from
	-prepend, -add, etc, when generating stubs.  Only remove `.class'
	suffix if it actually exists.
	(main): Create a `.c' file when run with `--jni --stubs'.  Create
	correct output file name with `--jni'.
	(print_include): Mangle header name differently in JNI case.
	(HANDLE_METHOD): In JNI mode, call print_method_info to generate
	method list.
	(print_method_info): Handle JNI case.  Put signature info into
	method name.  Handle case when STREAM is NULL.
	(print_name_for_stub_or_jni): New function.
	(print_stub_or_jni): Renamed from `print_stub'.  Handle JNI.
	(print_cxx_classname): Handle JNI.
	(print_full_cxx_name): Likewise.
	(decode_signature_piece): Likewise.
	(overloaded_jni_method_exists_p): New function.
	(struct method_name): Added `signature' and `sig_length' fields.
	(HANDLE_END_FIELD): Do nothing in JNI mode.

From-SVN: r31767
2000-02-03 06:13:46 +00:00
Tom Tromey
c89c53eb67 jv-scan.c: Include version.c, <getopt.h>.
* jv-scan.c: Include version.c, <getopt.h>.
	(LONG_OPT, OPT_HELP, OPT_VERSION): New macros.
	(options): New array.
	(usage): New function.
	(version): New function.
	(main): Use getopt_long to parse command line.
	* jcf-dump.c: Include version.c, <getopt.h>.
	(LONG_OPT, OPT_classpath, OPT_CLASSPATH, OPT_HELP, OPT_VERSION,
	OPT_JAVAP): New macros.
	(options): New array.
	(usage): Return `void'.  Changed message.
	(help): New function.
	(version): New function.
	(main): Use getopt_long_only to parse command line.
	* gjavah.c: Include <getopt.h>.
	(LONG_OPT, OPT_classpath, OPT_CLASSPATH, OPT_HELP, OPT_TEMP,
	OPT_VERSION, OPT_PREPEND, OPT_FRIEND, OPT_ADD, OPT_APPEND, OPT_M,
	OPT_MM, OPT_MG, OPT_MD, OPT_MMD): New macros.
	(options): New array.
	(java_no_argument): Removed.
	(help): Updated with missing options.
	(main): Use getopt_long_only to parse command line.
	(usage): Changed message.

From-SVN: r31765
2000-02-02 21:55:39 +00:00
Kaveh R. Ghazi
df32d2ce42 buffer.h: PROTO -> PARAMS.
* buffer.h: PROTO -> PARAMS.
        * check-init.c: Likewise.
        * class.c: Likewise.
        * constants.c: Likewise.
        * convert.h: Likewise.
        * decl.c: Likewise.
        * except.c: Likewise.
        * expr.c: Likewise.
        * gjavah.c: Likewise.
        * java-except.h: Likewise.
        * java-tree.h: Likewise.
        * jcf-depend.c: Likewise.
        * jcf-dump.c: Likewise.
        * jcf-parse.c: Likewise.
        * jcf-path.c: Likewise.
        * jcf-reader.c: Likewise.
        * jcf-write.c: Likewise.
        * jcf.h: Likewise.
        * jv-scan.c: Likewise.
        * jvgenmain.c: Likewise.
        * jvspec.c: Likewise.
        * lang.c: Likewise.
        * lex.c: Likewise.
        * lex.h: Likewise.
        * parse-scan.y: Likewise.
        * parse.h: Likewise.
        * parse.y: Likewise.
        * typeck.c: Likewise.
        * verify.c: Likewise.
        * xref.c: Likewise.
        * xref.h: Likewise.
        * zextract.c: Likewise.
        * zipfile.h: Likewise.

From-SVN: r31550
2000-01-21 20:57:00 +00:00
Tom Tromey
9b4579b3bb * gjavah.c (print_field_info): Allow non-static final fields.
From-SVN: r31466
2000-01-17 18:25:37 +00:00
Tom Tromey
6f19291ada re GNATS gcj/119 (gcjh needs to output space before leading "::" with JArray's)
* gjavah.c (decode_signature_piece): Print "::" in JArray<>.  This
	fixes PR gcj/119.
	(process_file): Use `\n\' at end of each line in string.

From-SVN: r30997
1999-12-17 20:25:59 +00:00
Kaveh R. Ghazi
c2e3db9254 gjavah.c (get_field_name, [...]): Use xmalloc, not malloc.
* gjavah.c (get_field_name, print_method_info, print_include,
	add_namelet): Use xmalloc, not malloc.

	* jcf-depend.c (add_entry): Likewise.  Use xstrdup, not strdup.
	(munge): Use xrealloc, not realloc, trust xrealloc to handle a
	NULL pointer.

	* jcf-io.c (open_in_zip, find_class): Use xstrdup, not strdup.

	* jcf-parse.c (jcf_out_of_synch, yyparse): Likewise.

	* jcf-path.c (add_entry): Likewise.

	* jcf.h (ALLOC, REALLOC): Use xmalloc/xrealloc, not malloc/realloc.

	* jv-scan.c (xmalloc): Remove definition.

	* jvgenmain.c (xmalloc): Likewise.

	* jvspec.c (lang_specific_driver): Use xcalloc, not xmalloc/bzero.

	* lex.c (java_store_unicode): Use xrealloc, not realloc.

	* parse-scan.y: Use concat, not of xmalloc/assign/strcpy.  Use
	concat, not xmalloc/sprintf.
	(java_push_parser_context): Use xcalloc, not xmalloc/bzero.
	(xstrdup): Remove definition.

	* parse.y (duplicate_declaration_error_p,
	constructor_circularity_msg, verify_constructor_circularity,
	check_abstract_method_definitions, java_check_regular_methods,
	java_check_abstract_methods, patch_method_invocation,
	check_for_static_method_reference, patch_assignment, patch_binop,
	patch_cast, array_constructor_check_entry, patch_return,
	patch_conditional_expr): Use xstrdup, not strdup.

	* zextract.c (ALLOC): Use xmalloc, not malloc.

From-SVN: r29457
1999-09-16 15:45:15 +00:00
Tom Tromey
512d594b4f gjavah.c (add_class_decl): Generate include for gcj/array.h, not java-array.h.
* gjavah.c (add_class_decl): Generate include for gcj/array.h, not
	java-array.h.
	(decode_signature_piece): Don't emit "::" in JArray<>.
	(print_namelet): Only print trailing `;' when printing a class.

From-SVN: r29277
1999-09-10 21:45:39 +00:00
Tom Tromey
3a5395a311 gjavah.c (decode_signature_piece): Emit "::" in JArray<>.
* gjavah.c (decode_signature_piece): Emit "::" in JArray<>.
	Handle nested arrays, like `[[I'.

From-SVN: r29067
1999-09-02 23:44:04 +00:00
Jeffrey A Law
5f9ee6953e gjavah.c, [...]: Do not use C++ style comments in C code.
* gjavah.c, jcf-write.c, verify.c: Do not use C++ style
        comments in C code.

From-SVN: r28940
1999-08-27 23:33:02 -06:00
Tom Tromey
12207a8790 gjavah.c (print_cxx_classname): Print "::" before qualified name.
* gjavah.c (print_cxx_classname): Print "::" before qualified
	name.

http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&database=java&pr=36

From-SVN: r28902
1999-08-26 18:23:33 +00:00
Kaveh R. Ghazi
be245ac0a0 gjavah.c (print_name, [...]): Add static prototype.
* gjavah.c (print_name, print_base_classname, utf8_cmp,
	cxx_keyword_subst, generate_access, name_is_method_p,
	get_field_name, print_field_name, super_class_name, print_include,
	decode_signature_piece, print_class_decls, usage, help,
	java_no_argument, version, add_namelet, print_namelet): Add static
	prototype.
	(print_base_classname, utf8_cmp, cxx_keyword_subst,
	name_is_method_p): Constify a char*.
	(get_field_name): Likewise.  Prefer xstrdup over malloc/strcpy.
	Provide a final else clause in an if-else-if.
	(print_field_info): Add missing final arg in function call to
	`print_field_name'.
	(print_method_info, decompile_method, decode_signature_piece,
	print_c_decl, print_full_cxx_name, print_stub,
	print_mangled_classname, super_class_name, print_include,
	add_namelet, add_class_decl, print_class_decls, process_file,
	help): Constify a char*.

	* jcf-write.c (jcf_handler, push_constant1, push_constant2,
	push_int_const, find_constant_wide, find_constant_index,
	push_long_const, field_op, maybe_wide, emit_dup, emit_pop,
	emit_iinc, emit_load_or_store, emit_load, emit_store, emit_unop,
	emit_binop, emit_reloc, emit_switch_reloc, emit_case_reloc,
	emit_if, emit_goto, emit_jsr, call_cleanups,
	make_class_file_name): Add static prototypes.
	(generate_bytecode_return, generate_bytecode_insns): Pass a
	NULL_PTR, not a NULL_TREE.

	* jv-scan.c: Include "jcf.h".
	(main): Declare using DEFUN macro.

	* jvspec.c (find_spec_file, lang_specific_pre_link,
	lang_specific_driver): Add prototypes.
	(find_spec_file): Constify a char*.

	* keyword.gperf (hash, java_keyword): Add prototypes.

	* lang.c (lang_print_error): Add static prototype.
	(lang_init): Prefer memcpy over bcopy to avoid casts.

	* lex.c (yylex): Add static prototype.

	* parse-scan.y: Include "lex.c" earlier.

	* parse.h: Remove redundant declaration for `yylex'.

	* parse.y (java_decl_equiv, binop_compound_p, search_loop,
	labeled_block_contains_loop_p): Add static prototypes.
	(not_accessible_p): Make static to match prototype.

	* verify.c (start_pc_cmp): Don't needlessly cast away const.

From-SVN: r28862
1999-08-25 13:59:28 +00:00
Kaveh R. Ghazi
c8e7d2e632 check-init.c (check_bool2_init, [...]): Add static prototypes.
* check-init.c (check_bool2_init, done_alternative): Add static
	prototypes.

	* class.c (add_interface_do, maybe_layout_super_class): Likewise.
	(add_method, build_utf8_ref, build_class_ref,
	append_gpp_mangled_type, layout_class_method): Constify a char*.

	* decl.c (push_promoted_type, make_binding_level): Add static
	prototypes.
	(push_promoted_type, pushdecl): Constify a char*.

	* except.c (find_handler_in_range, link_handler,
	check_start_handlers): Add static prototypes.

	* expr.c (process_jvm_instruction): Constify a char*.

	* gjavah.c (main): Constify a char*.

	* java-tree.h (verify_jvm_instructions, process_jvm_instruction):
	Constify a char*.

	* jcf-depend.c (free_entry, add_entry, munge, print_ents): Add
	static prototypes.
	(add_entry, jcf_dependency_set_target, jcf_dependency_add_target,
	munge, print_ents): Constify a char*.

	* jcf-dump.c (disassemble_method): Constify a char*.
	(print_constant_pool, print_exception_table): Add static prototypes.
	(print_constant, print_exception_table, main, disassemble_method):
	Constify a char*.

	* jcf-io.c (find_classfile, find_class): Likewise.

	* jcf-parse.c (JPOOL_UTF_DATA, find_in_current_zip): Likewise.
	(set_source_filename, predefined_filename_p): Add static prototypes.
	(set_source_filename, get_constant, get_class_constant,
	find_in_current_zip): Constify a char*.

	* jcf-path.c (free_entry, append_entry, add_entry, add_path): Add
	static prototypes.
	(add_entry, add_path, jcf_path_classpath_arg,
	jcf_path_CLASSPATH_arg, jcf_path_include_arg): Constify a char*.

	* jcf-reader.c (get_attribute, jcf_parse_preamble,
	jcf_parse_constant_pool, jcf_parse_class, jcf_parse_fields,
	jcf_parse_one_method, jcf_parse_methods,
	jcf_parse_final_attributes): Add static prototypes.
	(get_attribute): Constify a char*.

	* jcf.h (find_class, find_classfile, jcf_dependency_set_target,
	jcf_dependency_add_target, jcf_path_classpath_arg,
	jcf_path_CLASSPATH_arg, jcf_path_include_arg): Constify a char*.

	* jv-scan.c (main): Constify a char*.
	(gcc_obstack_init): Add prototype arguments.

	* jvgenmain.c (gcc_obstack_init): Likewise.
	(main): Constify a char*.

	* lang.c (put_decl_string, put_decl_node, java_dummy_print): Add
	static prototypes.
	(put_decl_string, lang_print_error): Constify a char*.
	(lang_init): Remove redundant extern prototype.

	* mangle.c (emit_unicode_mangled_name): Constify a char*.

	* typeck.c (convert_ieee_real_to_integer, parse_signature_type):
	Add static prototypes.
	(get_type_from_signature): Constify a char*.

	* verify.c (check_pending_block, type_stack_dup, start_pc_cmp ):
	Add static prototypes.
	(start_pc_cmp): Prefer PTR over GENERIC_PTR.
	(verify_jvm_instructions): Constify a char*.

	* xref.c (xref_flag_value): Likewise.

	* xref.h (xref_flag_value): Likewise.

	* zextract.c (makeword, makelong): Add static prototypes.
	(makeword, makelong): Constify a uch*.

From-SVN: r28648
1999-08-10 16:58:13 +00:00
Kaveh R. Ghazi
cd531a2edd Warning fixes:
* expr.c (build_java_soft_divmod): Provide a default case in switch.
        (java_lang_expand_expr): Mark parameters `target', `tmode' and
        `modifier' with ATTRIBUTE_UNUSED.

        * gjavah.c (process_file): Add braces around ambiguous `else'.

        * jcf-dump.c (print_access_flags, localvar_free): Change return
        type to void.

        * parse.y (java_complete_expand_method): Initialize variable
        `exception_copy'.
        (resolve_qualified_expression_name): Likewise for `field_decl'.
        (patch_method_invocation): Likewise for `class_to_search'.
        (qualify_ambiguous_name): Likewise for `name' and `ptr_type'.
        (patch_assignment): Likewise for `lhs_type'.

        * verify.c (verify_jvm_instructions): Remove unused variable
        `caller'.

From-SVN: r28344
1999-07-30 18:31:34 +00:00
Anthony Green
6c9c5c1f7a gjavah.c (print_stub): New function.
* gjavah.c (print_stub): New function.
        (METHOD_IS_NATIVE): New macro.
        (print_mangled_classname): Make static.
        (HANDLE_END_FIELD): Don't emit fields during stub generation.
        (process_file): Perform stub generation.
        (HANDLE_METHOD): Don't emit class decls during stub
        generation.
        (HANDLE_END_METHOD): Take into account stub generation.
        (print_method_info): Handle stub generation.
        (print_stub): New function.
        (print_cxx_classname): Make signature consistant with others.
        (help): Describe -stubs option.
        (main): Create stub file.
        (version): Use version.c.
        (print_full_cxx_name): New function.
        (print_c_decl): Use print_full_cxx_name.

From-SVN: r28236
1999-07-25 10:12:49 +00:00
Kaveh R. Ghazi
1b01250dd0 gjavah.c (print_include): Cast the result of `strlen' to int when comparing against a signed value.
* gjavah.c (print_include): Cast the result of `strlen' to int
        when comparing against a signed value.
        (add_namelet): Likewise.

From-SVN: r26924
1999-05-13 12:05:02 +00:00
Anthony Green
08967681af gjavah.c: New prototypes for java_float_finite and java_double_finite.
Thu Apr 15 13:08:03 1999  Anthony Green  <green@cygnus.com>
	* gjavah.c: New prototypes for java_float_finite and
	java_double_finite.

From-SVN: r26474
1999-04-15 13:14:30 +00:00
Kaveh R. Ghazi
4f65832d5c Makefile.in (gjavah.o): Depend on $(JAVA_TREE_H).
* Makefile.in (gjavah.o): Depend on $(JAVA_TREE_H).
        * gjavah.c: Include math.h earlier.  Include tree.h/java-tree.h.
        (main_jcf): Don't define.
        (process_file): Don't set `main_jcf'.
        * java-tree.h (main_jcf): Don't declare.
        * jcf-parse.c (main_jcf): Add static definition.
        * lang.c (main_jcf): Don't define.

From-SVN: r26204
1999-04-05 13:09:45 +00:00
Tom Tromey
5877286edf gjavah.c (print_field_info): Allow constants of other types.
* gjavah.c (print_field_info): Allow constants of other types.
	(print_include): Generate include when new name is proper prefix
	of already printed name.
	(add_namelet): Likewise.
	(cxx_keyword_subst): New function.
	(print_method_info): Use it.
	(print_field_name): New function.
	(get_field_name): New function.
	(print_field_info): Use get_field_name and print_field_name.

From-SVN: r26085
1999-03-31 11:46:42 +00:00
Kaveh R. Ghazi
9ee9b55502 Warning fixes:
* gjavah.c (print_c_decl): Remove unused argument `flags'.
        * jcf-dump.c (print_access_flags): Add braces around if-else.
        * jvspec.c (lang_specific_driver): Wrap variable `len' in macro
        COMBINE_INPUTS.
        * lex.c (build_wfl_node): Add static prototype.
        * lex.h (build_wfl_node): Remove static prototype.
        * parse.y: Include lex.c early enough to declare everything needed.
        Ensure calls to `build_wfl_node' pass the proper arguments.
        (create_class): Remove unused variable `super_decl'.
        (get_printable_method_name): Initialize variable `name'.

From-SVN: r25921
1999-03-23 07:24:15 +00:00
Kaveh R. Ghazi
7e21fe59b2 Warning fixes:
* constants.c (find_class_or_string_constant): Cast variable `j'
        to a `jword' when comparing against one.
        * expr.c (java_lang_expand_expr): Remove unused variables
        `has_finally_p' and `op0'.
        * gjavah.c (print_field_info): Cast a value to jint when comparing
        against one.  Likewise for a jlong.
        (add_namelet): Likewise cast a `sizeof' to an int when comparing
        against a signed quantity.
        * jcf-dump.c (print_signature_type): Remove unused variable `digit'.
        (print_signature): Don't needlessly dereference variable `str'
        * jcf-reader.c (get_attribute): Mark variables `max_stack' and
        `max_locals' with ATTRIBUTE_UNUSED.
        (jcf_parse_class): Likewise for variable `index'.
        * parse.h (reverse_jdep_list): Remove static prototype.
        * parse.y (build_jump_to_finally): Remove prototype and definition.
        (reverse_jdep_list): Add static prototype.
        * typeck.c (convert_ieee_real_to_integer): Remove unused variables
        `assignment' and `expr_decl'.
        * verify.c (verify_jvm_instructions): Remove unused label `bad_ldc'.

From-SVN: r25731
1999-03-12 17:13:24 +00:00
Tom Tromey
686fb23678 gjavah.c (add_class_decl): Only generate `#include' if outer class is not the name of the class we are...
* gjavah.c (add_class_decl): Only generate `#include' if outer
	class is not the name of the class we are processing.  Correctly
	append `.h' in #include.
	(process_file): Clean up newlines around generated `#include's.
	(decode_signature_piece): Correctly handle inner classes.
	(struct include): New structure.
	(all_includes): New global.
	(print_include): New function.
	(add_class_decl): Use it.
	(process_file): Likewise.
	(add_class_decl): Generate include for java-array.h if array
	seen.
	(process_file): Don't generate java-array.h include.

From-SVN: r25460
1999-02-26 12:49:52 +00:00
Tom Tromey
f3d50f4227 gjavah.c (add_namelet): Check for standard package names here.
* gjavah.c (add_namelet): Check for standard package names here.
	(add_class_decl): Don't check for standard package names here.

From-SVN: r25456
1999-02-26 11:33:53 +00:00
Tom Tromey
bdb59aec77 gjavah.c (struct namelet): New structure.
* gjavah.c (struct namelet): New structure.
	(add_namelet): New function.
	(print_namelet): New function.
	(print_class_decls): Use add_namelet and print_namelet to generate
	namespaces and not classes.
	(method_printed): New global.
	(HANDLE_END_METHOD): Examine method_printed.
	(print_method_info): Set method_printed when required.  Print
	error if function to be ignored is marked virtual.  Handle $finit$
	method.
	(METHOD_IS_FINAL): New macro.
	(print_field_info): Use it.
	(HANDLE_METHOD): Clear method_printed.
	(method_pass): New global.
	(HANDLE_END_FIELD): Call add_class_decl on the first pass.
	(process_file): Do two passes over both fields and methods.
	(HANDLE_METHOD): Examine method_pass.
	(root): New global.
	(add_class_decl): New function.
	(print_class_decls): Don't scan over entire constant pool.

From-SVN: r25403
1999-02-24 13:47:39 +00:00
Kaveh R. Ghazi
9caaf519d8 Makefile.in (gjavah.o): Depend on $(CONFIG_H) and system.h.
* Makefile.in (gjavah.o): Depend on $(CONFIG_H) and system.h.
        * gjavah.c: Include config.h and system.h.
        * javaop.h (inline): Don't define, its handled by system.h.
        (WORD_TO_FLOAT, WORDS_TO_LONG, WORDS_TO_DOUBLE): Change these
        from `inline' to `static inline'.
        * jcf.h (inline): Don't define, its handled by system.h.
        * lex.c (inline): Likewise.

From-SVN: r24952
1999-02-01 07:00:40 +00:00
Kaveh Ghazi
9b318a74d7 Update copyrights for the last patch
From-SVN: r24837
1999-01-23 21:49:56 +00:00
Kaveh R. Ghazi
d4476be259 Warning fixes:
* Makefile.in (parse.o): Depend on $(CONFIG_H) and
        $(srcdir)/../system.h.
        (class.o): Depend on $(PARSE_H) and $(srcdir)/../output.h.
        (jcf-parse.o): Depend on $(srcdir)/../toplev.h.
        (jcf-write.o): Likewise.
        (jv-scan.o): Depend on $(CONFIG_H) and $(srcdir)/../system.h.
        (mangle.o): Depend on $(srcdir)/../toplev.h.
        (parse-scan.o): Depend on $(CONFIG_H) and $(srcdir)/../system.h.
        (zextract.o): Depend on $(CONFIG_H) and $(srcdir)/../system.h.
        * class.c: Include output.h and parse.h.
        (mangled_classname): Add the `const' keyword to a char*.
        (find_named_method): Hide unused function definition.
        (build_utf8_ref): Change type of variable `c' to unsigned char.
        Use ISALPHA/ISDIGIT instead of isalpha/isdigit.
        (build_class_ref): Add the `const' keyword to a char*.
        (layout_class_method): Remove unused variable `buf'.
        * decl.c (find_local_variable): Remove unused variable `rtl'.
        (pushdecl): Likewise for variables `different_binding_level' and
        `oldglobal'.
        (pushlevel): Mark parameter `unused' with ATTRIBUTE_UNUSED.
        (maybe_build_cleanup): Likewise for parameter `decl'.
        * except.c (expand_start_java_handler): Mark parameter `range'
        with ATTRIBUTE_UNUSED.
        * expr.c: Include except.h.
        (pop_type): Remove unused variable `i'.
        (pop_value): Likewise for variables `n_words' and `i'.
        (expand_java_arrayload): Likewise for variable `convert'.
        (java_lang_expand_expr): Likewise for variables `op0', `type',
        `mode', `unsignedp', `node' and `elements'.
        (expand_byte_code): Likewise for variables `prev_eh_ranges' and
        `eh_ranges'.
        (process_jvm_instruction): Add a `const' qualifier to a char*.
        * gjavah.c (output_directory): Add the `const' keyword to a char*.
        (temp_directory): Likewise.
        (print_c_decl): Likewise.
        (print_method_info): Likewise.
        (decode_signature_piece): Likewise.
        (print_mangled_classname): Likewise.
        * java-except.h: Provide prototypes for maybe_start_try,
        maybe_end_try and add_handler.
        * java-tree.h (mangled_classname): Add the `const' keyword to a char*.
        (parse_error_context): Likewise.  Also add ATTRIBUTE_PRINTF_2.
        (pushdecl_top_level, alloc_class_constant, unicode_mangling_length,
        init_expr_processing, push_super_field, init_class_processing,
        can_widen_reference_to, class_depth, verify_jvm_instructions,
        maybe_pushlevels, maybe_poplevels, process_jvm_instruction,
        set_local_type, merge_type_state, push_type, load_type_state,
        add_interface, find_in_current_zip, append_gpp_mangled_classtype,
        emit_unicode_mangled_name): Add prototypes.
        * jcf-dump.c (print_constant): Add the `const' keyword to a char*.
        (print_signature_type): Use ISDIGIT, not isdigit.
        (print_signature): Remove unused variable `j'.
        * jcf-io.c (jcf_filbuf_from_stdio): Cast the result of `fread' to
        int when comparing against one.
        * jcf-parse.c: Include toplev.h.
        * jcf-write.c: Likewise.  Don't include <string.h> or <sys/stat.h>.
        (localvar_free): Remove unused variable `i'.
        (generate_bytecode_conditional): Likewise for variable `kind'.
        * jv-scan.c: Include config.h and system.h.  Remove redundant
        OS header and gansidecl.h includes.
        (warning): Add the `const' keyword to a char*.  Also add
        ATTRIBUTE_PRINTF_1 to the prototype.  Check ANSI_PROTOTYPES, not
        __STDC__, when determining whether to use ANSI-isms.
        (fatal): Likewise.  Also add ATTRIBUTE_UNUSED.
        (xmalloc): Don't redundantly prototype here.
        (main): Remove unused parameter `envp'.  Also fix the arguments
        passed to function `fatal' to match the format specifier.
        * lang.c (java_tree_code_name): Add the `const' keyword to a char*.
        * mangle.c: Include toplev.h.
        (emit_unicode_mangled_name): Declare parameter `len'.
        * parse.y (parse_warning_context): Add the `const' keyword to a
        char*.  Also add ATTRIBUTE_PRINTF_2 to the prototype.  Check
        `ANSI_PROTOTYPES' not `__STDC__' for whether to use ANSI-isms.
        (issue_warning_error_from_context): Add the `const' keyword to
        a char*.
        (parse_error_context): Likewise.  Also check `ANSI_PROTOTYPES'
        not `__STDC__' for whether to use ANSI-isms.
        * typeck.c (incomplete_type_error): Mark parameters `value' and
        `type' with ATTRIBUTE_UNUSED.
        (parse_signature_type): Use ISDIGIT, not isdigit.
        * verify.c (check_pending_block): Add the `const' keyword to a char*.
        (verify_jvm_instructions): Likewise.  Remove unused variables
        `field_name' and `default_val'.
        * zextract.c: Include config.h and system.h.  Remove redundant
        OS header includes.
        * zipfile.h: Prototype `read_zip_archive'.

From-SVN: r24835
1999-01-23 20:47:03 +00:00
Per Bothner
3217b0f3ca gjavah.c (generate_access): Translate Java package private or protected access to C++ public...
0
	* gjavah.c (generate_access):  Translate Java package private or
	protected access to C++ public, but with a comment.

From-SVN: r24695
1999-01-16 01:59:11 -08:00
Richard Henderson
b6186fe678 gjavah.c (java_float_finite): Use a union to do type punning.
* gjavah.c (java_float_finite): Use a union to do type punning.
        (java_double_finite): Likewise.

From-SVN: r24608
1999-01-10 05:36:44 -08:00
Tom Tromey
06d84d6935 gjavah.c (print_field_info): Changed how most negative number is printed.
* gjavah.c (print_field_info): Changed how most negative number is
	printed.

From-SVN: r24323
1998-12-15 09:44:14 +00:00
Tom Tromey
11b8962251 gjavah.c (print_field_info): If value to print is the smallest value of its size...
* gjavah.c (print_field_info): If value to print is the smallest
	value of its size, then print as hex to avoid later warnings from
	C++ compiler.

From-SVN: r24313
1998-12-14 15:32:49 +00:00
Tom Tromey
8c2dfb32b7 gjavah.c (decompile_method): Decompile `return null'.
* gjavah.c (decompile_method): Decompile `return null'.
	(process_file): Generate `#pragma interface'.
	(method_declared): New global.
	(print_method_info): Set it.
	(HANDLE_CODE_ATTRIBUTE): Only print it method_declared set.
	(print_method_info): Handle abstract methods.

From-SVN: r24309
1998-12-14 11:25:19 +00:00
Tom Tromey
cb975f38fb gjavah.c (decompile_method): Handle all types of `return' opcode.
* gjavah.c (decompile_method): Handle all types of `return'
	opcode.  Decompile `return this' and `return'.
	(method_access): New global.
	(print_method_info): Set it.
	(decompile_method): Don't decompile a synchronized method.

From-SVN: r24297
1998-12-13 15:24:48 +00:00
Tom Tromey
92c068d1dc jcf-reader.c (jcf_parse_one_method): Recognize HANDLE_END_METHOD.
* jcf-reader.c (jcf_parse_one_method): Recognize
	HANDLE_END_METHOD.
	* gjavah.c (HANDLE_END_METHOD): New macro.
	(HANDLE_CODE_ATTRIBUTE): New macro.
	(decompile_method): New function.
	(print_method_info): Don't print `;\n' at end of function decl.
	Include java-opcodes.h.
	(decompiled): New global.

From-SVN: r24295
1998-12-13 13:29:08 +00:00
Per Bothner
4cc4a45b03 Loks of changes so we can better compile from source.
Loks of changes so we can better compile from source.  See ChangeLog.

From-SVN: r24277
1998-12-12 13:48:05 -08:00
Tom Tromey
8603f9c5b0 jcf-io.c (find_class): Use saw_java_source to determine when to look for `.java' file.
* jcf-io.c (find_class): Use saw_java_source to determine when to
	look for `.java' file.
	* jcf-parse.c (saw_java_source): New global.
	(yyparse): Set it if `.java' file seen.
	* Make-lang.in (JAVA_SRCS): Added jcf-path.c.
	(GCJH_SOURCES): Likewise.
	* Makefile.in (datadir): New macro.
	(libjava_zip): Likewise.
	(JAVA_OBJS): Added jcf-path.o.
	(../jcf-dump$(exeext)): Depend on and link with jcf-depend.o.
	(../gcjh$(exeext)): Likewise.
	(jcf-path.o): New target.
	* java-tree.h (fix_classpath): Removed decl.
	* jcf-parse.c (fix_classpath): Removed.
	(load_class): Don't call fix_classpath.
	* parse.y (read_import_dir): Don't call fix_classpath.
	* lex.h: Don't mention classpath.
	* lex.c (java_init_lex): Don't initialize classpath.
	* jcf-io.c (classpath): Removed global.
	(find_class): Use jcf_path iteration functions.  Correctly search
	class path for .java file.
	(open_in_zip): New argument `is_system'.
	* jcf-dump.c (main): Call jcf_path_init.  Recognize all new
	classpath-related options.
	* lang.c (lang_decode_option): Handle -fclasspath, -fCLASSPATH,
	and -I.
	(lang_init): Call jcf_path_init.
	* lang-options.h: Mention -I, -fclasspath, and -fCLASSPATH.
	* lang-specs.h: Handle -I.  Minor cleanup to -M options.
	Correctly put braces around second string in each entry.
	* gjavah.c (main): Call jcf_path_init.  Recognize all the new
	classpath-related options.
	(help): Updated for new options.
	* jcf.h: Declare functions from jcf-path.c.  Don't mention
	`classpath' global.
	* jcf-path.c: New file.
	* jcf-depend.c: Include jcf.h.
	* jcf-write.c (localvar_alloc): Returns `void'.
	(localvar_free): Removed unused variable.
	* lang.c (OBJECT_SUFFIX): Define if not already defined.
	(init_parse): Use OBJECT_SUFFIX, not ".o".

From-SVN: r23219
1998-10-22 12:06:05 +00:00
Tom Tromey
fc45c7efec jcf-write.c (write_classfile): Add output class file as target.
* jcf-write.c (write_classfile): Add output class file as target.
	* lang-options.h: Added -MD, -MMD, -M, and -MM.
	* jcf.h: Added declarations for dependency-tracking functions.
	* lang-specs.h: Handle -M, -MM, MD, and -MMD.
	* lang.c (lang_decode_option): Recognize -MD and -MMD.
	(finish_parse): Call jcf_dependency_write.
	(dependency_tracking): New global.
	(DEPEND_SET_FILE): New define.
	(DEPEND_ENABLE): New define.
	(init_parse): Enable dependency tracking if required.
	Include "flags.h".
	* Makefile.in (JAVA_OBJS): Added jcf-depend.o.
	(../jcf-dump$(exeext)): Depend on and link with jcf-depend.o.
	(../gcjh$(exeext)): Likewise.
	(jcf-depend.o): New target.
	* Make-lang.in (JAVA_SRCS): Added jcf-depend.c.
	(GCJH_SOURCES): Likewise.
	* jcf-io.c (open_class): Call jcf_dependency_add_file.  Added
	dep_name argument.
	(find_classfile): Added dep_name argument.
	(find_class): Compute name of dependency.
	(open_in_zip): Call jcf_dependency_add_file.
	* gjavah.c (output_file): No longer global.
	(usage): Don't mention "gjavah".
	(help): Likewise.
	(java_no_argument): Likewise.
	(version): Likewise.
	(main): Recognize and handle -M family of options.
	(print_mangled_classname): Return is void.
	(process_file): Handle case where output is suppressed.
	(HANDLE_END_FIELD): Likewise.
	(HANDLE_METHOD): Likewise.
	* jcf-depend.c: New file.

From-SVN: r23085
1998-10-14 12:54:59 +00:00
Per Bothner
e4de5a1022
Merge from Cygnus internal source tree.

From-SVN: r23025
1998-10-12 05:43:53 -07:00
Jeffrey A Law
71d05349ab gjavah.c (java_no_argument): Renamed from no_argument to avoid losing due to namespace pollution in GNU getopt.h
* gjavah.c (java_no_argument): Renamed from no_argument to avoid
        losing due to namespace pollution in GNU getopt.h

From-SVN: r22364
1998-09-09 14:24:25 -06:00
Jeffrey A Law
e742fecc31 gjavah.c (print_class_decls): Fix thinko in arglist
* gjavah.c (print_class_decls): Fix thinko in arglist
        * jcv-io.c (find_classfile): Similarly.

From-SVN: r22326
1998-09-08 03:35:36 -06:00
Anthony Green
e04a16fbee Initial revision
From-SVN: r22299
1998-09-06 15:36:06 +00:00