<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1992-2015 Free Software Foundation, Inc.
Contributed by Cygnus Support.  Written by Julia Menapace, Jim Kingdon,
and David MacKenzie.

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 no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts.  A copy of the license is included in the section entitled "GNU
Free Documentation License". -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>STABS: Based Variables</title>

<meta name="description" content="STABS: Based Variables">
<meta name="keywords" content="STABS: Based Variables">
<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="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Variables.html#Variables" rel="up" title="Variables">
<link href="Parameters.html#Parameters" rel="next" title="Parameters">
<link href="Statics.html#Statics" rel="prev" title="Statics">
<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="Based-Variables"></a>
<div class="header">
<p>
Next: <a href="Parameters.html#Parameters" accesskey="n" rel="next">Parameters</a>, Previous: <a href="Statics.html#Statics" accesskey="p" rel="prev">Statics</a>, Up: <a href="Variables.html#Variables" accesskey="u" rel="up">Variables</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Fortran-Based-Variables"></a>
<h3 class="section">4.6 Fortran Based Variables</h3>

<p>Fortran (at least, the Sun and SGI dialects of FORTRAN-77) has a feature
which allows allocating arrays with <code>malloc</code>, but which avoids
blurring the line between arrays and pointers the way that C does.  In
stabs such a variable uses the &lsquo;<samp>b</samp>&rsquo; symbol descriptor.
</p>
<p>For example, the Fortran declarations
</p>
<div class="example">
<pre class="example">real foo, foo10(10), foo10_5(10,5)
pointer (foop, foo)
pointer (foo10p, foo10)
pointer (foo105p, foo10_5)
</pre></div>

<p>produce the stabs
</p>
<div class="example">
<pre class="example">foo:b6
foo10:bar3;1;10;6
foo10_5:bar3;1;5;ar3;1;10;6
</pre></div>

<p>In this example, <code>real</code> is type 6 and type 3 is an integral type
which is the type of the subscripts of the array (probably
<code>integer</code>).
</p>
<p>The &lsquo;<samp>b</samp>&rsquo; symbol descriptor is like &lsquo;<samp>V</samp>&rsquo; in that it denotes a
statically allocated symbol whose scope is local to a function; see
See <a href="Statics.html#Statics">Statics</a>.  The value of the symbol, instead of being the address
of the variable itself, is the address of a pointer to that variable.
So in the above example, the value of the <code>foo</code> stab is the address
of a pointer to a real, the value of the <code>foo10</code> stab is the
address of a pointer to a 10-element array of reals, and the value of
the <code>foo10_5</code> stab is the address of a pointer to a 5-element array
of 10-element arrays of reals.
</p>



</body>
</html>
