aboutsummaryrefslogtreecommitdiff
path: root/gcc/langhooks.h
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2002-08-02 07:57:22 -0400
committerJason Merrill <jason@gcc.gnu.org>2002-08-02 07:57:22 -0400
commita77a9a18c058d41eeb634e6c6a6f56d9bae04d55 (patch)
tree72cdfa1019e7a95a9c990b7e0b9711b69f589e01 /gcc/langhooks.h
parent367aa58580632b0bef67f5bbcc41009eb8a09381 (diff)
downloadgcc-a77a9a18c058d41eeb634e6c6a6f56d9bae04d55.zip
gcc-a77a9a18c058d41eeb634e6c6a6f56d9bae04d55.tar.gz
gcc-a77a9a18c058d41eeb634e6c6a6f56d9bae04d55.tar.bz2
langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
* langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro. * langhooks.c (lhd_expr_size): Define default. * langhooks.h (struct lang_hooks): Add expr_size. * explow.c (expr_size): Call it. * expr.c (store_expr): Don't copy an expression of size zero. (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much to store. * Makefile.in (builtins.o): Depend on langhooks.h. * cp-lang.c (LANG_HOOKS_EXPR_SIZE): Define. (cp_expr_size): New fn. * call.c (build_over_call): Lose empty class hackery. (convert_arg_to_ellipsis): Promote non-POD warning to error. * typeck.c (build_modify_expr): Don't use save_expr on an lvalue. From-SVN: r55983
Diffstat (limited to 'gcc/langhooks.h')
-rw-r--r--gcc/langhooks.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/langhooks.h b/gcc/langhooks.h
index 0ec3c88..7ddd32c 100644
--- a/gcc/langhooks.h
+++ b/gcc/langhooks.h
@@ -328,6 +328,12 @@ struct lang_hooks
void (*print_error_function) PARAMS ((struct diagnostic_context *,
const char *));
+ /* Called from expr_size to calculate the size of the value of an
+ expression in a language-dependent way. Returns a tree for the size
+ in bytes. A frontend can call lhd_expr_size to get the default
+ semantics in cases that it doesn't want to handle specially. */
+ tree (*expr_size) PARAMS ((tree));
+
/* Pointers to machine-independent attribute tables, for front ends
using attribs.c. If one is NULL, it is ignored. Respectively, a
table of attributes specific to the language, a table of