GCC Middle and Back End API Reference
simple_case_node Class Reference

Public Member Functions

 simple_case_node (tree low, tree high, tree code_label)
 

Data Fields

tree m_low
 
tree m_high
 
tree m_code_label
 

Detailed Description

Expands front end tree to back end RTL for GCC
   Copyright (C) 1987-2024 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/>.   
This file handles the generation of rtl code from tree structure
above the level of expressions, using subroutines in exp*.c and emit-rtl.cc.
The functions whose names start with `expand_' are called by the
expander to generate RTL instructions for various kinds of constructs.   
Functions and data structures for expanding case statements.   
Case label structure, used to hold info on labels within case
  statements.  We handle "range" labels; for a single-value label
  as in C, the high and low limits are the same.

  We start with a vector of case nodes sorted in ascending order, and
  the default label as the last element in the vector.

  Switch statements are expanded in jump table form.

Constructor & Destructor Documentation

◆ simple_case_node()

simple_case_node::simple_case_node ( tree low,
tree high,
tree code_label )
inline

Field Documentation

◆ m_code_label

tree simple_case_node::m_code_label

◆ m_high

tree simple_case_node::m_high

◆ m_low

tree simple_case_node::m_low

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