diff options
author | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-02-07 18:57:35 +0000 |
---|---|---|
committer | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-02-07 18:57:35 +0000 |
commit | b30e3dbcd30d489ce6b4b64ffddef6692f9c4d75 (patch) | |
tree | a332f087a54481cb0bc35e12d08f3362b5f43f69 /gcc/testsuite/g++.dg/opt/fold1.C | |
parent | f82dbd66e40abc0c96911811bd2b689b332410a8 (diff) | |
download | gcc-b30e3dbcd30d489ce6b4b64ffddef6692f9c4d75.tar.gz |
PR middle-end/13696
* fold-const.c (fold_convert): New function to provide type
conversion to the middle-end without using convert.
(negate_expr, associate_trees, size_diffop, omit_one_operand,
operand_equal_for_comparison_p, pedantic_omit_one_operand,
invert_truthvalue, optimize_bit_field_compare, range_binop,
decode_field_reference, make_range, build_range_check, unextend,
fold_truthop, extract_muldiv_1, fold_mathfn_compare,
fold_binary_op_with_conditional_arg, fold_inf_compare,
fold_single_bit_test, fold, multiple_of_p): Replace all calls to
convert with calls to fold_convert.
* g++.dg/opt/fold1.C: New test case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77464 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/g++.dg/opt/fold1.C')
-rw-r--r-- | gcc/testsuite/g++.dg/opt/fold1.C | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/opt/fold1.C b/gcc/testsuite/g++.dg/opt/fold1.C new file mode 100644 index 00000000000..98f1b519115 --- /dev/null +++ b/gcc/testsuite/g++.dg/opt/fold1.C @@ -0,0 +1,17 @@ +// PR middle-end/13696 +// { dg-do compile } +// { dg-options "-O2" } + +extern void x(unsigned long*); + +enum e { red, blue, green }; + +struct s { + unsigned long l; +}; +struct s map[1][256]; + +void +f(int i,e j) { + x(&(map[i][j].l)); +} |