2004-04-05 Caroline Tice <ctice@apple.com>
* gcc.c (combine_flag): New global variable, for new driver option.
(struct compiler): Add two new fields, to be used when
combining multiple input files in a single pass (IMA).
(default_compilers): Add values for the new fields to all
compiler entries. Modify the "@c" compiler entry for doing IMA
properly with "-save-temps" and the "combine" flag.
(option_map): Add new driver option, "--combine", to tell driver
to pass multiple input files to compiler at one time.
(have_o_argbuf_index): New global variable.
(store_arg): Modify to assign value to have_o_argbuf_index.
(struct infile): Add three new fields, to help with IMA.
(display_help): Add help for new "combine" option.
(process_command): Remove local variable have_o; add code to check
for new "combine" option; remove assignment to combine_inputs.
(do_spec_1): Modify to deal with IMA better.
(main): Make variable 'lang_n_infiles' local to entire function
rather than to a single block. Use flag combine_flag to
determine whether to do IMA or not; Modify loop initializing
infiles to deal properly with linker files.
Add code for doing preprocessing in presence of
IMA with "-save-temps" flag. Modify "main" loop to handle
multiple input files, in multiple languages, with or without
preprocessing, gracefully.
* toplev.c (set_src_pwd): Modify to not complain if attempting to
re-set it to same directory it's previously been set to (avoid
irritating, meaningless warning messages when doing IMA with
save-temps).
* doc/invoke.texi: Add "-combine" to list of Overall Options;
remove documentation about IMA that is no longer accurate; Add
documentation explaining what "-combine" does.
* ada/lang-specs.h: Add initialization values for new fields in
"struct compiler".
* cp/lang-specs.h: Likewise.
* f/lang-specs.h: Likewise.
* java/lang-specs.h: Likewise.
* objc/lang-specs.h: Likewise.
* treelang/lang-specs.h: Likewise.
Fix gcc driver to work properly with IMI.
From-SVN: r80435
* lang-specs.h: Rewrite -MD and -MMD to append an underscore.
* lang.c (java_handle_option): -MD and -MMD have an underscore.
* lang.opt: -MD and -MMD have an underscore.
From-SVN: r67958
2001-07-10 Alexandre Petit-Bianco <apbianco@redhat.com>
* lang-specs.h: Forbit the use if `-femit-class-file{s}' without
`-fsyntax-only.' Fixes PR java/3248
2001-07-10 Alexandre Petit-Bianco <apbianco@redhat.com>
* jcf-io.c (find_class): Clarified error message. Fixes PR java/2603
2001-07-10 Alexandre Petit-Bianco <apbianco@redhat.com>
* parse.h (INNER_ENCLOSING_SCOPE_CHECK): No `this' is fine if the
current function is static. Fixes PR java/1970
2001-07-09 Alexandre Petit-Bianco <apbianco@redhat.com>
* parse.y (patch_method_invocation): Add enclosing context to ctor
calls if necessary. Fixes PR java/2953
2001-07-09 Alexandre Petit-Bianco <apbianco@redhat.com>
* parse.y (resolve_package): Abort if qualified expression member
isn't right.
(qualify_ambiguous_name): Don't qualify as type if `this' in use.
Fixes PR java/1391
(http://gcc.gnu.org/ml/gcc-patches/2001-07/msg00701.html )
From-SVN: r43927
* gcc.c, cp/lang-specs.h, f/lang-specs.h, java/lang-specs.h,
objc/lang-specs.h: Add zero initializer for cpp_spec field to
all array elements.
* cp/lang-specs.h: Don't put an #ifdef inside the initializer
list; set a default for CPLUSPLUS_CPP_SPEC and use it.
From-SVN: r40173
* gcc.c (cpp_options): Add spec for -ftabstop=.
(invoke_as): New spec that handles invoking as.
Update specs to handle -save-temps and -traditional.
* ch/lang-specs.h, f/lang-specs.h, java/lang-specs.h:
Use invoke_as.
* cp/lang-specs.h, objc/lang-specs.h: Update to use
invoke_as, and handle -save-temps and -traditional (if
appropriate).
From-SVN: r36646
* gcc.c (do_spec_1): Add new %B operator.
(set_input): Prepare for %B.
(link_command_spec): Move up with the other tm.h-
overrideable specs. Factor out the portion conditional on
LINK_LIBGCC_SPECIAL into a new spec, %(link_libgcc).
(struct compiler): Just have a single spec string. All users
updated.
(default_compilers): Remove unnecessary braces.
(static_specs): Update.
(trad_capable_cpp, cpp_options, cc1_options, asm_options): New
named specs.
(C and assembly specs): Use the new named specs, as appropriate.
* objc/lang-specs.h, ch/lang-specs.h, cp/lang-specs.h,
f/lang-specs.h, java/lang-specs.h: Use the new named specs.
Remove unnecessary braces.
From-SVN: r35008
* class.c (add_method_1): Set both DECL_EXTERNAL and METHOD_NATIVE
on native function.
* jcf-parse.c (parse_class_file): Call build_jni_stub for native
JNI methods.
* expr.c (build_jni_stub): New function.
* lang-specs.h: -fjni and -femit-class-file are incompatible.
* parse.c: Rebuilt.
* parse.y (java_complete_expand_methods): Expand a native method
and call build_jni_stub if -fjni given.
* lang-options.h: Document -fjni.
* lang.c (flag_jni): New global.
(lang_f_options): Added `jni' entry.
* java-tree.h (soft_lookupjnimethod_node,
soft_getjnienvnewframe_node, soft_jnipopsystemframe_node):
Declare.
(flag_jni): Declare.
(build_jni_stub): Declare.
(struct lang_decl): Added `native' flag.
(METHOD_NATIVE): Redefined to use `native' field of lang specific
structure.
* decl.c (soft_lookupjnimethod_node, soft_getjnienvnewframe_node,
soft_jnipopsystemframe_node): New globals.
(init_decl_processing): Set them. _Jv_InitClass only takes one
argument.
* java-tree.def: Put into `C' mode.
From-SVN: r33615
�
* jvspecs.c: Add (but don't enable) support for combining multiple
.class and .java input filenames to a single jc1 invocation.
Add support for -C flag (copile to .class files).
Translate -classpath and -CLASSPATH arguments.
* lang-specs.h: Don't set %2 spec.
From-SVN: r23238
* 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