GCC Middle and Back End API Reference

Go to the source code of this file.
Functions  
tree  convert_to_integer (tree, tree) 
tree  convert_to_integer_maybe_fold (tree, tree, bool) 
tree  convert_to_pointer (tree, tree) 
tree  convert_to_pointer_maybe_fold (tree, tree, bool) 
tree  convert_to_real (tree, tree) 
tree  convert_to_real_maybe_fold (tree, tree, bool) 
tree  convert_to_fixed (tree, tree) 
tree  convert_to_complex (tree, tree) 
tree  convert_to_complex_maybe_fold (tree, tree, bool) 
tree  convert_to_vector (tree, tree) 
tree  convert_to_integer_nofold (tree t, tree x) 
tree  convert_to_pointer_nofold (tree t, tree x) 
tree  convert_to_real_nofold (tree t, tree x) 
tree  convert_to_complex_nofold (tree t, tree x) 
tree  preserve_any_location_wrapper (tree result, tree orig_expr) 
A wrapper around convert_to_complex_1 that always folds the expression.
References convert_to_complex_1().
A wrapper around convert_to_complex_1 that only folds the expression if DOFOLD, or if it is CONSTANT_CLASS_OR_WRAPPER_P.
References CONSTANT_CLASS_OR_WRAPPER_P, convert_to_complex_1(), and preserve_any_location_wrapper().
Referenced by convert_to_complex_nofold().
References convert_to_complex_maybe_fold().
Convert EXPR to some fixedpoint type TYPE. EXPR must be fixedpoint, float, integer, or enumeral; in other cases error is called.
References ALL_SCALAR_ACCUM_MODE_P, build1(), build_fixed(), convert(), error(), error_mark_node, FCONST0, FCONST1, fold_build1, integer_onep(), integer_zerop(), TREE_CODE, TREE_TYPE, and TYPE_MODE.
Definition of functions in convert.cc. Copyright (C) 19932024 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/>.
Convert EXPR to some integer (or enum) type TYPE. EXPR must be pointer, integer, discrete (enum, char, or bool), float, fixedpoint 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 convert_to_integer_1().
A wrapper around convert_to_complex_1 that only folds the expression if DOFOLD, or if it is CONSTANT_CLASS_OR_WRAPPER_P.
References CONSTANT_CLASS_OR_WRAPPER_P, convert_to_integer_1(), and preserve_any_location_wrapper().
Referenced by convert_to_integer_nofold().
References convert_to_integer_maybe_fold().
A wrapper around convert_to_pointer_1 that always folds the expression.
References convert_to_pointer_1().
Referenced by oacc_rewrite_var_decl().
A wrapper around convert_to_pointer_1 that only folds the expression if DOFOLD, or if it is CONSTANT_CLASS_OR_WRAPPER_P.
References CONSTANT_CLASS_OR_WRAPPER_P, convert_to_pointer_1(), and preserve_any_location_wrapper().
Referenced by convert_to_pointer_nofold().
References convert_to_pointer_maybe_fold().
A wrapper around convert_to_real_1 that always folds the expression.
References convert_to_real_1().
A wrapper around convert_to_real_1 that only folds the expression if DOFOLD, or if it is CONSTANT_CLASS_OR_WRAPPER_P.
References CONSTANT_CLASS_OR_WRAPPER_P, convert_to_real_1(), and preserve_any_location_wrapper().
Referenced by convert_to_real_nofold().
References convert_to_real_maybe_fold().
Convert EXPR to the vector type TYPE in the usual ways.
References build1(), error(), error_mark_node, TREE_CODE, tree_int_cst_equal(), TREE_TYPE, and TYPE_SIZE.
Subroutine of the various convert_to_*_maybe_fold routines. If a location wrapper has been folded to a constant (presumably of a different type), rewrap the new constant with a location wrapper.
References CONSTANT_CLASS_P, EXPR_LOCATION, location_wrapper_p(), maybe_wrap_with_location(), and TREE_OPERAND.
Referenced by convert_to_complex_maybe_fold(), convert_to_integer_maybe_fold(), convert_to_pointer_maybe_fold(), and convert_to_real_maybe_fold().