diff options
author | Dave Korn <dave.korn.cygwin@gmail.com> | 2011-01-26 01:41:23 +0000 |
---|---|---|
committer | Dave Korn <davek@gcc.gnu.org> | 2011-01-26 01:41:23 +0000 |
commit | 47ea1edfbce523efbccac2377388798ec7800460 (patch) | |
tree | 7791b2c5afa7301952887cfb93c353a67dacb1ce /gcc/doc/extend.texi | |
parent | 744f0946bcbf7be92a725383d41c31673849efa9 (diff) | |
download | gcc-47ea1edfbce523efbccac2377388798ec7800460.zip gcc-47ea1edfbce523efbccac2377388798ec7800460.tar.gz gcc-47ea1edfbce523efbccac2377388798ec7800460.tar.bz2 |
c.opt (-fkeep-inline-dllexport): New switch.
gcc/c-family/ChangeLog:
* c.opt (-fkeep-inline-dllexport): New switch.
gcc/ChangeLog:
* tree.c (handle_dll_attribute): Handle it.
* doc/extend.texi (@item dllexport): Mention it.
* doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
gcc/cp/ChangeLog:
* semantics.c (expand_or_defer_fn_1): Handle it.
* decl2.c (decl_needed_p): Likewise.
gcc/testsuite/ChangeLog:
* gcc.dg/dll-9a.c: New test file.
* gcc.dg/dll-11.c: Likewise.
* gcc.dg/dll-12.c: Likewise.
* gcc.dg/dll-12a.c: Likewise.
* gcc.dg/dll-11a.c: Likewise.
* gcc.dg/dll-9.c: Likewise.
* gcc.dg/dll-10.c: Likewise.
* gcc.dg/dll-10a.c: Likewise.
* g++.dg/ext/dllexport4a.cc: Likewise.
* g++.dg/ext/dllexport4.C: Likewise.
* g++.dg/ext/dllexport5.C: Likewise.
* g++.dg/ext/dllexport5a.cc: Likewise.
From-SVN: r169268
Diffstat (limited to 'gcc/doc/extend.texi')
-rw-r--r-- | gcc/doc/extend.texi | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index bc60bfe..5a2b268 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -1,5 +1,5 @@ @c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1996, 1998, 1999, 2000, 2001, -@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 +@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 @c Free Software Foundation, Inc. @c This is part of the GCC manual. @@ -2213,9 +2213,14 @@ On systems that support the @code{visibility} attribute, this attribute also implies ``default'' visibility. It is an error to explicitly specify any other visibility. -Currently, the @code{dllexport} attribute is ignored for inlined -functions, unless the @option{-fkeep-inline-functions} flag has been -used. The attribute is also ignored for undefined symbols. +In previous versions of GCC, the @code{dllexport} attribute was ignored +for inlined functions, unless the @option{-fkeep-inline-functions} flag +had been used. The default behaviour now is to emit all dllexported +inline functions; however, this can cause object file-size bloat, in +which case the old behaviour can be restored by using +@option{-fno-keep-inline-dllexport}. + +The attribute is also ignored for undefined symbols. When applied to C++ classes, the attribute marks defined non-inlined member functions and static data members as exports. Static consts |