tree.c (cp_build_qualified_type_real): Use CP_TYPE_QUALS to check whether we already have the type.
cp: * tree.c (cp_build_qualified_type_real): Use CP_TYPE_QUALS to check whether we already have the type. testsuite: * g++.old-deja/g++.pt/deduct5.C: New test. From-SVN: r39665
This commit is contained in:
parent
837a680a7a
commit
7773899b5f
@ -1,3 +1,8 @@
|
|||||||
|
2001-02-14 Nathan Sidwell <nathan@codesourcery.com>
|
||||||
|
|
||||||
|
* tree.c (cp_build_qualified_type_real): Use CP_TYPE_QUALS to
|
||||||
|
check whether we already have the type.
|
||||||
|
|
||||||
2001-02-13 Mark Mitchell <mark@codesourcery.com>
|
2001-02-13 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
|
||||||
* cp-tree.h (CLASSTYPE_DESTRUCTORS): Fix typo in comment.
|
* cp-tree.h (CLASSTYPE_DESTRUCTORS): Fix typo in comment.
|
||||||
|
@ -516,7 +516,7 @@ cp_build_qualified_type_real (type, type_quals, complain)
|
|||||||
if (type == error_mark_node)
|
if (type == error_mark_node)
|
||||||
return type;
|
return type;
|
||||||
|
|
||||||
if (type_quals == TYPE_QUALS (type))
|
if (type_quals == CP_TYPE_QUALS (type))
|
||||||
return type;
|
return type;
|
||||||
|
|
||||||
/* A restrict-qualified pointer type must be a pointer (or reference)
|
/* A restrict-qualified pointer type must be a pointer (or reference)
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2001-02-14 Nathan Sidwell <nathan@codesourcery.com>
|
||||||
|
|
||||||
|
* g++.old-deja/g++.pt/deduct5.C: New test.
|
||||||
|
|
||||||
2001-02-14 Jakub Jelinek <jakub@redhat.com>
|
2001-02-14 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
* gcc.c-torture/execute/20010209-1.c: New test.
|
* gcc.c-torture/execute/20010209-1.c: New test.
|
||||||
|
33
gcc/testsuite/g++.old-deja/g++.pt/deduct5.C
Normal file
33
gcc/testsuite/g++.old-deja/g++.pt/deduct5.C
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
// Copyright (C) 2000 Free Software Foundation, Inc.
|
||||||
|
// Contributed by Nathan Sidwell 13 Feb 2001 <nathan@codesourcery.com>
|
||||||
|
|
||||||
|
// Bug 1960. We were not dealing with qualified array types properly.
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
template <typename T> int Foo (T const *ptr)
|
||||||
|
{
|
||||||
|
static int count = 0;
|
||||||
|
|
||||||
|
printf ("%s\n", __PRETTY_FUNCTION__);
|
||||||
|
count++;
|
||||||
|
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
static int const cs = 1;
|
||||||
|
static int const ca[1] = {1};
|
||||||
|
static int s = 1;
|
||||||
|
static int a[1] = {1};
|
||||||
|
|
||||||
|
Foo (&cs);
|
||||||
|
Foo (&ca);
|
||||||
|
if (Foo (&s) != 2)
|
||||||
|
return 1;
|
||||||
|
if (Foo (&a) != 2)
|
||||||
|
return 2;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user