2005-02-11 Jakub Jelinek <jakub@redhat.com>
+ PR c++/19666
+ 2004-06-08 Andrew Pinski <pinskia@physics.uc.edu>
+ * fold-const.c (fold_convert): Treat OFFSET_TYPE like
+ POINTER_TYPE and INTEGER_TYPE.
+
* config/rs6000/sysv4.h (ENDFILE_LINUX_SPEC): Use crtendS.o instead of
crtend.o if -pie. Use %{x:a;:b} spec syntax.
if (TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (orig))
return fold (build1 (NOP_EXPR, type, arg));
- if (INTEGRAL_TYPE_P (type) || POINTER_TYPE_P (type))
+ if (INTEGRAL_TYPE_P (type) || POINTER_TYPE_P (type)
+ || TREE_CODE (type) == OFFSET_TYPE)
{
if (TREE_CODE (arg) == INTEGER_CST)
{
if (tem != NULL_TREE)
return tem;
}
- if (INTEGRAL_TYPE_P (orig) || POINTER_TYPE_P (orig))
+ if (INTEGRAL_TYPE_P (orig) || POINTER_TYPE_P (orig)
+ || TREE_CODE (orig) == OFFSET_TYPE)
return fold (build1 (NOP_EXPR, type, arg));
if (TREE_CODE (orig) == COMPLEX_TYPE)
{