1<html lang="en"> 2<head> 3<title>Weak Pragmas - Using the GNU Compiler Collection (GCC)</title> 4<meta http-equiv="Content-Type" content="text/html"> 5<meta name="description" content="Using the GNU Compiler Collection (GCC)"> 6<meta name="generator" content="makeinfo 4.13"> 7<link title="Top" rel="start" href="index.html#Top"> 8<link rel="up" href="Pragmas.html#Pragmas" title="Pragmas"> 9<link rel="prev" href="Structure_002dPacking-Pragmas.html#Structure_002dPacking-Pragmas" title="Structure-Packing Pragmas"> 10<link rel="next" href="Diagnostic-Pragmas.html#Diagnostic-Pragmas" title="Diagnostic Pragmas"> 11<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> 12<!-- 13Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 141998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 152010 Free Software Foundation, Inc. 16 17Permission is granted to copy, distribute and/or modify this document 18under the terms of the GNU Free Documentation License, Version 1.3 or 19any later version published by the Free Software Foundation; with the 20Invariant Sections being ``Funding Free Software'', the Front-Cover 21Texts being (a) (see below), and with the Back-Cover Texts being (b) 22(see below). A copy of the license is included in the section entitled 23``GNU Free Documentation License''. 24 25(a) The FSF's Front-Cover Text is: 26 27 A GNU Manual 28 29(b) The FSF's Back-Cover Text is: 30 31 You have freedom to copy and modify this GNU Manual, like GNU 32 software. Copies published by the Free Software Foundation raise 33 funds for GNU development.--> 34<meta http-equiv="Content-Style-Type" content="text/css"> 35<style type="text/css"><!-- 36 pre.display { font-family:inherit } 37 pre.format { font-family:inherit } 38 pre.smalldisplay { font-family:inherit; font-size:smaller } 39 pre.smallformat { font-family:inherit; font-size:smaller } 40 pre.smallexample { font-size:smaller } 41 pre.smalllisp { font-size:smaller } 42 span.sc { font-variant:small-caps } 43 span.roman { font-family:serif; font-weight:normal; } 44 span.sansserif { font-family:sans-serif; font-weight:normal; } 45--></style> 46<link rel="stylesheet" type="text/css" href="../cs.css"> 47</head> 48<body> 49<div class="node"> 50<a name="Weak-Pragmas"></a> 51<p> 52Next: <a rel="next" accesskey="n" href="Diagnostic-Pragmas.html#Diagnostic-Pragmas">Diagnostic Pragmas</a>, 53Previous: <a rel="previous" accesskey="p" href="Structure_002dPacking-Pragmas.html#Structure_002dPacking-Pragmas">Structure-Packing Pragmas</a>, 54Up: <a rel="up" accesskey="u" href="Pragmas.html#Pragmas">Pragmas</a> 55<hr> 56</div> 57 58<h4 class="subsection">6.56.9 Weak Pragmas</h4> 59 60<p>For compatibility with SVR4, GCC supports a set of <code>#pragma</code> 61directives for declaring symbols to be weak, and defining weak 62aliases. 63 64 <dl> 65<dt><code>#pragma weak </code><var>symbol</var><dd><a name="index-pragma_002c-weak-3234"></a>This pragma declares <var>symbol</var> to be weak, as if the declaration 66had the attribute of the same name. The pragma may appear before 67or after the declaration of <var>symbol</var>. It is not an error for 68<var>symbol</var> to never be defined at all. 69 70 <br><dt><code>#pragma weak </code><var>symbol1</var><code> = </code><var>symbol2</var><dd>This pragma declares <var>symbol1</var> to be a weak alias of <var>symbol2</var>. 71It is an error if <var>symbol2</var> is not defined in the current 72translation unit. 73</dl> 74 75 </body></html> 76 77