-
- Downloads
re PR c++/11431 (static_cast behavior with subclasses when default constructor available)
PR c++/11431 * typeck.c (build_static_cast): Check for reference conversions earlier. * cp-tree.h (perform_integral_promotions): Declare. * call.c (build_addr_func): Use decay_conversion. (convert_arg_to_ellipsis): Likewise. Remove misleading comment. (convert_for_arg_passing): Use perform_integral_promotions. * cvt.c (build_expr_type_conversion): Use decay_conversion. (type_promotes_to): Do not return a cv-qualified type. * decl.c (grok_reference_init): Fix formatting. (get_atexit_node): Use decay_conversion. (build_enumerator): Use perform_integral_promotions. * init.c (build_vec_init): Use decay_conversion. * semantics.c (finish_expr_stmt): Likewise. (finish_switch_cond): Use perform_integral_promotions. * typeck.c (default_conversion): Likewise. (perform_integral_promotions): New function. (build_indirect_ref): Use decay_conversion. (build_array_ref): Use perform_integral_promotions. (convert_arguments): Use decay_conversion. (build_unary_op): Use perform_integral_promotions. (build_c_cast): Use decay_conversion. (build_modify_expr): Likewise. (convert_for_initialization): Likewise. * typeck2.c (build_x_arrow): Likewise. * g++.old-deja/g++.jason/typeid1.C: Make it a compile test, not a run test. PR c++/11431 * g++.dg/expr/static_cast3.C: New test. From-SVN: r68989
Showing
- gcc/cp/ChangeLog 31 additions, 0 deletionsgcc/cp/ChangeLog
- gcc/cp/call.c 17 additions, 8 deletionsgcc/cp/call.c
- gcc/cp/cp-tree.h 1 addition, 0 deletionsgcc/cp/cp-tree.h
- gcc/cp/cvt.c 3 additions, 6 deletionsgcc/cp/cvt.c
- gcc/cp/decl.c 4 additions, 6 deletionsgcc/cp/decl.c
- gcc/cp/init.c 2 additions, 2 deletionsgcc/cp/init.c
- gcc/cp/semantics.c 5 additions, 2 deletionsgcc/cp/semantics.c
- gcc/cp/typeck.c 67 additions, 44 deletionsgcc/cp/typeck.c
- gcc/cp/typeck2.c 1 addition, 1 deletiongcc/cp/typeck2.c
- gcc/testsuite/ChangeLog 8 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/g++.dg/expr/static_cast3.C 24 additions, 0 deletionsgcc/testsuite/g++.dg/expr/static_cast3.C
- gcc/testsuite/g++.old-deja/g++.jason/typeid1.C 1 addition, 1 deletiongcc/testsuite/g++.old-deja/g++.jason/typeid1.C
Loading
Please register or sign in to comment