diff options
author | Joseph Myers <joseph@codesourcery.com> | 2005-03-23 01:35:06 +0000 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2005-03-23 01:35:06 +0000 |
commit | 8549882418f574245c42afc3a927c7da59015843 (patch) | |
tree | 2dc0be928c289ceb6e2df4ae5cf04396eb70721e /gcc/c-parser.c | |
parent | 522ddfa2543f57daddbb9cd8e2a44d8f6425396e (diff) | |
download | gcc-8549882418f574245c42afc3a927c7da59015843.zip gcc-8549882418f574245c42afc3a927c7da59015843.tar.gz gcc-8549882418f574245c42afc3a927c7da59015843.tar.bz2 |
c-common.c (c_common_truthvalue_conversion): Adjust comment.
* c-common.c (c_common_truthvalue_conversion): Adjust comment.
Call c_common_truthvalue_conversion rather than
lang_hooks.truthvalue_conversion.
* c-convert.c (convert): Call c_objc_common_truthvalue_conversion.
* c-objc-common.c (c_objc_common_truthvalue_conversion): Move to
c-typeck.c.
* c-objc-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Change to
c_common_truthvalue_conversion.
* c-parser.c (c_parser_paren_condition, c_parser_for_statement,
c_parser_conditional_expression, c_parser_binary_expression): Call
c_objc_common_truthvalue_conversion.
* c-typeck.c (build_unary_op): Call
c_objc_common_truthvalue_conversion.
(build_conditional_expr): Do not call
lang_hooks.truthvalue_conversion.
(build_binary_op): Call c_common_truthvalue_conversion.
(c_objc_common_truthvalue_conversion): Moved from
c-objc-common.c. Call default_function_array_conversion instead
of default_conversion.
objc:
* objc-act.c (next_sjlj_build_enter_and_setjmp,
next_sjlj_build_catch_list, next_sjlj_build_try_catch_finally):
Call c_common_truthvalue_conversion.
From-SVN: r96917
Diffstat (limited to 'gcc/c-parser.c')
-rw-r--r-- | gcc/c-parser.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/gcc/c-parser.c b/gcc/c-parser.c index 99b6e09..8e8626e 100644 --- a/gcc/c-parser.c +++ b/gcc/c-parser.c @@ -3580,7 +3580,8 @@ c_parser_paren_condition (c_parser *parser) if (!c_parser_require (parser, CPP_OPEN_PAREN, "expected %<(%>")) return error_mark_node; loc = c_parser_peek_token (parser)->location; - cond = lang_hooks.truthvalue_conversion (c_parser_expression (parser).value); + cond = c_objc_common_truthvalue_conversion + (c_parser_expression (parser).value); if (EXPR_P (cond)) SET_EXPR_LOCATION (cond, loc); c_parser_skip_until_found (parser, CPP_CLOSE_PAREN, "expected %<)%>"); @@ -3816,7 +3817,7 @@ c_parser_for_statement (c_parser *parser) else { tree ocond = c_parser_expression (parser).value; - cond = lang_hooks.truthvalue_conversion (ocond); + cond = c_objc_common_truthvalue_conversion (ocond); if (EXPR_P (cond)) SET_EXPR_LOCATION (cond, loc); c_parser_skip_until_found (parser, CPP_SEMICOLON, "expected %<;%>"); @@ -4151,13 +4152,14 @@ c_parser_conditional_expression (c_parser *parser, struct c_expr *after) pedwarn ("ISO C forbids omitting the middle term of a ?: expression"); /* Make sure first operand is calculated only once. */ exp1.value = save_expr (default_conversion (cond.value)); - cond.value = lang_hooks.truthvalue_conversion (exp1.value); + cond.value = c_objc_common_truthvalue_conversion (exp1.value); skip_evaluation += cond.value == truthvalue_true_node; } else { cond.value - = lang_hooks.truthvalue_conversion (default_conversion (cond.value)); + = c_objc_common_truthvalue_conversion + (default_conversion (cond.value)); skip_evaluation += cond.value == truthvalue_false_node; exp1 = c_parser_expression (parser); skip_evaluation += ((cond.value == truthvalue_true_node) @@ -4394,12 +4396,12 @@ c_parser_binary_expression (c_parser *parser, struct c_expr *after) switch (ocode) { case TRUTH_ANDIF_EXPR: - stack[sp].expr.value = lang_hooks.truthvalue_conversion + stack[sp].expr.value = c_objc_common_truthvalue_conversion (default_conversion (stack[sp].expr.value)); skip_evaluation += stack[sp].expr.value == truthvalue_false_node; break; case TRUTH_ORIF_EXPR: - stack[sp].expr.value = lang_hooks.truthvalue_conversion + stack[sp].expr.value = c_objc_common_truthvalue_conversion (default_conversion (stack[sp].expr.value)); skip_evaluation += stack[sp].expr.value == truthvalue_true_node; break; |