GCC Middle and Back End API Reference
coretypes.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  gcc

Macros

#define GTY(x)   /* nothing - marker for gengtype */
#define ADDR_SPACE_GENERIC   0
#define ADDR_SPACE_GENERIC_P(AS)   ((AS) == ADDR_SPACE_GENERIC)
#define obstack_chunk_alloc   ((void *(*) (long)) xmalloc)
#define obstack_chunk_free   ((void (*) (void *)) free)
#define OBSTACK_CHUNK_SIZE   0
#define gcc_obstack_init(OBSTACK)
#define MEMMODEL_MASK   ((1<<16)-1)

Typedefs

typedef HOST_WIDEST_INT gcov_type
typedef unsigned HOST_WIDEST_INT gcov_type_unsigned
typedef struct bitmap_head_defbitmap
typedef struct bitmap_head_defconst_bitmap
typedef struct simple_bitmap_defsbitmap
typedef struct simple_bitmap_defconst_sbitmap
typedef struct rtx_defrtx
typedef struct rtx_defconst_rtx
typedef struct rtvec_defrtvec
typedef struct rtvec_defconst_rtvec
typedef union tree_node * tree
typedef union tree_node * const_tree
typedef struct
gimple_statement_base
gimple
typedef struct
gimple_statement_base
const_gimple
typedef gimple gimple_seq
typedef struct
gimple_stmt_iterator_d 
gimple_stmt_iterator
typedef union section section
typedef unsigned char addr_space_t
typedef struct edge_defedge
typedef struct edge_defconst_edge
typedef struct basic_block_defbasic_block
typedef struct basic_block_defconst_basic_block
typedef int reg_class_t
typedef void(* gt_pointer_operator )(void *, void *)
typedef unsigned char uchar

Enumerations

enum  ir_type { IR_GIMPLE, IR_RTL_CFGRTL, IR_RTL_CFGLAYOUT }
enum  tls_model {
  TLS_MODEL_NONE, TLS_MODEL_EMULATED, TLS_MODEL_REAL, TLS_MODEL_GLOBAL_DYNAMIC = TLS_MODEL_REAL,
  TLS_MODEL_LOCAL_DYNAMIC, TLS_MODEL_INITIAL_EXEC, TLS_MODEL_LOCAL_EXEC
}
enum  unwind_info_type {
  UI_NONE, UI_SJLJ, UI_DWARF2, UI_TARGET,
  UI_SEH
}
enum  node_frequency { NODE_FREQUENCY_UNLIKELY_EXECUTED, NODE_FREQUENCY_EXECUTED_ONCE, NODE_FREQUENCY_NORMAL, NODE_FREQUENCY_HOT }
enum  var_init_status { VAR_INIT_STATUS_UNKNOWN, VAR_INIT_STATUS_UNINITIALIZED, VAR_INIT_STATUS_INITIALIZED }
enum  function_class { function_c94, function_c99_misc, function_c99_math_complex, function_sincos }
enum  memmodel {
  MEMMODEL_RELAXED = 0, MEMMODEL_CONSUME = 1, MEMMODEL_ACQUIRE = 2, MEMMODEL_RELEASE = 3,
  MEMMODEL_ACQ_REL = 4, MEMMODEL_SEQ_CST = 5, MEMMODEL_LAST = 6
}

Macro Definition Documentation

#define ADDR_SPACE_GENERIC   0

The value of addr_space_t that represents the generic address space.

Referenced by find_defs(), and process_alt_operands().

#define gcc_obstack_init (   OBSTACK)
#define GTY (   x)    /* nothing - marker for gengtype */

GCC core type declarations. Copyright (C) 2002-2013 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.

Under Section 7 of GPL version 3, you are granted additional permissions described in the GCC Runtime Library Exception, version 3.1, as published by the Free Software Foundation.

You should have received a copy of the GNU General Public License and a copy of the GCC Runtime Library Exception along with this program; see the files COPYING3 and COPYING.RUNTIME respectively. If not, see http://www.gnu.org/licenses/. Provide forward declarations of core types which are referred to by most of the compiler. This allows header files to use these types (e.g. in function prototypes) without concern for whether the full definitions are visible. Some other declarations that need to be universally visible are here, too.

In the context of tconfig.h, most of these have special definitions which prevent them from being used except in further type declarations. This is a kludge; the right thing is to avoid including the "tm.h" header set in the context of tconfig.h, but we're not there yet.

Referenced by dwarf2out_switch_text_section(), and gt_pch_nx().

#define MEMMODEL_MASK   ((1<<16)-1)

Suppose that higher bits are target dependent.

Referenced by init_emit_once().

#define obstack_chunk_alloc   ((void *(*) (long)) xmalloc)
#define obstack_chunk_free   ((void (*) (void *)) free)
#define OBSTACK_CHUNK_SIZE   0

Typedef Documentation

typedef unsigned char addr_space_t

Address space number for named address space support.

typedef struct basic_block_def* basic_block
typedef struct bitmap_head_def* bitmap
typedef struct bitmap_head_def* const_bitmap
typedef struct edge_def* const_edge
typedef struct rtvec_def* const_rtvec
typedef struct rtx_def* const_rtx
typedef union tree_node* const_tree
typedef struct edge_def* edge
typedef struct gimple_statement_base* gimple
typedef gimple gimple_seq
typedef void(* gt_pointer_operator)(void *, void *)

Support for user-provided GGC and PCH markers. The first parameter is a pointer to a pointer, the second a cookie.

typedef int reg_class_t

enum reg_class is target specific, so it should not appear in target-independent code or interfaces, like the target hook declarations in target.h.

typedef struct rtvec_def* rtvec
typedef struct rtx_def* rtx
typedef struct simple_bitmap_def* sbitmap
typedef union section section
typedef union tree_node* tree
typedef unsigned char uchar

Enumeration Type Documentation

Classes of functions that compiler needs to check whether they are present at the runtime or not.

Enumerator:
function_c94 
function_c99_misc 
function_c99_math_complex 
function_sincos 
enum ir_type

The major intermediate representations of GCC.

Enumerator:
IR_GIMPLE 
IR_RTL_CFGRTL 
IR_RTL_CFGLAYOUT 
enum memmodel

Memory model types for the __atomic* builtins. This must match the order in libstdc++-v3/include/bits/atomic_base.h.

Enumerator:
MEMMODEL_RELAXED 
MEMMODEL_CONSUME 
MEMMODEL_ACQUIRE 
MEMMODEL_RELEASE 
MEMMODEL_ACQ_REL 
MEMMODEL_SEQ_CST 
MEMMODEL_LAST 

Callgraph node profile representation.

Enumerator:
NODE_FREQUENCY_UNLIKELY_EXECUTED 

This function most likely won't be executed at all. (set only when profile feedback is available or via function attribute).

NODE_FREQUENCY_EXECUTED_ONCE 

For functions that are known to be executed once (i.e. constructors, destructors and main function.

NODE_FREQUENCY_NORMAL 

The default value.

NODE_FREQUENCY_HOT 

Optimize this function hard (set only when profile feedback is available or via function attribute).

enum tls_model

The thread-local storage model associated with a given VAR_DECL or SYMBOL_REF. This isn't used much, but both trees and RTL refer to it, so it's here.

Enumerator:
TLS_MODEL_NONE 
TLS_MODEL_EMULATED 
TLS_MODEL_REAL 
TLS_MODEL_GLOBAL_DYNAMIC 
TLS_MODEL_LOCAL_DYNAMIC 
TLS_MODEL_INITIAL_EXEC 
TLS_MODEL_LOCAL_EXEC 

Types of unwind/exception handling info that can be generated.

Enumerator:
UI_NONE 
UI_SJLJ 
UI_DWARF2 
UI_TARGET 
UI_SEH 

Possible initialization status of a variable. When requested by the user, this information is tracked and recorded in the DWARF debug information, along with the variable's location.

Enumerator:
VAR_INIT_STATUS_UNKNOWN 
VAR_INIT_STATUS_UNINITIALIZED 
VAR_INIT_STATUS_INITIALIZED