1cef8759bSmrg /* Declarations of tree-ssa-strlen API. 2cef8759bSmrg 3*4c3eb207Smrg Copyright (C) 2018-2020 Free Software Foundation, Inc. 4cef8759bSmrg 5cef8759bSmrg This file is part of GCC. 6cef8759bSmrg 7cef8759bSmrg GCC is free software; you can redistribute it and/or modify it under 8cef8759bSmrg the terms of the GNU General Public License as published by the Free 9cef8759bSmrg Software Foundation; either version 3, or (at your option) any later 10cef8759bSmrg version. 11cef8759bSmrg 12cef8759bSmrg GCC is distributed in the hope that it will be useful, but WITHOUT ANY 13cef8759bSmrg WARRANTY; without even the implied warranty of MERCHANTABILITY or 14cef8759bSmrg FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15cef8759bSmrg for more details. 16cef8759bSmrg 17cef8759bSmrg You should have received a copy of the GNU General Public License 18cef8759bSmrg along with GCC; see the file COPYING3. If not see 19cef8759bSmrg <http://www.gnu.org/licenses/>. */ 20cef8759bSmrg 21cef8759bSmrg #ifndef GCC_TREE_SSA_STRLEN_H 22cef8759bSmrg #define GCC_TREE_SSA_STRLEN_H 23cef8759bSmrg 24cef8759bSmrg extern bool is_strlen_related_p (tree, tree); 25cef8759bSmrg extern bool maybe_diag_stxncpy_trunc (gimple_stmt_iterator, tree, tree); 26*4c3eb207Smrg extern tree set_strlen_range (tree, wide_int, wide_int, tree = NULL_TREE); 27*4c3eb207Smrg 28*4c3eb207Smrg class vr_values; 29*4c3eb207Smrg extern tree get_range (tree, wide_int[2], const vr_values * = NULL); 30*4c3eb207Smrg 31*4c3eb207Smrg struct c_strlen_data; 32*4c3eb207Smrg extern void get_range_strlen_dynamic (tree , c_strlen_data *, const vr_values *); 33*4c3eb207Smrg 34*4c3eb207Smrg /* APIs internal to strlen pass. Defined in gimple-ssa-sprintf.c. */ 35*4c3eb207Smrg extern bool handle_printf_call (gimple_stmt_iterator *, const vr_values *); 36cef8759bSmrg 37cef8759bSmrg #endif // GCC_TREE_SSA_STRLEN_H 38