This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/34913] [4.1/4.2/4.3 regression] ICE vector in template
- From: "jakub at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 Jan 2008 11:06:53 -0000
- Subject: [Bug c++/34913] [4.1/4.2/4.3 regression] ICE vector in template
- References: <bug-34913-1771@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from jakub at gcc dot gnu dot org 2008-01-22 11:06 -------
The problem is that handle_vector_size_attribute calls reconstruct_complex_type
and ARRAY_TYPE has value dependent size. At least for ARRAY_TYPE we want to
use build_cplus_array_type rather than build_array_type when reconstructing
the complex type, not sure about FUNCTION_TYPE/METHOD_TYPE,
POINTER_TYPE/REFERENCE_TYPE are IMHO ok.
Making vector_size a late attribute, even just for the cases where it is used
with ARRAY_TYPEs, would lead to missing diagnostics, so I wonder if instead
cplus_decl_attributes shouldn't special case vector_size attribute, go through
the POINTER_TYPE_P/FUNCTION_TYPE/METHOD_TYPE/ARRAY_TYPE nodes, decl_attributes
on it and then do its own cp_reconstruct_complex_types if
processing_template_decl.
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jason at gcc dot gnu dot org
Priority|P2 |P3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34913