(root)/
gcc-13.2.0/
gcc/
value-range-pretty-print.h
       1  /* Pretty print support for value ranges.
       2     Copyright (C) 2022-2023 Free Software Foundation, Inc.
       3     Contributed by Aldy Hernandez <aldyh@redhat.com>.
       4  
       5  This file is part of GCC.
       6  
       7  GCC is free software; you can redistribute it and/or modify
       8  it under the terms of the GNU General Public License as published by
       9  the Free Software Foundation; either version 3, or (at your option)
      10  any later version.
      11  
      12  GCC is distributed in the hope that it will be useful,
      13  but WITHOUT ANY WARRANTY; without even the implied warranty of
      14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      15  GNU General Public License for more details.
      16  
      17  You should have received a copy of the GNU General Public License
      18  along with GCC; see the file COPYING3.  If not see
      19  <http://www.gnu.org/licenses/>.  */
      20  
      21  #ifndef GCC_VALUE_RANGE_PRETTY_H
      22  #define GCC_VALUE_RANGE_PRETTY_H
      23  
      24  class vrange_printer : public vrange_visitor
      25  {
      26  public:
      27    vrange_printer (pretty_printer *pp_) : pp (pp_) { }
      28    void visit (const unsupported_range &) const override;
      29    void visit (const irange &) const override;
      30    void visit (const frange &) const override;
      31  private:
      32    void print_irange_bound (const wide_int &w, tree type) const;
      33    void print_irange_bitmasks (const irange &) const;
      34    void print_frange_nan (const frange &) const;
      35    void print_real_value (tree type, const REAL_VALUE_TYPE &r) const;
      36  
      37    pretty_printer *pp;
      38  };
      39  
      40  #endif // GCC_VALUE_RANGE_PRETTY_H