Summary: | [meta-bug] array decaying to pointers | ||
---|---|---|---|
Product: | gcc | Reporter: | Andrew Pinski <pinskia> |
Component: | c++ | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | NEW --- | ||
Severity: | normal | CC: | fang, gcc-bugs, webrown.cpp |
Priority: | P3 | Keywords: | accepts-invalid, meta-bug, rejects-valid |
Version: | 4.1.0 | ||
Target Milestone: | --- | ||
Host: | Target: | ||
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | 2007-07-09 05:27:22 | |
Bug Depends on: | 11858, 24663, 24664, 94501, 110101, 114812, 5786, 16333, 41426, 59879, 94924, 102033, 102039, 102044, 115594 | ||
Bug Blocks: |
Description
Andrew Pinski
2005-11-04 04:46:32 UTC
4 bugs that I could find now (two were filed today). Author: ppalka Date: Thu Dec 17 04:01:47 2015 New Revision: 231736 URL: https://gcc.gnu.org/viewcvs?rev=231736&root=gcc&view=rev Log: Fix some blockers of PR c++/24666 (arrays decay to pointers too early) gcc/cp/ChangeLog: PR c++/16333 PR c++/41426 PR c++/59878 PR c++/66895 * typeck.c (convert_for_initialization): Don't perform an early decaying conversion if converting to a class type. gcc/testsuite/ChangeLog: PR c++/16333 PR c++/41426 PR c++/59878 PR c++/66895 * g++.dg/conversion/pr16333.C: New test. * g++.dg/conversion/pr41426.C: New test. * g++.dg/conversion/pr59878.C: New test. * g++.dg/conversion/pr66895.C: New test. Added: trunk/gcc/testsuite/g++.dg/conversion/pr16333.C trunk/gcc/testsuite/g++.dg/conversion/pr41426.C trunk/gcc/testsuite/g++.dg/conversion/pr59878.C trunk/gcc/testsuite/g++.dg/conversion/pr66895.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/typeck.c trunk/gcc/testsuite/ChangeLog Author: ppalka Date: Tue Jan 19 00:19:16 2016 New Revision: 232547 URL: https://gcc.gnu.org/viewcvs?rev=232547&root=gcc&view=rev Log: Fix the remaining PR c++/24666 blockers (arrays decay to pointers too early) gcc/cp/ChangeLog: PR c++/11858 PR c++/24663 PR c++/24664 * decl.c (grokdeclarator): Don't decay array parameter type to a pointer type if it's dependent. (grokparms): Invoke strip_top_quals instead of directly invoking cp_build_qualified_type. * pt.c (decay_dependent_array_parm_type): New static function. (type_unification_real): Call decay_dependent_array_parm_type to decay a dependent array parameter type to its corresponding pointer type before unification. (more_specialized_fn): Likewise. (get_bindings): Likewise. * tree.c (cp_build_qualified_type): Trivial typofix in documentation. gcc/testsuite/ChangeLog: PR c++/11858 PR c++/24663 PR c++/24664 * g++.dg/template/pr11858.C: New test. * g++.dg/template/pr24663.C: New test. * g++.dg/template/unify12.C: New test. * g++.dg/template/unify13.C: New test. * g++.dg/template/unify14.C: New test. * g++.dg/template/unify15.C: New test. * g++.dg/template/unify16.C: New test. * g++.dg/template/unify17.C: New test. Added: trunk/gcc/testsuite/g++.dg/template/pr11858.C trunk/gcc/testsuite/g++.dg/template/pr24663.C trunk/gcc/testsuite/g++.dg/template/unify12.C trunk/gcc/testsuite/g++.dg/template/unify13.C trunk/gcc/testsuite/g++.dg/template/unify14.C trunk/gcc/testsuite/g++.dg/template/unify15.C trunk/gcc/testsuite/g++.dg/template/unify16.C trunk/gcc/testsuite/g++.dg/template/unify17.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/decl.c trunk/gcc/cp/pt.c trunk/gcc/cp/tree.c trunk/gcc/testsuite/ChangeLog Author: ppalka Date: Sun Jan 24 17:45:21 2016 New Revision: 232778 URL: https://gcc.gnu.org/viewcvs?rev=232778&root=gcc&view=rev Log: Revert "Fix the remaining PR c++/24666 blockers" gcc/cp/ChangeLog: Revert: 2016-01-18 Patrick Palka <ppalka@gcc.gnu.org> PR c++/11858 PR c++/24663 PR c++/24664 * decl.c (grokdeclarator): Don't decay array parameter type to a pointer type if it's dependent. (grokparms): Invoke strip_top_quals instead of directly invoking cp_build_qualified_type. * pt.c (decay_dependent_array_parm_type): New static function. (type_unification_real): Call decay_dependent_array_parm_type to decay a dependent array parameter type to its corresponding pointer type before unification. (more_specialized_fn): Likewise. (get_bindings): Likewise. * tree.c (cp_build_qualified_type): Trivial typofix in documentation. gcc/testsuite/ChangeLog: Revert: 2016-01-18 Patrick Palka <ppalka@gcc.gnu.org> PR c++/11858 PR c++/24663 PR c++/24664 * g++.dg/template/pr11858.C: New test. * g++.dg/template/pr24663.C: New test. * g++.dg/template/unify12.C: New test. * g++.dg/template/unify13.C: New test. * g++.dg/template/unify14.C: New test. * g++.dg/template/unify15.C: New test. * g++.dg/template/unify16.C: New test. * g++.dg/template/unify17.C: New test. Removed: trunk/gcc/testsuite/g++.dg/template/pr11858.C trunk/gcc/testsuite/g++.dg/template/pr24663.C trunk/gcc/testsuite/g++.dg/template/unify12.C trunk/gcc/testsuite/g++.dg/template/unify13.C trunk/gcc/testsuite/g++.dg/template/unify14.C trunk/gcc/testsuite/g++.dg/template/unify15.C trunk/gcc/testsuite/g++.dg/template/unify16.C trunk/gcc/testsuite/g++.dg/template/unify17.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/decl.c trunk/gcc/cp/pt.c trunk/gcc/cp/tree.c trunk/gcc/testsuite/ChangeLog |