aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-common.c
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2005-03-21 02:22:08 +0000
committerJoseph Myers <jsm28@gcc.gnu.org>2005-03-21 02:22:08 +0000
commit37dc0d8dc7248b0495b56a26ca436f3980271587 (patch)
tree4f046755cca3d6be85f4cf05610ef5313e865404 /gcc/c-common.c
parent5aff41479e6606793f74dfd9d5870eaebc267014 (diff)
downloadgcc-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.c50
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"