-
- Downloads
re PR c++/18905 (Strange error: subscripted value is neither array nor pointer)
cp: PR c++/18905 * cp-tree.h (integral_constant_value): Declare. * call.c (null_ptr_cst_p): Use integral_constant_value, not decl_constant_value. (convert_like_real): Likewise. * class.c (check_bitfield_decl): Likewise. * cvt.c (ocp_convert): Likewise. (convert): Remove unnecessary decl_constant_value call. * decl.c (compute_array_index_type): Use integral_constant_value, not decl_constant_value. (build_enumerator): Likewise. * decl2.c (grokfield): Likewise. * init.c (decl_constant_value): Simplify. (integral_constant_value): New. * pt.c (fold_decl_constant_value): Use integral_constant_value, remove subsequent check. (tsubst): Use integral_constant_value, not decl_constant_value. (tsubst_copy, unify): Likewise. * typeck.c (decay_conversion): Likewise. (build_compound_expr): Remove unnecessary decl_constant_value calls. (build_static_cast_1, build_reinterpret_cast_1): (convert_for_assignment): Remove comment about not calling decl_constant_value. testsuite: PR c++/18905 * g++.dg/template/init4.C: New. * g++.dg/opt/static3.C: Enable optimizer. From-SVN: r92257
Showing
- gcc/cp/ChangeLog 27 additions, 0 deletionsgcc/cp/ChangeLog
- gcc/cp/call.c 5 additions, 7 deletionsgcc/cp/call.c
- gcc/cp/class.c 1 addition, 4 deletionsgcc/cp/class.c
- gcc/cp/cp-tree.h 1 addition, 0 deletionsgcc/cp/cp-tree.h
- gcc/cp/cvt.c 2 additions, 5 deletionsgcc/cp/cvt.c
- gcc/cp/decl.c 3 additions, 2 deletionsgcc/cp/decl.c
- gcc/cp/decl2.c 4 additions, 5 deletionsgcc/cp/decl2.c
- gcc/cp/init.c 33 additions, 31 deletionsgcc/cp/init.c
- gcc/cp/pt.c 9 additions, 23 deletionsgcc/cp/pt.c
- gcc/cp/typeck.c 4 additions, 32 deletionsgcc/cp/typeck.c
- gcc/testsuite/ChangeLog 7 additions, 1 deletiongcc/testsuite/ChangeLog
- gcc/testsuite/g++.dg/opt/static3.C 1 addition, 0 deletionsgcc/testsuite/g++.dg/opt/static3.C
- gcc/testsuite/g++.dg/template/init4.C 15 additions, 0 deletionsgcc/testsuite/g++.dg/template/init4.C
Loading
Please register or sign in to comment