diff options
author | Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 2007-09-01 17:18:03 +0000 |
---|---|---|
committer | Kaveh Ghazi <ghazi@gcc.gnu.org> | 2007-09-01 17:18:03 +0000 |
commit | 755478019ac28552396592d63b2e1ffeeaa24206 (patch) | |
tree | 219b94e14e50ec61d3797a74d100f7b56eb8d994 /gcc/system.h | |
parent | b65e51a81fd877211cacb75bc07b56dcb45444b4 (diff) | |
download | gcc-755478019ac28552396592d63b2e1ffeeaa24206.zip gcc-755478019ac28552396592d63b2e1ffeeaa24206.tar.gz gcc-755478019ac28552396592d63b2e1ffeeaa24206.tar.bz2 |
c-common.c (const_strip_array_types): Delete.
* c-common.c (const_strip_array_types): Delete.
* c-common.h (const_strip_array_types): Likewise.
* emit-rtl.c (const_next_insn, const_previous_insn,
const_next_nonnote_insn, const_prev_nonnote_insn,
const_next_real_insn, const_prev_real_insn,
const_next_active_insn, const_prev_active_insn, const_next_label,
const_prev_label): Delete.
* gimple-low.c (block_may_fallthru): Use expr_last.
* jump.c (reversed_comparison_code_parts): Use prev_nonnote_insn.
* rtl.h (const_previous_insn, const_next_insn,
const_prev_nonnote_insn, const_next_nonnote_insn,
const_prev_real_insn, const_next_real_insn,
const_prev_active_insn, const_next_active_insn, const_prev_label,
const_next_label): Delete.
* rtlanal.c (keep_with_call_p): Use next_nonnote_insn.
* system.h (CONST_CAST): Update comment.
* tree-cfg.c (tree_can_merge_blocks_p): Use last_stmt.
(const_first_stmt, const_last_stmt): Delete.
(tree_block_ends_with_condjump_p): Use last_stmt.
* tree-flow.h (const_first_stmt, const_last_stmt): Delete.
* tree-iterator.c (const_expr_first, const_expr_last,
const_expr_only): Delete.
* tree.c (const_lookup_attribute): Likewise.
(attribute_list_contained): Use lookup_attribute.
* tree.h (const_lookup_attribute, const_expr_first,
const_expr_last, const_expr_only): Delete.
cp:
* tree.c (pod_type_p, zero_init_p): Use strip_array_types.
* typeck.c (cp_type_quals, cp_type_readonly, cp_has_mutable_p):
Likewise.
From-SVN: r128014
Diffstat (limited to 'gcc/system.h')
-rw-r--r-- | gcc/system.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/gcc/system.h b/gcc/system.h index 0225d8b..84ddf49 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -772,8 +772,15 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN; the C standard definitions or prototypes force you to. E.g. if you need to free a const object, or if you pass a const string to execv, et al. Another valid use would be in an allocation function - that creates const objects that need to be initialized. Most other - cases should be viewed with extreme caution. */ + that creates const objects that need to be initialized. In some + cases we have non-const functions that return the argument + (e.g. next_nonnote_insn). Rather than create const shadow + functions, we can cast away const-ness in calling these interfaces + if we're careful to verify that the called function does indeed not + modify its argument and the return value is only used in a const + context. (This can be somewhat dangerous as these assumptions can + change after the fact). Beyond these uses, most other cases of + using this macro should be viewed with extreme caution. */ #if defined(__GNUC__) && GCC_VERSION != 4000 /* GCC 4.0.x has a bug where it may ICE on this expression. */ |