GCC Middle and Back End API Reference
range_tracer Class Reference

#include <gimple-range-trace.h>

Public Member Functions

 range_tracer (const char *name="")
 
unsigned header (const char *str)
 
void trailer (unsigned counter, const char *caller, bool result, tree name, const vrange &r)
 
void print (unsigned counter, const char *str)
 
void enable_trace ()
 
void disable_trace ()
 
virtual void breakpoint (unsigned index)
 

Private Member Functions

unsigned do_header (const char *str)
 
void print_prefix (unsigned idx, bool blanks)
 

Private Attributes

unsigned indent
 
char component [name_len]
 
bool tracing
 

Static Private Attributes

static const unsigned bump = 2
 
static const unsigned name_len = 100
 

Detailed Description

Header file for the GIMPLE range tracing/debugging facilities.
   Copyright (C) 2021-2024 Free Software Foundation, Inc.
   Contributed by Andrew MacLeod <amacleod@redhat.com>
   and Aldy Hernandez <aldyh@redhat.com>.

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/>.   

Constructor & Destructor Documentation

◆ range_tracer()

range_tracer::range_tracer ( const char * name = "")

Member Function Documentation

◆ breakpoint()

void range_tracer::breakpoint ( unsigned index)
virtual
Code for GIMPLE range trace and debugging related routines.
   Copyright (C) 2019-2024 Free Software Foundation, Inc.
   Contributed by Andrew MacLeod <amacleod@redhat.com>
   and Aldy Hernandez <aldyh@redhat.com>.

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/>.   

Referenced by do_header().

◆ disable_trace()

void range_tracer::disable_trace ( )
inline

References tracing.

◆ do_header()

unsigned range_tracer::do_header ( const char * str)
private

References breakpoint(), bump, dump_file, ggc_alloc(), indent, and print_prefix().

Referenced by header().

◆ enable_trace()

void range_tracer::enable_trace ( )
inline

◆ header()

◆ print()

◆ print_prefix()

void range_tracer::print_prefix ( unsigned idx,
bool blanks )
private

References dump_file, fputc(), ggc_alloc(), and indent.

Referenced by do_header(), print(), and trailer().

◆ trailer()

Field Documentation

◆ bump

const unsigned range_tracer::bump = 2
staticprivate

Referenced by do_header(), and trailer().

◆ component

char range_tracer::component[name_len]
private

◆ indent

unsigned range_tracer::indent
private

◆ name_len

const unsigned range_tracer::name_len = 100
staticprivate

Referenced by range_tracer().

◆ tracing

bool range_tracer::tracing
private

The documentation for this class was generated from the following files: