re PR c++/13474 (fail to compile non type argument specialization of pointer to array of int)

PR c++/13474
	* pt.c (tsubst) <INTEGER_TYPE>: Remove obsolete array index tweaking.

From-SVN: r75777
This commit is contained in:
Giovanni Bajo 2004-01-13 01:02:27 +00:00
parent fdd09134be
commit cdf4ac6f04
2 changed files with 5 additions and 17 deletions

View File

@ -1,3 +1,8 @@
2004-01-13 Giovanni Bajo <giovannibajo@gcc.gnu.org>
PR c++/13474
* pt.c (tsubst) <INTEGER_TYPE>: Remove obsolete array index tweaking.
2003-01-12 Steven Bosscher <stevenb@suse.de>
PR c++/13558

View File

@ -6566,23 +6566,6 @@ tsubst (tree t, tree args, tsubst_flags_t complain, tree in_decl)
if (!processing_template_decl)
max = decl_constant_value (max);
if (processing_template_decl
/* When providing explicit arguments to a template
function, but leaving some arguments for subsequent
deduction, MAX may be template-dependent even if we're
not PROCESSING_TEMPLATE_DECL. We still need to check for
template parms, though; MAX won't be an INTEGER_CST for
dynamic arrays, either. */
|| (TREE_CODE (max) != INTEGER_CST
&& uses_template_parms (max)))
{
tree itype = make_node (INTEGER_TYPE);
TYPE_MIN_VALUE (itype) = size_zero_node;
TYPE_MAX_VALUE (itype) = build_min (MINUS_EXPR, sizetype, max,
integer_one_node);
return itype;
}
if (integer_zerop (omax))
{
/* Still allow an explicit array of size zero. */