Deleted Added
sdiff udiff text old ( 146908 ) new ( 161660 )
full compact
1/* Subroutines shared by all languages that are variants of C.
2 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
3 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify it under
8the terms of the GNU General Public License as published by the Free

--- 1267 unchanged lines hidden (view full) ---

1276{
1277 if (TREE_CODE (c) == INTEGER_CST)
1278 return int_fits_type_p (c, type);
1279
1280 c = convert (type, c);
1281 return !TREE_OVERFLOW (c);
1282}
1283
1284/* Nonzero if vector types T1 and T2 can be converted to each other
1285 without an explicit cast. */
1286int
1287vector_types_convertible_p (tree t1, tree t2)
1288{
1289 return targetm.vector_opaque_p (t1)
1290 || targetm.vector_opaque_p (t2)
1291 || (tree_int_cst_equal (TYPE_SIZE (t1), TYPE_SIZE (t2))
1292 && INTEGRAL_TYPE_P (TREE_TYPE (t1))
1293 == INTEGRAL_TYPE_P (TREE_TYPE (t2)));
1294}
1295
1296/* Convert EXPR to TYPE, warning about conversion problems with constants.
1297 Invoke this function on every expression that is converted implicitly,
1298 i.e. because of language rules and not because of an explicit cast. */
1299
1300tree
1301convert_and_check (tree type, tree expr)
1302{
1303 tree t = convert (type, expr);

--- 4609 unchanged lines hidden ---