C++ patches ping ^3

Niall Douglas s_fsfeurope2@nedprod.com
Mon Jul 5 01:30:00 GMT 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 4 Jul 2004 at 16:52, Giovanni Bajo wrote:

> > Are there are other obstacles remaining?
> 
> There are no ChangeLog entries for the patch, you should prepare them.
> But again, I think at least a general comment on the patch could be
> done in its current (mature) form. This is why I pinged it again for
> you.

Thanks. Today I was reminded of how useful this patch was when a 
mistake in the makefile caused the -fvisibility=hidden to not be 
specified and when I came back after six hours expecting the compile 
to be done it was still going!

Below is a suggested set of ChangeLog entries based on a fusion of 
Brian's and my own. I've made up entries for Brian as I took 
suggestions by Jason to Brian and leap frogged them into my patch:

gcc/
2004-05-28 Niall Douglas <s_fsfeurope2@nedprod.com>
PR c++/15000
* c-decl.c (diagnose_mismatched_decls): Updated rules for merging 
decls and checking that they are consistent.
* common.opt: Added -fvisibility
* c.opt, c-opts.c: Added -fvisibility-inlines-hidden
* c-pragma.h, c-pragma.c: Added handle_pragma_visibility()
* flags.h, tree.h: Added assorted support defines for overall patch
* opts.c: Added parsing support for -fvisibility
* tree.c (build_decl): Set visibility for all decls to be whatever is 
in force at that time
* varasm.c (default_binds_local_p_1): Reworked logic determining when 
to make a symbol locally bound.

gcc/cp
2004-05-28 Niall Douglas <s_fsfeurope2@nedprod.com>
PR c++/15000
* class.c (check_field_decls): Apply hidden visibility if -
fvisibility-inlines-hidden and inlined unless otherwise specified
* cp-tree.h: Added CLASSTYPE_VISIBILITYSPECIFIED macro
* decl.c (duplicate_decls): New logic for merging definition decls 
with declaration decls. Added ignore & warning when non default 
applied to global operator new or delete.
* method.c, optimize.c, rtti.c: Added setting of VISIBILITYSPECIFIED 
wherever VISIBILITY was changed

gcc/doc
2004-05-28 Niall Douglas <s_fsfeurope2@nedprod.com>
PR c++/15000
* invoke.texi: Added documentation for -fvisibility and -fvisibility-
inlines-hidden

gcc/
2004-04-05  Brian Ryner  <bryner@brianryner.com>
PR c++/9283
* c-common.c (c_common_attribute_table): Allow
handle_visibility_attribute to be called for types.
(handle_visibility_attribute) When given a type, set the visibility
bits on the TYPE_NAME.  When given a decl, don't set no_add_attrs
so that we can check later whether the attribute was present. Added 
warning if attribute applied to non class type.

gcc/cp
2004-04-05  Brian Ryner  <bryner@brianryner.com>
PR c++/9283
* class.c (build_vtable): Set vtable visibility to class visibility.
(check_field_decls): Default static member visibility to class
visibility.
(check_methods): Default method visibility to class visibility.
* cp-tree.h: Added CLASSTYPE_VISIBILITY macro
* rtti.c (get_tinfo_decl): Set typeinfo visibility to class 
visibility.
(tinfo_base_init): Set typeinfo name visibility to class visibility.


Let me know if there is anything else.

Cheers,
Niall





-----BEGIN PGP SIGNATURE-----
Version: idw's PGP-Frontend 4.9.6.1 / 9-2003 + PGP 8.0.2

iQA/AwUBQOijnsEcvDLFGKbPEQKNHgCglTz1rUydj0B2i5Jm02lBrh+JlMMAoNLY
iNEU/3GDIWxgXfx/Dq7KldFf
=L6ea
-----END PGP SIGNATURE-----



More information about the Gcc-patches mailing list