aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2007-01-10 19:28:39 +0000
committerTom Tromey <tromey@gcc.gnu.org>2007-01-10 19:28:39 +0000
commit08f0e79ed931917b74221563e09d85e4804c4293 (patch)
tree722fcda144ee1c967294ec48adf52843af50195d /gcc
parente0ae13896e72fdc6d0cf2a93452ecbb8a7993860 (diff)
downloadgcc-08f0e79ed931917b74221563e09d85e4804c4293.zip
gcc-08f0e79ed931917b74221563e09d85e4804c4293.tar.gz
gcc-08f0e79ed931917b74221563e09d85e4804c4293.tar.bz2
fold-const.c (fold_truthop): Don't check can_use_bit_fields_p.
gcc * fold-const.c (fold_truthop): Don't check can_use_bit_fields_p. (fold_binary): Likewise. * langhooks.c (lhd_can_use_bit_fields_p): Removed. * langhooks-def.h (lhd_can_use_bit_fields_p): Removed. (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed. (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_CAN_USE_BIT_FIELDS_P. * langhooks.h (struct lang_hooks): Removed field 'can_use_bit_fields_p'. gcc/java * lang.c (java_can_use_bit_fields_p): Removed. (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed. From-SVN: r120647
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/fold-const.c10
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/lang.c11
-rw-r--r--gcc/langhooks-def.h5
-rw-r--r--gcc/langhooks.c7
-rw-r--r--gcc/langhooks.h4
7 files changed, 19 insertions, 34 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6e9d974..2bb7b53 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,14 @@
+2007-01-10 Tom Tromey <tromey@redhat.com>
+
+ * fold-const.c (fold_truthop): Don't check can_use_bit_fields_p.
+ (fold_binary): Likewise.
+ * langhooks.c (lhd_can_use_bit_fields_p): Removed.
+ * langhooks-def.h (lhd_can_use_bit_fields_p): Removed.
+ (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed.
+ (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_CAN_USE_BIT_FIELDS_P.
+ * langhooks.h (struct lang_hooks): Removed field
+ 'can_use_bit_fields_p'.
+
2007-01-10 Ralf Corsépius <ralf.corsepius@rtems.org>
* config/bfin/t-bfin, config/bfin/t-bfin-elf: Remove GCC_CFLAGS.
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 9e1eae3..3a3c1f9 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -1,6 +1,6 @@
/* Fold a constant sub-tree into a single node for C-compiler
Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
This file is part of GCC.
@@ -5117,11 +5117,6 @@ fold_truthop (enum tree_code code, tree truth_type, tree lhs, tree rhs)
return 0;
}
- /* After this point all optimizations will generate bit-field
- references, which we might not want. */
- if (! lang_hooks.can_use_bit_fields_p ())
- return 0;
-
/* See if we can find a mode that contains both fields being compared on
the left. If we can't, fail. Otherwise, update all constants and masks
to be relative to a field of that size. */
@@ -10947,8 +10942,7 @@ fold_binary (enum tree_code code, tree type, tree op0, tree op1)
}
/* If this is a comparison of a field, we may be able to simplify it. */
- if (((TREE_CODE (arg0) == COMPONENT_REF
- && lang_hooks.can_use_bit_fields_p ())
+ if ((TREE_CODE (arg0) == COMPONENT_REF
|| TREE_CODE (arg0) == BIT_FIELD_REF)
/* Handle the constant case even without -O
to make sure the warnings are given. */
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 5776df2..9b28a72 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,8 @@
+2007-01-10 Tom Tromey <tromey@redhat.com>
+
+ * lang.c (java_can_use_bit_fields_p): Removed.
+ (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed.
+
2007-01-09 Andrew Haley <aph@redhat.com>
* expr.c (build_java_arrayaccess): Rewrite to generate array
diff --git a/gcc/java/lang.c b/gcc/java/lang.c
index 51a59d2..461cdc8 100644
--- a/gcc/java/lang.c
+++ b/gcc/java/lang.c
@@ -60,7 +60,6 @@ static tree java_tree_inlining_walk_subtrees (tree *, int *, walk_tree_fn,
void *, struct pointer_set_t *);
static int merge_init_test_initialization (void * *, void *);
static int inline_init_test_initialization (void * *, void *);
-static bool java_can_use_bit_fields_p (void);
static bool java_dump_tree (void *, tree);
static void dump_compound_expr (dump_info_p, tree);
static bool java_decl_ok_for_sibcall (tree);
@@ -178,8 +177,6 @@ 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
@@ -597,14 +594,6 @@ java_init_options (unsigned int argc ATTRIBUTE_UNUSED,
return CL_Java;
}
-static bool
-java_can_use_bit_fields_p (void)
-{
- /* 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 (const char **pfilename)
diff --git a/gcc/langhooks-def.h b/gcc/langhooks-def.h
index 73b716a..1165d34 100644
--- a/gcc/langhooks-def.h
+++ b/gcc/langhooks-def.h
@@ -1,5 +1,5 @@
/* Default macros to initialize the lang_hooks data structure.
- Copyright 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
Contributed by Alexandre Oliva <aoliva@redhat.com>
This file is part of GCC.
@@ -60,7 +60,6 @@ extern int lhd_expand_decl (tree);
extern void lhd_print_error_function (struct diagnostic_context *,
const char *);
extern void lhd_set_decl_assembler_name (tree);
-extern bool lhd_can_use_bit_fields_p (void);
extern bool lhd_warn_unused_global_decl (tree);
extern void lhd_incomplete_type_error (tree, tree);
extern tree lhd_type_promotes_to (tree);
@@ -116,7 +115,6 @@ extern void lhd_omp_firstprivatize_type_sizes (struct gimplify_omp_ctx *,
#define LANG_HOOKS_STATICP lhd_staticp
#define LANG_HOOKS_DUP_LANG_SPECIFIC_DECL lhd_do_nothing_t
#define LANG_HOOKS_SET_DECL_ASSEMBLER_NAME lhd_set_decl_assembler_name
-#define LANG_HOOKS_CAN_USE_BIT_FIELDS_P lhd_can_use_bit_fields_p
#define LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS false
#define LANG_HOOKS_NO_BODY_BLOCKS false
#define LANG_HOOKS_PRINT_STATISTICS lhd_do_nothing
@@ -303,7 +301,6 @@ extern tree lhd_make_node (enum tree_code);
LANG_HOOKS_STATICP, \
LANG_HOOKS_DUP_LANG_SPECIFIC_DECL, \
LANG_HOOKS_SET_DECL_ASSEMBLER_NAME, \
- LANG_HOOKS_CAN_USE_BIT_FIELDS_P, \
LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS, \
LANG_HOOKS_NO_BODY_BLOCKS, \
LANG_HOOKS_PRINT_STATISTICS, \
diff --git a/gcc/langhooks.c b/gcc/langhooks.c
index 5b0e09f..5145fc3 100644
--- a/gcc/langhooks.c
+++ b/gcc/langhooks.c
@@ -185,13 +185,6 @@ lhd_set_decl_assembler_name (tree decl)
}
}
-/* By default we always allow bit-field based optimizations. */
-bool
-lhd_can_use_bit_fields_p (void)
-{
- return true;
-}
-
/* Type promotion for variable arguments. */
tree
lhd_type_promotes_to (tree ARG_UNUSED (type))
diff --git a/gcc/langhooks.h b/gcc/langhooks.h
index 4f789f1..db7a35e 100644
--- a/gcc/langhooks.h
+++ b/gcc/langhooks.h
@@ -347,10 +347,6 @@ struct lang_hooks
assembler does not talk about it. */
void (*set_decl_assembler_name) (tree);
- /* Return nonzero if fold-const is free to use bit-field
- optimizations, for instance in fold_truthop(). */
- bool (*can_use_bit_fields_p) (void);
-
/* Nonzero if operations on types narrower than their mode should
have their results reduced to the precision of the type. */
bool reduce_bit_field_operations;