}
/* Build a call to __builtin_trap which can be used as an expression of
- type TYPE. This looks like *(__builtin_trap(), (TYPE*)NULL). */
+ type TYPE. */
static tree
call_builtin_trap (tree type)
{
tree fn = implicit_built_in_decls[BUILT_IN_TRAP];
- tree t;
my_friendly_assert (fn != NULL, 20030927);
fn = build_call (fn, NULL_TREE);
- t = convert (build_pointer_type (type), null_node);
- t = build (COMPOUND_EXPR, TREE_TYPE (t), fn, t);
- t = build_indirect_ref (t, NULL);
- return t;
+ fn = build (COMPOUND_EXPR, type, fn, error_mark_node);
+ fn = force_target_expr (type, fn);
+ return fn;
}
/* ARG is being passed to a varargs function. Perform any conversions