Bug 35113 - [4.3 Regression] g++.dg/ext/vector13.C doesn't work
Summary: [4.3 Regression] g++.dg/ext/vector13.C doesn't work
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: c++ (show other bugs)
Version: 4.3.0
: P2 blocker
Target Milestone: 4.3.0
Assignee: dgregor
URL: http://gcc.gnu.org/ml/gcc-patches/200...
Keywords: ice-checking, ice-on-valid-code
Depends on: 43036
Blocks:
  Show dependency treegraph
 
Reported: 2008-02-06 21:23 UTC by H.J. Lu
Modified: 2010-02-14 01:23 UTC (History)
6 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2008-02-07 18:56:38


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2008-02-06 21:23:40 UTC
[hjl@gnu-27 g++]$ /export/build/gnu/gcc/build-x86_64-linux/gcc/testsuite/g++/../../g++ -B/export/build/gnu/gcc/build-x86_64-linux/gcc/testsuite/g++/../../ /net/gnu-13/export/gnu/src/gcc/gcc/gcc/testsuite/g++.dg/ext/vector13.C  -nostdinc++ -I/export/build/gnu/gcc/build-x86_64-linux/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu -I/export/build/gnu/gcc/build-x86_64-linux/x86_64-unknown-linux-gnu/libstdc++-v3/include -I/net/gnu-13/export/gnu/src/gcc/gcc/libstdc++-v3/libsupc++ -I/net/gnu-13/export/gnu/src/gcc/gcc/libstdc++-v3/include/backward -I/net/gnu-13/export/gnu/src/gcc/gcc/libstdc++-v3/testsuite/util -fmessage-length=0   -ansi -pedantic-errors -Wno-long-long  -fno-show-column -S  -o vector13.s  
/net/gnu-13/export/gnu/src/gcc/gcc/gcc/testsuite/g++.dg/ext/vector13.C:6: error: zero-size array ‘x’
[hjl@gnu-27 g++]$
Comment 1 Dominique d'Humieres 2008-02-07 09:50:30 UTC
Confirmed on i686-apple-darwin9:

[ibook-dhum] /Users/dominiq% /opt/gcc/gcc4.3w/bin/g++ /opt/gcc/_gcc_clean/gcc/testsuite/g++.dg/ext/vector13.C
/opt/gcc/_gcc_clean/gcc/testsuite/g++.dg/ext/vector13.C:6: internal compiler error: canonical types differ for identical types const int __vector__ [] and const int __vector__ []
Comment 2 Richard Biener 2008-02-07 15:13:39 UTC
Confirmed.  We're back to an ICE.
Comment 3 Richard Biener 2008-02-07 15:16:31 UTC
I can also confirm that

http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00212.html

does _not_ fix the problem.  We still ICE with

/space/rguenther/src/svn/trunk/gcc/testsuite/g++.dg/ext/vector13.C:6: internal compiler error: canonical types differ for identical types const int __vector__ [] and const int __vector__ []^M
Please submit a full bug report,^M
with preprocessed source if appropriate.^M
See <http://gcc.gnu.org/bugs.html> for instructions.^M

FAIL: g++.dg/ext/vector13.C (internal compiler error)
FAIL: g++.dg/ext/vector13.C (test for excess errors)
Comment 4 Paolo Bonzini 2008-02-07 15:19:55 UTC
Indeed.  I developed my 35049 patch in an old check-out (to avoid conflicts with Doug's patch), but after updating the tree it fails for me too.
Comment 5 dgregor 2008-02-07 18:56:38 UTC
This is definitely a canonical-types bug. 
Comment 6 dgregor 2008-02-11 18:59:05 UTC
Subject: Bug 35113

Author: dgregor
Date: Mon Feb 11 18:58:16 2008
New Revision: 132242

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=132242
Log:
2008-02-11  Douglas Gregor  <doug.gregor@gmail.com>

       PR c++/35113
       * tree.c (cp_build_qualified_type_real): When building a
       cv-qualified array type, build it as a unique type with
       build_cplus_array_type_1 and then adopt the unqualified type's
       main variant.

Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/tree.c

Comment 7 dgregor 2008-02-11 18:59:38 UTC
Fixed on mainline