diff options
author | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-04-04 22:19:58 +0000 |
---|---|---|
committer | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-04-04 22:19:58 +0000 |
commit | aff9e6561ee30f3802fe5993a64cdcd7a53146b4 (patch) | |
tree | 50dc6fe5e989dd9c497bfef9c4a8a5e5f0a8ba33 /gcc/langhooks.h | |
parent | 322fc845e136fcb38a416b552b3e8367388b93a8 (diff) | |
download | gcc-aff9e6561ee30f3802fe5993a64cdcd7a53146b4.tar.gz |
* c-common.c (truthvalue_conversion): Rename, update.
* c-common.h (c_common_truthvalue_conversion): New.
* c-convert.c (convert): Update.
* c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
* c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
* c-typeck.c (build_binary_op, build_unary_op,
build_conditional_expr): Update.
* fold-const.c (constant_boolean_node, fold): Use langhook.
* langhooks-def.h (LANGHOOK_INITIALIZER): Update.
* langhooks.h (struct lang_hooks): New hook.
* stmt.c (expand_decl_cleanup): Use langhook.
* tree.h (truthvalue_conversion): Remove.
ada:
* gigi.h (truthvalue_conversion): Rename.
* misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
* trans.c (tree_transform): Update.
* utils2.c (truthvalue_conversion): Rename, update.
(build_binary_op, build_unary_op): Update.
cp:
* cp-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
* cvt.c: Update comment.
* init.c (expand_cleanup_for_base): Update.
* semantics.c (finish_parenthesized_expr): Update.
* typeck.c (cp_truthvalue_conversion): Update.
f:
* com.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
(truthvalue_conversion): Rename. Update. Make static.
(ffecom_truth_value): Update.
java:
* expr.c (truthvalue_conversion): Rename. Update.
(expand_compare): Update.
* java-tree.h (java_truthvalue_conversion): New.
* lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
objc:
* objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51880 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/langhooks.h')
-rw-r--r-- | gcc/langhooks.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/langhooks.h b/gcc/langhooks.h index 83e2e5abdb9..2a50aa78fa7 100644 --- a/gcc/langhooks.h +++ b/gcc/langhooks.h @@ -200,6 +200,19 @@ struct lang_hooks Fourth argument is actually an enum expand_modifier. */ rtx (*expand_expr) PARAMS ((tree, rtx, enum machine_mode, int)); + /* Prepare expr to be an argument of a TRUTH_NOT_EXPR or other logical + operation. + + This preparation consists of taking the ordinary representation + of an expression expr and producing a valid tree boolean + expression describing whether expr is nonzero. We could simply + always do build_binary_op (NE_EXPR, expr, integer_zero_node, 1), + but we optimize comparisons, &&, ||, and !. + + The result should be an expression of boolean type (if not an + error_mark_node). */ + tree (*truthvalue_conversion) PARAMS ((tree)); + /* Possibly apply default attributes to a function (represented by a FUNCTION_DECL). */ void (*insert_default_attributes) PARAMS ((tree)); |