<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1988-2015 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Funding Free Software", the Front-Cover
Texts being (a) (see below), and with the Back-Cover Texts being (b)
(see below).  A copy of the license is included in the section entitled
"GNU Free Documentation License".

(a) The FSF's Front-Cover Text is:

A GNU Manual

(b) The FSF's Back-Cover Text is:

You have freedom to copy and modify this GNU Manual, like GNU
     software.  Copies published by the Free Software Foundation raise
     funds for GNU development. -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Compiler Collection (GCC) Internals: Current structure hierarchy</title>

<meta name="description" content="GNU Compiler Collection (GCC) Internals: Current structure hierarchy">
<meta name="keywords" content="GNU Compiler Collection (GCC) Internals: Current structure hierarchy">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Option-Index.html#Option-Index" rel="index" title="Option Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Internal-structure.html#Internal-structure" rel="up" title="Internal structure">
<link href="Adding-new-DECL-node-types.html#Adding-new-DECL-node-types" rel="next" title="Adding new DECL node types">
<link href="Internal-structure.html#Internal-structure" rel="prev" title="Internal structure">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Current-structure-hierarchy"></a>
<div class="header">
<p>
Next: <a href="Adding-new-DECL-node-types.html#Adding-new-DECL-node-types" accesskey="n" rel="next">Adding new DECL node types</a>, Up: <a href="Internal-structure.html#Internal-structure" accesskey="u" rel="up">Internal structure</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Current-structure-hierarchy-1"></a>
<h4 class="subsubsection">10.4.2.1 Current structure hierarchy</h4>

<dl compact="compact">
<dt><code>struct tree_decl_minimal</code></dt>
<dd><p>This is the minimal structure to inherit from in order for common
<code>DECL</code> macros to work.  The fields it contains are a unique ID,
source location, context, and name.
</p>
</dd>
<dt><code>struct tree_decl_common</code></dt>
<dd><p>This structure inherits from <code>struct tree_decl_minimal</code>.  It
contains fields that most <code>DECL</code> nodes need, such as a field to
store alignment, machine mode, size, and attributes.
</p>
</dd>
<dt><code>struct tree_field_decl</code></dt>
<dd><p>This structure inherits from <code>struct tree_decl_common</code>.  It is
used to represent <code>FIELD_DECL</code>.
</p>
</dd>
<dt><code>struct tree_label_decl</code></dt>
<dd><p>This structure inherits from <code>struct tree_decl_common</code>.  It is
used to represent <code>LABEL_DECL</code>.
</p>
</dd>
<dt><code>struct tree_translation_unit_decl</code></dt>
<dd><p>This structure inherits from <code>struct tree_decl_common</code>.  It is
used to represent <code>TRANSLATION_UNIT_DECL</code>.
</p>
</dd>
<dt><code>struct tree_decl_with_rtl</code></dt>
<dd><p>This structure inherits from <code>struct tree_decl_common</code>.  It
contains a field to store the low-level RTL associated with a
<code>DECL</code> node.
</p>
</dd>
<dt><code>struct tree_result_decl</code></dt>
<dd><p>This structure inherits from <code>struct tree_decl_with_rtl</code>.  It is
used to represent <code>RESULT_DECL</code>.
</p>
</dd>
<dt><code>struct tree_const_decl</code></dt>
<dd><p>This structure inherits from <code>struct tree_decl_with_rtl</code>.  It is
used to represent <code>CONST_DECL</code>.
</p>
</dd>
<dt><code>struct tree_parm_decl</code></dt>
<dd><p>This structure inherits from <code>struct tree_decl_with_rtl</code>.  It is
used to represent <code>PARM_DECL</code>.
</p>
</dd>
<dt><code>struct tree_decl_with_vis</code></dt>
<dd><p>This structure inherits from <code>struct tree_decl_with_rtl</code>.  It
contains fields necessary to store visibility information, as well as
a section name and assembler name.
</p>
</dd>
<dt><code>struct tree_var_decl</code></dt>
<dd><p>This structure inherits from <code>struct tree_decl_with_vis</code>.  It is
used to represent <code>VAR_DECL</code>.
</p>
</dd>
<dt><code>struct tree_function_decl</code></dt>
<dd><p>This structure inherits from <code>struct tree_decl_with_vis</code>.  It is
used to represent <code>FUNCTION_DECL</code>.
</p>
</dd>
</dl>



</body>
</html>
