]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR c++/13474 (fail to compile non type argument specialization of pointer to array...
authorGiovanni Bajo <giovannibajo@gcc.gnu.org>
Tue, 13 Jan 2004 01:02:27 +0000 (01:02 +0000)
committerGiovanni Bajo <giovannibajo@gcc.gnu.org>
Tue, 13 Jan 2004 01:02:27 +0000 (01:02 +0000)
PR c++/13474
* pt.c (tsubst) <INTEGER_TYPE>: Remove obsolete array index tweaking.

From-SVN: r75777

gcc/cp/ChangeLog
gcc/cp/pt.c

index 859f9799a922621ae0ba47fcc2aa5b3e26542124..16e5f275e59e812942bc73d58fdb4fc34b5de191 100644 (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
index 81dd711e033770de8c683acc1f98aa6202bd4a4e..cf73ea1f016bbb8d53c6479335d039886680e73f 100644 (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.  */