GCC Middle and Back End API Reference
logical-location.h File Reference
#include "label-text.h"
Include dependency graph for logical-location.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  logical_location_manager
 
class  logical_location_manager::key
 

Typedefs

typedef logical_location_manager::key logical_location
 

Enumerations

enum  logical_location_kind {
  LOGICAL_LOCATION_KIND_UNKNOWN , LOGICAL_LOCATION_KIND_FUNCTION , LOGICAL_LOCATION_KIND_MEMBER , LOGICAL_LOCATION_KIND_MODULE ,
  LOGICAL_LOCATION_KIND_NAMESPACE , LOGICAL_LOCATION_KIND_TYPE , LOGICAL_LOCATION_KIND_RETURN_TYPE , LOGICAL_LOCATION_KIND_PARAMETER ,
  LOGICAL_LOCATION_KIND_VARIABLE , LOGICAL_LOCATION_KIND_ELEMENT , LOGICAL_LOCATION_KIND_ATTRIBUTE , LOGICAL_LOCATION_KIND_TEXT ,
  LOGICAL_LOCATION_KIND_COMMENT , LOGICAL_LOCATION_KIND_PROCESSING_INSTRUCTION , LOGICAL_LOCATION_KIND_DTD , LOGICAL_LOCATION_KIND_DECLARATION ,
  LOGICAL_LOCATION_KIND_OBJECT , LOGICAL_LOCATION_KIND_ARRAY , LOGICAL_LOCATION_KIND_PROPERTY , LOGICAL_LOCATION_KIND_VALUE
}
 

Typedef Documentation

◆ logical_location

A logical location is a key for a given logical_location_manager. Note that there is no integration with GCC's garbage collector and thus logical_location instances can't be long-lived.

Enumeration Type Documentation

◆ logical_location_kind

Logical location support, without knowledge of "tree". Copyright (C) 2022-2025 Free Software Foundation, Inc. Contributed by David Malcolm <dmalcolm@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/>.
An enum for discriminating between different kinds of logical location for a diagnostic. Roughly corresponds to logicalLocation's "kind" property in SARIF v2.1.0 (section 3.33.7).
Enumerator
LOGICAL_LOCATION_KIND_UNKNOWN 
LOGICAL_LOCATION_KIND_FUNCTION 
LOGICAL_LOCATION_KIND_MEMBER 
LOGICAL_LOCATION_KIND_MODULE 
LOGICAL_LOCATION_KIND_NAMESPACE 
LOGICAL_LOCATION_KIND_TYPE 
LOGICAL_LOCATION_KIND_RETURN_TYPE 
LOGICAL_LOCATION_KIND_PARAMETER 
LOGICAL_LOCATION_KIND_VARIABLE 
LOGICAL_LOCATION_KIND_ELEMENT 
LOGICAL_LOCATION_KIND_ATTRIBUTE 
LOGICAL_LOCATION_KIND_TEXT 
LOGICAL_LOCATION_KIND_COMMENT 
LOGICAL_LOCATION_KIND_PROCESSING_INSTRUCTION 
LOGICAL_LOCATION_KIND_DTD 
LOGICAL_LOCATION_KIND_DECLARATION 
LOGICAL_LOCATION_KIND_OBJECT 
LOGICAL_LOCATION_KIND_ARRAY 
LOGICAL_LOCATION_KIND_PROPERTY 
LOGICAL_LOCATION_KIND_VALUE