aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/lang.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2002-08-22 00:41:28 +0000
committerTom Tromey <tromey@gcc.gnu.org>2002-08-22 00:41:28 +0000
commit0d811e1a74221354e24d7d1d4f74df1c39c35994 (patch)
tree35582e8089826b4399616d76fdec37d128546096 /gcc/java/lang.c
parent27d309563534422c7f948056c6bbcfb341b7150d (diff)
downloadgcc-0d811e1a74221354e24d7d1d4f74df1c39c35994.zip
gcc-0d811e1a74221354e24d7d1d4f74df1c39c35994.tar.gz
gcc-0d811e1a74221354e24d7d1d4f74df1c39c35994.tar.bz2
For PR java/6005 and PR java/7611:
* lang.c (LANG_HOOKS_CAN_USE_BITFIELDS_P): New define. (java_can_use_bit_fields_p): New function. From-SVN: r56497
Diffstat (limited to 'gcc/java/lang.c')
-rw-r--r--gcc/java/lang.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/gcc/java/lang.c b/gcc/java/lang.c
index 0a76402f..fadd972 100644
--- a/gcc/java/lang.c
+++ b/gcc/java/lang.c
@@ -1,5 +1,5 @@
/* Java(TM) language-specific utility routines.
- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+ Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -68,6 +68,8 @@ static tree java_tree_inlining_walk_subtrees PARAMS ((tree *,
void *,
void *));
static int java_unsafe_for_reeval PARAMS ((tree));
+static bool java_can_use_bit_fields_p PARAMS ((void));
+
#ifndef TARGET_OBJECT_SUFFIX
# define TARGET_OBJECT_SUFFIX ".o"
@@ -259,6 +261,8 @@ struct language_function GTY(())
#define LANG_HOOKS_DECL_PRINTABLE_NAME lang_printable_name
#undef LANG_HOOKS_PRINT_ERROR_FUNCTION
#define LANG_HOOKS_PRINT_ERROR_FUNCTION java_print_error_function
+#undef LANG_HOOKS_CAN_USE_BIT_FIELDS_P
+#define LANG_HOOKS_CAN_USE_BIT_FIELDS_P java_can_use_bit_fields_p
#undef LANG_HOOKS_TYPE_FOR_MODE
#define LANG_HOOKS_TYPE_FOR_MODE java_type_for_mode
@@ -794,6 +798,14 @@ java_init_options ()
flag_trapping_math = 0;
}
+static bool
+java_can_use_bit_fields_p ()
+{
+ /* The bit-field optimizations cause problems when generating class
+ files. */
+ return flag_emit_class_files ? false : true;
+}
+
/* Post-switch processing. */
static bool
java_post_options ()