This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [C++] GCC tree linkage types
- From: Chris Lattner <sabre at nondot dot org>
- To: Daniel Jacobowitz <drow at mvista dot com>
- Cc: Ian Lance Taylor <ian at wasabisystems dot com>, <gcc at gcc dot gnu dot org>
- Date: Fri, 7 Nov 2003 10:11:48 -0600 (CST)
- Subject: Re: [C++] GCC tree linkage types
On Fri, 7 Nov 2003, Daniel Jacobowitz wrote:
> As Ian said, they will be implicitly defined to zero if no definition
> is present.
>
> extern int foo_func() __attribute__((weak));
> ...
> if (foo_func != 0)
> return foo_func ();
> ...
>
> There are a number of uses for this. For instance, glibc uses it to
> call pthread locking functions iff the threading library is available
> at runtime.
Can't the same effect be had like this:
libc:
bool has_foo_feature() __attribute__((weak)) { return false; }
libfoo:
bool has_foo_feature() { return true; }
If they link to libfoo, they will automatically get the new definition of
has_foo_feature... without needing undefined weak symbols.
-Chris
--
http://llvm.cs.uiuc.edu/
http://www.nondot.org/~sabre/Projects/