diff options
author | Andrew Haley <aph@cygnus.com> | 1999-07-21 14:51:24 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 1999-07-21 14:51:24 +0000 |
commit | 0b094f655adbcfc286d1e03937814129dd5fa640 (patch) | |
tree | c27a832be3b216288616a1f5fd5aa1334bcc9bca /gcc/java/jvspec.c | |
parent | aa4759c11cc78443455b69fca236c24ff89c91a1 (diff) | |
download | gcc-0b094f655adbcfc286d1e03937814129dd5fa640.zip gcc-0b094f655adbcfc286d1e03937814129dd5fa640.tar.gz gcc-0b094f655adbcfc286d1e03937814129dd5fa640.tar.bz2 |
lang.c (flag_use_divide_subroutine): New variable.
1999-07-15 Andrew Haley <aph@cygnus.com>
* lang.c (flag_use_divide_subroutine): New variable.
* typeck.c: (convert_ieee_real_to_integer): Bounds check
fp-to-integer conversion.
(convert): Call convert_ieee_real_to_integer when flag_fast_math
is not set.
* expr.c (build_java_soft_divmod): New function.
(build_java_binop): Call build_java_soft_divmod if
flag_use_divide_subroutine is set.
* decl.c: soft_idiv_node, soft_irem_node, soft_ldiv_node, tree
soft_lrem_node: new builtin functions.
(init_decl_processing) Initialize the new builtins.
* java-tree.h soft_idiv_node, soft_irem_node, soft_ldiv_node, tree
soft_lrem_node: new builtin functions.
(build_java_soft_divmod): New function.
* parse.y: Call build_java_soft_divmod if
flag_use_divide_subroutine is set.
* parse.c: Rebuilt.
* jvspec.c (lang_specific_driver): Always allow an extra arg (for
a --specs= arg) even if not linking.
* lang-options.h (DEFINE_LANG_NAME ("Java")): Add
-fuse-divide-subroutine
From-SVN: r28209
Diffstat (limited to 'gcc/java/jvspec.c')
-rw-r--r-- | gcc/java/jvspec.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/java/jvspec.c b/gcc/java/jvspec.c index eba801c..e962e58 100644 --- a/gcc/java/jvspec.c +++ b/gcc/java/jvspec.c @@ -376,8 +376,7 @@ lang_specific_driver (fn, in_argc, in_argv, in_added_libraries) } if (saw_g + saw_O == 0) num_args++; - if (will_link) - num_args++; + num_args++; arglist = (char **) xmalloc ((num_args + 1) * sizeof (char *)); for (i = 0, j = 0; i < argc; i++, j++) @@ -408,7 +407,7 @@ lang_specific_driver (fn, in_argc, in_argv, in_added_libraries) continue; } - if (will_link && spec_file == NULL && strncmp (argv[i], "-L", 2) == 0) + if (spec_file == NULL && strncmp (argv[i], "-L", 2) == 0) spec_file = find_spec_file (argv[i] + 2); if (strncmp (argv[i], "-fmain=", 7) == 0) @@ -453,10 +452,10 @@ lang_specific_driver (fn, in_argc, in_argv, in_added_libraries) if (saw_g + saw_O == 0) arglist[j++] = "-g1"; - /* Read the specs file corresponding to libgcj, but only if linking. + /* Read the specs file corresponding to libgcj. If we didn't find the spec file on the -L path, then we hope it is somewhere in the standard install areas. */ - if (will_link) + if (! saw_C) arglist[j++] = spec_file == NULL ? "-specs=libgcj.spec" : spec_file; if (saw_C) |