GCC Middle and Back End API 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 () |
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().