aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@yorick.cygnus.com>1998-03-19 21:37:25 +0000
committerJason Merrill <jason@gcc.gnu.org>1998-03-19 16:37:25 -0500
commit4d50dd69019ac346d21a4f4b4fd512df47651267 (patch)
tree0be99e31dd5e1138ae324f0e82d6c3f2a689cb50 /gcc
parent09b4ce121be408d2034b49ad42fdc16e08b1a9af (diff)
downloadgcc-4d50dd69019ac346d21a4f4b4fd512df47651267.zip
gcc-4d50dd69019ac346d21a4f4b4fd512df47651267.tar.gz
gcc-4d50dd69019ac346d21a4f4b4fd512df47651267.tar.bz2
* call.c (standard_conversion): Handle A* -> const A* properly.
From-SVN: r18718
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog2
-rw-r--r--gcc/cp/call.c7
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index a586432..b70bef1 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,7 @@
Thu Mar 19 11:51:58 1998 Jason Merrill <jason@yorick.cygnus.com>
+ * call.c (standard_conversion): Handle A* -> const A* properly.
+
* pt.c (get_bindings_real): Rename from get_bindings. Add
check_rettype parm.
(get_bindings): Pass 1.
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index 16a6f9f..c74d1f4 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -782,8 +782,11 @@ standard_conversion (to, from, expr)
enum tree_code ufcode = TREE_CODE (TREE_TYPE (from));
enum tree_code utcode = TREE_CODE (TREE_TYPE (to));
- if (utcode == VOID_TYPE && ufcode != OFFSET_TYPE
- && ufcode != FUNCTION_TYPE)
+ if (comptypes (TYPE_MAIN_VARIANT (TREE_TYPE (from)),
+ TYPE_MAIN_VARIANT (TREE_TYPE (to)), 1))
+ ;
+ else if (utcode == VOID_TYPE && ufcode != OFFSET_TYPE
+ && ufcode != FUNCTION_TYPE)
{
from = build_pointer_type
(cp_build_type_variant (void_type_node,