re PR c++/27819 (ICE casting static const variables)
PR c++/27819 * decl.c (cp_finish_decl): Process initializers for static data members with non-dependent initializers, even in templates. PR c++/27722 * decl.c (maybe_deduce_size_from_array_init): If the declaration is erroneous, give it an erroneous type. (layout_var_decl): If the type is erroneous, give up. (check_initializer): Likewise. PR c++/27807 * cp-tree.h (TYPE_OBJ_P): New macro. (TYPE_PTROB_P): Use it. (TYPE_REF_OBJ_P): Likewise. * semantics.c (finish_compound_literal): Do not permit compound literals of non-object types. PR c++/27806 * typeck.c (original_type): Robustify. PR c++/27819 * g++.dg/template/static25.C: New test. PR c++/27722 * g++.dg/init/array21.C: New test. PR c++/27807 * g++.dg/ext/complit7.C: New test. PR c++/27806 * g++.dg/parse/ptrmem5.C: New test. From-SVN: r114382
Showing
- gcc/cp/ChangeLog 22 additions, 0 deletionsgcc/cp/ChangeLog
- gcc/cp/cp-tree.h 21 additions, 8 deletionsgcc/cp/cp-tree.h
- gcc/cp/decl.c 60 additions, 41 deletionsgcc/cp/decl.c
- gcc/cp/semantics.c 6 additions, 0 deletionsgcc/cp/semantics.c
- gcc/cp/typeck.c 2 additions, 1 deletiongcc/cp/typeck.c
- gcc/testsuite/ChangeLog 14 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/g++.dg/ext/complit7.C 4 additions, 0 deletionsgcc/testsuite/g++.dg/ext/complit7.C
- gcc/testsuite/g++.dg/init/array21.C 7 additions, 0 deletionsgcc/testsuite/g++.dg/init/array21.C
- gcc/testsuite/g++.dg/parse/ptrmem5.C 9 additions, 0 deletionsgcc/testsuite/g++.dg/parse/ptrmem5.C
- gcc/testsuite/g++.dg/template/static25.C 14 additions, 0 deletionsgcc/testsuite/g++.dg/template/static25.C
Loading
Please register or sign in to comment