diff options
author | Joseph Myers <joseph@codesourcery.com> | 2005-03-21 02:22:08 +0000 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2005-03-21 02:22:08 +0000 |
commit | 37dc0d8dc7248b0495b56a26ca436f3980271587 (patch) | |
tree | 4f046755cca3d6be85f4cf05610ef5313e865404 /gcc/c-common.c | |
parent | 5aff41479e6606793f74dfd9d5870eaebc267014 (diff) | |
download | gcc-37dc0d8dc7248b0495b56a26ca436f3980271587.zip gcc-37dc0d8dc7248b0495b56a26ca436f3980271587.tar.gz gcc-37dc0d8dc7248b0495b56a26ca436f3980271587.tar.bz2 |
c-common.c (lvalue_or_else): Replace by lvalue_error; only give diagnostic without checking whether an lvalue.
* c-common.c (lvalue_or_else): Replace by lvalue_error; only give
diagnostic without checking whether an lvalue.
* c-common.h (lvalue_p): Remove.
(enum lvalue_use): Update comment.
(lvalue_or_else): Replace by lvalue_error.
* c-typeck.c (lvalue_p): Make static.
(lvalue_or_else): New. Call lvalue_error.
cp:
* cp-tree.h (lvalue_or_else, lvalue_p): New.
* typeck.c (lvalue_or_else): New. Call lvalue_error.
From-SVN: r96776
Diffstat (limited to 'gcc/c-common.c')
-rw-r--r-- | gcc/c-common.c | 50 |
1 files changed, 21 insertions, 29 deletions
diff --git a/gcc/c-common.c b/gcc/c-common.c index 1851836..9c6a9d1 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -5721,40 +5721,32 @@ fold_offsetof (tree expr) return convert (size_type_node, fold_offsetof_1 (expr)); } -/* Return nonzero if REF is an lvalue valid for this language; - otherwise, print an error message and return zero. USE says +/* Print an error message for an invalid lvalue. USE says how the lvalue is being used and so selects the error message. */ -int -lvalue_or_else (tree ref, enum lvalue_use use) +void +lvalue_error (enum lvalue_use use) { - int win = lvalue_p (ref); - - if (!win) + switch (use) { - switch (use) - { - case lv_assign: - error ("invalid lvalue in assignment"); - break; - case lv_increment: - error ("invalid lvalue in increment"); - break; - case lv_decrement: - error ("invalid lvalue in decrement"); - break; - case lv_addressof: - error ("invalid lvalue in unary %<&%>"); - break; - case lv_asm: - error ("invalid lvalue in asm statement"); - break; - default: - gcc_unreachable (); - } + case lv_assign: + error ("invalid lvalue in assignment"); + break; + case lv_increment: + error ("invalid lvalue in increment"); + break; + case lv_decrement: + error ("invalid lvalue in decrement"); + break; + case lv_addressof: + error ("invalid lvalue in unary %<&%>"); + break; + case lv_asm: + error ("invalid lvalue in asm statement"); + break; + default: + gcc_unreachable (); } - - return win; } #include "gt-c-common.h" |