GCC Middle and Back End API Reference
convert.c File Reference

Functions

tree convert_to_pointer ()
tree convert_to_real ()
tree convert_to_integer ()
tree convert_to_complex ()
tree convert_to_vector ()
tree convert_to_fixed ()

Function Documentation

tree convert_to_complex ( )
Convert EXPR to the complex type TYPE in the usual ways.   

References convert(), error(), and save_expr().

tree convert_to_fixed ( )
Convert EXPR to some fixed-point type TYPE.

   EXPR must be fixed-point, float, integer, or enumeral;
   in other cases error is called.   

References build_fixed(), convert(), error(), FCONST0, FCONST1, integer_onep(), and integer_zerop().

tree convert_to_integer ( )
Convert EXPR to some integer (or enum) type TYPE.

   EXPR must be pointer, integer, discrete (enum, char, or bool), float,
   fixed-point or vector; in other cases error is called.

   The result of this is always supposed to be a newly created tree node
   not in use in any existing structure.   

References build_call_expr(), build_int_cst(), builtin_mathfn_code(), convert(), copy_node(), element_precision(), error(), function_c99_misc, get_unwidened(), integer_all_onesp(), integer_zerop(), mathfn_built_in(), signed_type_for(), strip_float_extensions(), targetm, tcc_comparison, tree_int_cst_equal(), tree_int_cst_lt(), tree_int_cst_sgn(), type(), lang_hooks_for_types::type_for_mode, lang_hooks_for_types::type_for_size, lang_hooks::types, and unsigned_type_for().

tree convert_to_pointer ( )
@verbatim Utility routines for data type conversion for GCC.

Copyright (C) 1987-2013 Free Software Foundation, Inc.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.

GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see http://www.gnu.org/licenses/.

These routines are somewhat language-independent utility function
   intended to be called by the language-specific convert () functions.   
Convert EXPR to some pointer or reference type TYPE.
   EXPR must be pointer, reference, integer, enumeral, or literal zero;
   in other cases error is called.   

References error(), lang_hooks_for_types::type_for_size, and lang_hooks::types.

tree convert_to_real ( )
Convert EXPR to some floating-point type TYPE.

   EXPR must be float, fixed-point, integer, or enumeral;
   in other cases error is called.   

References build_call_expr(), builtin_mathfn_code(), convert(), error(), excess_precision_type(), fold(), mathfn_built_in(), real_can_shorten_arithmetic(), strip_float_extensions(), and type().

tree convert_to_vector ( )
Convert EXPR to the vector type TYPE in the usual ways.   

References error(), and tree_int_cst_equal().