aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/jvspec.c
diff options
context:
space:
mode:
authorAndrew Haley <aph@cygnus.com>1999-07-21 14:51:24 +0000
committerAndrew Haley <aph@gcc.gnu.org>1999-07-21 14:51:24 +0000
commit0b094f655adbcfc286d1e03937814129dd5fa640 (patch)
treec27a832be3b216288616a1f5fd5aa1334bcc9bca /gcc/java/jvspec.c
parentaa4759c11cc78443455b69fca236c24ff89c91a1 (diff)
downloadgcc-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.c9
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)