[Bug c++/22592] -fvisibility-inlines-hidden broken differently

2006-06-13 Thread jason at gcc dot gnu dot org


--- Comment #8 from jason at gcc dot gnu dot org  2006-06-13 23:28 ---
Either 20218 is a bug or this is.  It seems to me that 20218 is the bug.

If you declare a function to be hidden, you are asserting that it will be
defined in the current DSO.  From the GCC documentation:

"Two declarations of an object with hidden linkage refer to the same object
if they are in the same shared object."

Calling this function directly is a correct optimization, the bug is that you
fail to define it (by defining the key method) in the same DSO.

If this class is imported from a library, it shouldn't have hidden linkage; the
library's namespace should have explicit default linkage.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22592



[Bug libstdc++/21405] Can't give symbol versions to templates

2006-06-20 Thread jason at gcc dot gnu dot org


--- Comment #19 from jason at gcc dot gnu dot org  2006-06-20 18:12 ---
Changed the summary to clarify, and remove "visibility"


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|Template inlines have global|Can't give symbol versions
   |visibility  |to templates


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21405



[Bug middle-end/23058] visibility attribute does not work for aliased symbols

2006-06-20 Thread jason at gcc dot gnu dot org


--- Comment #1 from jason at gcc dot gnu dot org  2006-06-20 18:20 ---
You're telling the compiler that "exported_var" has default visibility, then
defining a variable called "my_exported_var" which happens to have the same
symbol.  The compiler doesn't unify multiple declarations with the same
assembler name, and I don't think it should.

You should define the same declaration that you used to declare the visibility.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23058



[Bug c++/22592] -fvisibility-inlines-hidden broken differently

2006-06-20 Thread jason at gcc dot gnu dot org


--- Comment #9 from jason at gcc dot gnu dot org  2006-06-20 18:21 ---
Not a bug; see my earlier comment.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22592



[Bug c++/19134] Class visibility of templated classes can't be overridden for function specializations

2006-06-20 Thread jason at gcc dot gnu dot org


--- Comment #2 from jason at gcc dot gnu dot org  2006-06-20 18:27 ---
This is clearly a bug, since the specialization is not inline and so should not
be affected by -fvisibility-inlines-hidden.

The broader issue here is the question of when #pragma visibility should
override other specified visibilities; suppose the user gave A::foo an
explicit visibility.  Should that or the #pragma take precedence?  After some
thought I've concluded that the #pragma should win, that the template's
visibility should only be used for implicit instantiations, or if the
specialization/explicit instantiation has no explicit visibility.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2005-07-02 01:51:33 |2006-06-20 18:27:58
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19134



[Bug c++/27000] visibility push/pop and templates go crazy

2006-06-22 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-04-03 16:16:02 |2006-06-22 21:16:22
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27000



[Bug middle-end/20297] #pragma GCC visibility isn't properly handled for builtin functions

2006-06-22 Thread jason at gcc dot gnu dot org


--- Comment #19 from jason at gcc dot gnu dot org  2006-06-23 01:05 ---
fixed a while back


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20297



[Bug c++/17470] Visibility attribute ignored for explicit template instantiation

2006-06-22 Thread jason at gcc dot gnu dot org


--- Comment #8 from jason at gcc dot gnu dot org  2006-06-23 01:11 ---
*** Bug 21243 has been marked as a duplicate of this bug. ***


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||christoph dot pesch at
   ||siemens dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17470



[Bug c++/21243] typeinfo visibility of template class instantiation can not be changed with attribute

2006-06-22 Thread jason at gcc dot gnu dot org


--- Comment #4 from jason at gcc dot gnu dot org  2006-06-23 01:11 ---


*** This bug has been marked as a duplicate of 17470 ***


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||DUPLICATE


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21243



[Bug c++/26905] default-visibility class symbol improperly resolved as hidden-visibility

2006-06-22 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-03-30 22:00:53 |2006-06-23 03:49:58
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26905



[Bug c++/26989] C++ front-end (and others parts of GCC) use the wrong check to see if hidden visibility is there

2006-06-22 Thread jason at gcc dot gnu dot org


--- Comment #3 from jason at gcc dot gnu dot org  2006-06-23 03:51 ---
So what is the right check, then?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26989



[Bug c/27012] visibility attribute should not be permitted on local variables

2006-06-22 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-04-04 15:37:18 |2006-06-23 03:59:51
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27012



[Bug c++/21675] -fvisibility : misleading documentation and low QoI

2006-06-22 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-06-23 04:01:06
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21675



[Bug middle-end/20218] Can't use __attribute__ ((visibility ("hidden"))) to hide a symbol

2006-06-22 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-06-23 04:02:03
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20218



[Bug middle-end/20274] -fvisibility=hidden has no effect on calling undefined function

2006-06-22 Thread jason at gcc dot gnu dot org


--- Comment #4 from jason at gcc dot gnu dot org  2006-06-23 05:25 ---
This is the intended behavior of -fvisibility; see the discussion of PR 15000
for the rationale.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20274



[Bug c++/27369] [4.1/4.2 Regression] tree check ICE when attribute externally_visible used

2006-06-26 Thread jason at gcc dot gnu dot org


--- Comment #10 from jason at gcc dot gnu dot org  2006-06-26 21:50 ---
The bug is that handle_externally_visible adds the second decl to cgraph_nodes
and then duplicate_decls discards it without removing it from cgraph_nodes.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27369



[Bug c++/27424] [4.0/4.1/4.2 regression] Valid template-template-parameter rejected

2006-06-26 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-05-05 15:30:07 |2006-06-26 22:16:49
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27424



[Bug c++/27578] [4.2 Regression] ICE with attribute on a pointer in a function prototype

2006-06-26 Thread jason at gcc dot gnu dot org


--- Comment #9 from jason at gcc dot gnu dot org  2006-06-26 22:21 ---
Is this still broken? I can't reproduce it.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27578



[Bug c++/27768] [4.1/4.2 regression] wrong-code with vectors

2006-06-26 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-05-30 16:06:59 |2006-06-26 22:24:39
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27768



[Bug c++/27768] [4.1/4.2 regression] wrong-code with vectors

2006-06-28 Thread jason at gcc dot gnu dot org


--- Comment #11 from jason at gcc dot gnu dot org  2006-06-28 19:12 ---
Turns out to be a bug in alias grouping.  Patch in testing.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27768



[Bug c++/27768] [4.1/4.2 regression] wrong-code with vectors

2006-06-28 Thread jason at gcc dot gnu dot org


--- Comment #12 from jason at gcc dot gnu dot org  2006-06-29 01:12 ---
Subject: Bug 27768

Author: jason
Date: Thu Jun 29 01:12:20 2006
New Revision: 115062

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115062
Log:
PR c++/27768
* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add
may_aliases already in the tag's annotations to the bitmap.

Added:
trunk/gcc/testsuite/g++.dg/opt/alias4.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-alias.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27768



[Bug c++/27424] [4.0/4.1/4.2 regression] Valid template-template-parameter rejected

2006-06-28 Thread jason at gcc dot gnu dot org


--- Comment #2 from jason at gcc dot gnu dot org  2006-06-29 01:27 ---
Subject: Bug 27424

Author: jason
Date: Thu Jun 29 01:27:17 2006
New Revision: 115063

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115063
Log:
PR c++/27424
* pt.c (convert_template_argument): Pass all template arguments
on to coerce_template_template_parms.

Added:
trunk/gcc/testsuite/g++.dg/template/ttp20.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27424



[Bug c++/18698] [4.0/4.1/4.2 regression] Error message using "using" for code not using "using" ;-)

2006-06-28 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-02-12 17:53:52 |2006-06-29 01:28:53
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18698



[Bug c++/26612] visibility and ODR

2006-06-29 Thread jason at gcc dot gnu dot org


--- Comment #3 from jason at gcc dot gnu dot org  2006-06-30 01:16 ---
Subject: Bug 26612

Author: jason
Date: Fri Jun 30 01:15:56 2006
New Revision: 115086

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115086
Log:
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* tree.c (build_decl_stat): Don't hande #pragma visibility here.
* c-common.c (c_determine_visibility): Handle it here.
* c-decl.c (finish_decl): Call c_determine_visibility for
functions, too.
* flags.h (enum symbol_visibility): Sort from most to least visibility.
* tree.h: Likewise.
* varasm.c (default_assemble_visibility): Likewise.
* c-common.c (handle_visibility_attribute): Complain about trying
to give visibility to an already defined class, or trying to change
declared visibility. Always attach the attribute.
* cp/decl2.c (determine_visibility): Overhaul.
(determine_visibility_from_class): Likewise.
(min_vis_r, type_visibility, constrain_visibility): New fns.
(constrain_visibility_for_template): Likewise.
(constrain_class_visibility): Likewise.
* cp/decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* cp/name-lookup.c (pushtag): Call determine_visibility.
* cp/decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* cp/pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* cp/class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* cp/parser.c (cp_parser_explicit_instantiation): Pass the attributes
to grokdeclarator.
(cp_parser_type_specifier): Allow 'enum __attribute ((...)) E'.
(cp_parser_enum_specifier): Likewise.
(cp_parser_elaborated_type_specifier): Apply attributes if this
declares only the class.
(cp_parser_class_specifier): Apply leading attributes immediately.
* cp/semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.

PR c++/21581
PR c++/25915
* cp/tree.c (decl_anon_ns_mem_p): New function.
* cp/cp-tree.h: Declare it.
* cp/decl2.c (determine_visibility): Make anonymous namespace
members static.
(min_vis_r, constrain_visibility): Likewise.
* cp/rtti.c (create_pseudo_type_info): Set TREE_PUBLIC on
pseudo-types.
* cp/decl.c (cxx_init_decl_processing): Set TREE_PUBLIC on
global_namespace.
* cp/name-lookup.c (push_namespace_with_attribs): Don't set TREE_PUBLIC
on anonymous namespaces.

Added:
trunk/gcc/testsuite/g++.dg/ext/visibility/anon2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/class1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/prop1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template3.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template4.C
trunk/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn3.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn4.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/attribs.c
trunk/gcc/c-common.c
trunk/gcc/c-decl.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/decl2.c
trunk/gcc/cp/name-lookup.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/rtti.c
trunk/gcc/cp/semantics.c
trunk/gcc/cp/tree.c
trunk/gcc/doc/extend.texi
trunk/gcc/doc/invoke.texi
trunk/gcc/flags.h
trunk/gcc/testsuite/g++.dg/ext/attrib14.C
trunk/gcc/testsuite/g++.dg/ext/attrib9.C
trunk/gcc/testsuite/g++.dg/ext/visibility/anon1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/assign1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/virtual.C
trunk/gcc/testsuite/g++.old-deja/g++.pt/enum5.C
trunk/gcc/tree.c
trunk/gcc/tree.h
trunk/gcc/varasm.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26612



[Bug c++/26905] default-visibility class symbol improperly resolved as hidden-visibility

2006-06-29 Thread jason at gcc dot gnu dot org


--- Comment #3 from jason at gcc dot gnu dot org  2006-06-30 01:16 ---
Subject: Bug 26905

Author: jason
Date: Fri Jun 30 01:15:56 2006
New Revision: 115086

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115086
Log:
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* tree.c (build_decl_stat): Don't hande #pragma visibility here.
* c-common.c (c_determine_visibility): Handle it here.
* c-decl.c (finish_decl): Call c_determine_visibility for
functions, too.
* flags.h (enum symbol_visibility): Sort from most to least visibility.
* tree.h: Likewise.
* varasm.c (default_assemble_visibility): Likewise.
* c-common.c (handle_visibility_attribute): Complain about trying
to give visibility to an already defined class, or trying to change
declared visibility. Always attach the attribute.
* cp/decl2.c (determine_visibility): Overhaul.
(determine_visibility_from_class): Likewise.
(min_vis_r, type_visibility, constrain_visibility): New fns.
(constrain_visibility_for_template): Likewise.
(constrain_class_visibility): Likewise.
* cp/decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* cp/name-lookup.c (pushtag): Call determine_visibility.
* cp/decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* cp/pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* cp/class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* cp/parser.c (cp_parser_explicit_instantiation): Pass the attributes
to grokdeclarator.
(cp_parser_type_specifier): Allow 'enum __attribute ((...)) E'.
(cp_parser_enum_specifier): Likewise.
(cp_parser_elaborated_type_specifier): Apply attributes if this
declares only the class.
(cp_parser_class_specifier): Apply leading attributes immediately.
* cp/semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.

PR c++/21581
PR c++/25915
* cp/tree.c (decl_anon_ns_mem_p): New function.
* cp/cp-tree.h: Declare it.
* cp/decl2.c (determine_visibility): Make anonymous namespace
members static.
(min_vis_r, constrain_visibility): Likewise.
* cp/rtti.c (create_pseudo_type_info): Set TREE_PUBLIC on
pseudo-types.
* cp/decl.c (cxx_init_decl_processing): Set TREE_PUBLIC on
global_namespace.
* cp/name-lookup.c (push_namespace_with_attribs): Don't set TREE_PUBLIC
on anonymous namespaces.

Added:
trunk/gcc/testsuite/g++.dg/ext/visibility/anon2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/class1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/prop1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template3.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template4.C
trunk/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn3.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn4.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/attribs.c
trunk/gcc/c-common.c
trunk/gcc/c-decl.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/decl2.c
trunk/gcc/cp/name-lookup.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/rtti.c
trunk/gcc/cp/semantics.c
trunk/gcc/cp/tree.c
trunk/gcc/doc/extend.texi
trunk/gcc/doc/invoke.texi
trunk/gcc/flags.h
trunk/gcc/testsuite/g++.dg/ext/attrib14.C
trunk/gcc/testsuite/g++.dg/ext/attrib9.C
trunk/gcc/testsuite/g++.dg/ext/visibility/anon1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/assign1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/virtual.C
trunk/gcc/testsuite/g++.old-deja/g++.pt/enum5.C
trunk/gcc/tree.c
trunk/gcc/tree.h
trunk/gcc/varasm.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26905



[Bug c++/21675] -fvisibility : misleading documentation and low QoI

2006-06-29 Thread jason at gcc dot gnu dot org


--- Comment #1 from jason at gcc dot gnu dot org  2006-06-30 01:16 ---
Subject: Bug 21675

Author: jason
Date: Fri Jun 30 01:15:56 2006
New Revision: 115086

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115086
Log:
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* tree.c (build_decl_stat): Don't hande #pragma visibility here.
* c-common.c (c_determine_visibility): Handle it here.
* c-decl.c (finish_decl): Call c_determine_visibility for
functions, too.
* flags.h (enum symbol_visibility): Sort from most to least visibility.
* tree.h: Likewise.
* varasm.c (default_assemble_visibility): Likewise.
* c-common.c (handle_visibility_attribute): Complain about trying
to give visibility to an already defined class, or trying to change
declared visibility. Always attach the attribute.
* cp/decl2.c (determine_visibility): Overhaul.
(determine_visibility_from_class): Likewise.
(min_vis_r, type_visibility, constrain_visibility): New fns.
(constrain_visibility_for_template): Likewise.
(constrain_class_visibility): Likewise.
* cp/decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* cp/name-lookup.c (pushtag): Call determine_visibility.
* cp/decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* cp/pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* cp/class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* cp/parser.c (cp_parser_explicit_instantiation): Pass the attributes
to grokdeclarator.
(cp_parser_type_specifier): Allow 'enum __attribute ((...)) E'.
(cp_parser_enum_specifier): Likewise.
(cp_parser_elaborated_type_specifier): Apply attributes if this
declares only the class.
(cp_parser_class_specifier): Apply leading attributes immediately.
* cp/semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.

PR c++/21581
PR c++/25915
* cp/tree.c (decl_anon_ns_mem_p): New function.
* cp/cp-tree.h: Declare it.
* cp/decl2.c (determine_visibility): Make anonymous namespace
members static.
(min_vis_r, constrain_visibility): Likewise.
* cp/rtti.c (create_pseudo_type_info): Set TREE_PUBLIC on
pseudo-types.
* cp/decl.c (cxx_init_decl_processing): Set TREE_PUBLIC on
global_namespace.
* cp/name-lookup.c (push_namespace_with_attribs): Don't set TREE_PUBLIC
on anonymous namespaces.

Added:
trunk/gcc/testsuite/g++.dg/ext/visibility/anon2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/class1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/prop1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template3.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template4.C
trunk/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn3.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn4.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/attribs.c
trunk/gcc/c-common.c
trunk/gcc/c-decl.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/decl2.c
trunk/gcc/cp/name-lookup.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/rtti.c
trunk/gcc/cp/semantics.c
trunk/gcc/cp/tree.c
trunk/gcc/doc/extend.texi
trunk/gcc/doc/invoke.texi
trunk/gcc/flags.h
trunk/gcc/testsuite/g++.dg/ext/attrib14.C
trunk/gcc/testsuite/g++.dg/ext/attrib9.C
trunk/gcc/testsuite/g++.dg/ext/visibility/anon1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/assign1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/virtual.C
trunk/gcc/testsuite/g++.old-deja/g++.pt/enum5.C
trunk/gcc/tree.c
trunk/gcc/tree.h
trunk/gcc/varasm.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21675



[Bug c++/19134] Class visibility of templated classes can't be overridden for function specializations

2006-06-29 Thread jason at gcc dot gnu dot org


--- Comment #3 from jason at gcc dot gnu dot org  2006-06-30 01:16 ---
Subject: Bug 19134

Author: jason
Date: Fri Jun 30 01:15:56 2006
New Revision: 115086

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115086
Log:
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* tree.c (build_decl_stat): Don't hande #pragma visibility here.
* c-common.c (c_determine_visibility): Handle it here.
* c-decl.c (finish_decl): Call c_determine_visibility for
functions, too.
* flags.h (enum symbol_visibility): Sort from most to least visibility.
* tree.h: Likewise.
* varasm.c (default_assemble_visibility): Likewise.
* c-common.c (handle_visibility_attribute): Complain about trying
to give visibility to an already defined class, or trying to change
declared visibility. Always attach the attribute.
* cp/decl2.c (determine_visibility): Overhaul.
(determine_visibility_from_class): Likewise.
(min_vis_r, type_visibility, constrain_visibility): New fns.
(constrain_visibility_for_template): Likewise.
(constrain_class_visibility): Likewise.
* cp/decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* cp/name-lookup.c (pushtag): Call determine_visibility.
* cp/decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* cp/pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* cp/class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* cp/parser.c (cp_parser_explicit_instantiation): Pass the attributes
to grokdeclarator.
(cp_parser_type_specifier): Allow 'enum __attribute ((...)) E'.
(cp_parser_enum_specifier): Likewise.
(cp_parser_elaborated_type_specifier): Apply attributes if this
declares only the class.
(cp_parser_class_specifier): Apply leading attributes immediately.
* cp/semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.

PR c++/21581
PR c++/25915
* cp/tree.c (decl_anon_ns_mem_p): New function.
* cp/cp-tree.h: Declare it.
* cp/decl2.c (determine_visibility): Make anonymous namespace
members static.
(min_vis_r, constrain_visibility): Likewise.
* cp/rtti.c (create_pseudo_type_info): Set TREE_PUBLIC on
pseudo-types.
* cp/decl.c (cxx_init_decl_processing): Set TREE_PUBLIC on
global_namespace.
* cp/name-lookup.c (push_namespace_with_attribs): Don't set TREE_PUBLIC
on anonymous namespaces.

Added:
trunk/gcc/testsuite/g++.dg/ext/visibility/anon2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/class1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/prop1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template3.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template4.C
trunk/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn3.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn4.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/attribs.c
trunk/gcc/c-common.c
trunk/gcc/c-decl.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/decl2.c
trunk/gcc/cp/name-lookup.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/rtti.c
trunk/gcc/cp/semantics.c
trunk/gcc/cp/tree.c
trunk/gcc/doc/extend.texi
trunk/gcc/doc/invoke.texi
trunk/gcc/flags.h
trunk/gcc/testsuite/g++.dg/ext/attrib14.C
trunk/gcc/testsuite/g++.dg/ext/attrib9.C
trunk/gcc/testsuite/g++.dg/ext/visibility/anon1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/assign1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/virtual.C
trunk/gcc/testsuite/g++.old-deja/g++.pt/enum5.C
trunk/gcc/tree.c
trunk/gcc/tree.h
trunk/gcc/varasm.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19134



[Bug c++/26984] link error with &(typeid(int)) in anonymous namespace

2006-06-29 Thread jason at gcc dot gnu dot org


--- Comment #5 from jason at gcc dot gnu dot org  2006-06-30 01:16 ---
Subject: Bug 26984

Author: jason
Date: Fri Jun 30 01:15:56 2006
New Revision: 115086

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115086
Log:
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* tree.c (build_decl_stat): Don't hande #pragma visibility here.
* c-common.c (c_determine_visibility): Handle it here.
* c-decl.c (finish_decl): Call c_determine_visibility for
functions, too.
* flags.h (enum symbol_visibility): Sort from most to least visibility.
* tree.h: Likewise.
* varasm.c (default_assemble_visibility): Likewise.
* c-common.c (handle_visibility_attribute): Complain about trying
to give visibility to an already defined class, or trying to change
declared visibility. Always attach the attribute.
* cp/decl2.c (determine_visibility): Overhaul.
(determine_visibility_from_class): Likewise.
(min_vis_r, type_visibility, constrain_visibility): New fns.
(constrain_visibility_for_template): Likewise.
(constrain_class_visibility): Likewise.
* cp/decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* cp/name-lookup.c (pushtag): Call determine_visibility.
* cp/decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* cp/pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* cp/class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* cp/parser.c (cp_parser_explicit_instantiation): Pass the attributes
to grokdeclarator.
(cp_parser_type_specifier): Allow 'enum __attribute ((...)) E'.
(cp_parser_enum_specifier): Likewise.
(cp_parser_elaborated_type_specifier): Apply attributes if this
declares only the class.
(cp_parser_class_specifier): Apply leading attributes immediately.
* cp/semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.

PR c++/21581
PR c++/25915
* cp/tree.c (decl_anon_ns_mem_p): New function.
* cp/cp-tree.h: Declare it.
* cp/decl2.c (determine_visibility): Make anonymous namespace
members static.
(min_vis_r, constrain_visibility): Likewise.
* cp/rtti.c (create_pseudo_type_info): Set TREE_PUBLIC on
pseudo-types.
* cp/decl.c (cxx_init_decl_processing): Set TREE_PUBLIC on
global_namespace.
* cp/name-lookup.c (push_namespace_with_attribs): Don't set TREE_PUBLIC
on anonymous namespaces.

Added:
trunk/gcc/testsuite/g++.dg/ext/visibility/anon2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/class1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/prop1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template3.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template4.C
trunk/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn3.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn4.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/attribs.c
trunk/gcc/c-common.c
trunk/gcc/c-decl.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/decl2.c
trunk/gcc/cp/name-lookup.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/rtti.c
trunk/gcc/cp/semantics.c
trunk/gcc/cp/tree.c
trunk/gcc/doc/extend.texi
trunk/gcc/doc/invoke.texi
trunk/gcc/flags.h
trunk/gcc/testsuite/g++.dg/ext/attrib14.C
trunk/gcc/testsuite/g++.dg/ext/attrib9.C
trunk/gcc/testsuite/g++.dg/ext/visibility/anon1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/assign1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/virtual.C
trunk/gcc/testsuite/g++.old-deja/g++.pt/enum5.C
trunk/gcc/tree.c
trunk/gcc/tree.h
trunk/gcc/varasm.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26984



[Bug c++/27000] visibility push/pop and templates go crazy

2006-06-29 Thread jason at gcc dot gnu dot org


--- Comment #9 from jason at gcc dot gnu dot org  2006-06-30 01:16 ---
Subject: Bug 27000

Author: jason
Date: Fri Jun 30 01:15:56 2006
New Revision: 115086

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115086
Log:
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* tree.c (build_decl_stat): Don't hande #pragma visibility here.
* c-common.c (c_determine_visibility): Handle it here.
* c-decl.c (finish_decl): Call c_determine_visibility for
functions, too.
* flags.h (enum symbol_visibility): Sort from most to least visibility.
* tree.h: Likewise.
* varasm.c (default_assemble_visibility): Likewise.
* c-common.c (handle_visibility_attribute): Complain about trying
to give visibility to an already defined class, or trying to change
declared visibility. Always attach the attribute.
* cp/decl2.c (determine_visibility): Overhaul.
(determine_visibility_from_class): Likewise.
(min_vis_r, type_visibility, constrain_visibility): New fns.
(constrain_visibility_for_template): Likewise.
(constrain_class_visibility): Likewise.
* cp/decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* cp/name-lookup.c (pushtag): Call determine_visibility.
* cp/decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* cp/pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* cp/class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* cp/parser.c (cp_parser_explicit_instantiation): Pass the attributes
to grokdeclarator.
(cp_parser_type_specifier): Allow 'enum __attribute ((...)) E'.
(cp_parser_enum_specifier): Likewise.
(cp_parser_elaborated_type_specifier): Apply attributes if this
declares only the class.
(cp_parser_class_specifier): Apply leading attributes immediately.
* cp/semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.

PR c++/21581
PR c++/25915
* cp/tree.c (decl_anon_ns_mem_p): New function.
* cp/cp-tree.h: Declare it.
* cp/decl2.c (determine_visibility): Make anonymous namespace
members static.
(min_vis_r, constrain_visibility): Likewise.
* cp/rtti.c (create_pseudo_type_info): Set TREE_PUBLIC on
pseudo-types.
* cp/decl.c (cxx_init_decl_processing): Set TREE_PUBLIC on
global_namespace.
* cp/name-lookup.c (push_namespace_with_attribs): Don't set TREE_PUBLIC
on anonymous namespaces.

Added:
trunk/gcc/testsuite/g++.dg/ext/visibility/anon2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/class1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/prop1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template3.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template4.C
trunk/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn3.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn4.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/attribs.c
trunk/gcc/c-common.c
trunk/gcc/c-decl.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/decl2.c
trunk/gcc/cp/name-lookup.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/rtti.c
trunk/gcc/cp/semantics.c
trunk/gcc/cp/tree.c
trunk/gcc/doc/extend.texi
trunk/gcc/doc/invoke.texi
trunk/gcc/flags.h
trunk/gcc/testsuite/g++.dg/ext/attrib14.C
trunk/gcc/testsuite/g++.dg/ext/attrib9.C
trunk/gcc/testsuite/g++.dg/ext/visibility/anon1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/assign1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/virtual.C
trunk/gcc/testsuite/g++.old-deja/g++.pt/enum5.C
trunk/gcc/tree.c
trunk/gcc/tree.h
trunk/gcc/varasm.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27000



[Bug c++/17470] Visibility attribute ignored for explicit template instantiation

2006-06-29 Thread jason at gcc dot gnu dot org


--- Comment #9 from jason at gcc dot gnu dot org  2006-06-30 01:16 ---
Subject: Bug 17470

Author: jason
Date: Fri Jun 30 01:15:56 2006
New Revision: 115086

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115086
Log:
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* tree.c (build_decl_stat): Don't hande #pragma visibility here.
* c-common.c (c_determine_visibility): Handle it here.
* c-decl.c (finish_decl): Call c_determine_visibility for
functions, too.
* flags.h (enum symbol_visibility): Sort from most to least visibility.
* tree.h: Likewise.
* varasm.c (default_assemble_visibility): Likewise.
* c-common.c (handle_visibility_attribute): Complain about trying
to give visibility to an already defined class, or trying to change
declared visibility. Always attach the attribute.
* cp/decl2.c (determine_visibility): Overhaul.
(determine_visibility_from_class): Likewise.
(min_vis_r, type_visibility, constrain_visibility): New fns.
(constrain_visibility_for_template): Likewise.
(constrain_class_visibility): Likewise.
* cp/decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* cp/name-lookup.c (pushtag): Call determine_visibility.
* cp/decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* cp/pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* cp/class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* cp/parser.c (cp_parser_explicit_instantiation): Pass the attributes
to grokdeclarator.
(cp_parser_type_specifier): Allow 'enum __attribute ((...)) E'.
(cp_parser_enum_specifier): Likewise.
(cp_parser_elaborated_type_specifier): Apply attributes if this
declares only the class.
(cp_parser_class_specifier): Apply leading attributes immediately.
* cp/semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.

PR c++/21581
PR c++/25915
* cp/tree.c (decl_anon_ns_mem_p): New function.
* cp/cp-tree.h: Declare it.
* cp/decl2.c (determine_visibility): Make anonymous namespace
members static.
(min_vis_r, constrain_visibility): Likewise.
* cp/rtti.c (create_pseudo_type_info): Set TREE_PUBLIC on
pseudo-types.
* cp/decl.c (cxx_init_decl_processing): Set TREE_PUBLIC on
global_namespace.
* cp/name-lookup.c (push_namespace_with_attribs): Don't set TREE_PUBLIC
on anonymous namespaces.

Added:
trunk/gcc/testsuite/g++.dg/ext/visibility/anon2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/class1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/prop1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template3.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template4.C
trunk/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn3.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn4.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/attribs.c
trunk/gcc/c-common.c
trunk/gcc/c-decl.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/decl2.c
trunk/gcc/cp/name-lookup.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/rtti.c
trunk/gcc/cp/semantics.c
trunk/gcc/cp/tree.c
trunk/gcc/doc/extend.texi
trunk/gcc/doc/invoke.texi
trunk/gcc/flags.h
trunk/gcc/testsuite/g++.dg/ext/attrib14.C
trunk/gcc/testsuite/g++.dg/ext/attrib9.C
trunk/gcc/testsuite/g++.dg/ext/visibility/anon1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/assign1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/virtual.C
trunk/gcc/testsuite/g++.old-deja/g++.pt/enum5.C
trunk/gcc/tree.c
trunk/gcc/tree.h
trunk/gcc/varasm.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17470



[Bug c++/21581] (optimisation) Functions in anonymous namespaces should default to "hidden" visibility

2006-06-29 Thread jason at gcc dot gnu dot org


--- Comment #17 from jason at gcc dot gnu dot org  2006-06-30 01:16 ---
Subject: Bug 21581

Author: jason
Date: Fri Jun 30 01:15:56 2006
New Revision: 115086

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115086
Log:
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* tree.c (build_decl_stat): Don't hande #pragma visibility here.
* c-common.c (c_determine_visibility): Handle it here.
* c-decl.c (finish_decl): Call c_determine_visibility for
functions, too.
* flags.h (enum symbol_visibility): Sort from most to least visibility.
* tree.h: Likewise.
* varasm.c (default_assemble_visibility): Likewise.
* c-common.c (handle_visibility_attribute): Complain about trying
to give visibility to an already defined class, or trying to change
declared visibility. Always attach the attribute.
* cp/decl2.c (determine_visibility): Overhaul.
(determine_visibility_from_class): Likewise.
(min_vis_r, type_visibility, constrain_visibility): New fns.
(constrain_visibility_for_template): Likewise.
(constrain_class_visibility): Likewise.
* cp/decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* cp/name-lookup.c (pushtag): Call determine_visibility.
* cp/decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* cp/pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* cp/class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* cp/parser.c (cp_parser_explicit_instantiation): Pass the attributes
to grokdeclarator.
(cp_parser_type_specifier): Allow 'enum __attribute ((...)) E'.
(cp_parser_enum_specifier): Likewise.
(cp_parser_elaborated_type_specifier): Apply attributes if this
declares only the class.
(cp_parser_class_specifier): Apply leading attributes immediately.
* cp/semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.

PR c++/21581
PR c++/25915
* cp/tree.c (decl_anon_ns_mem_p): New function.
* cp/cp-tree.h: Declare it.
* cp/decl2.c (determine_visibility): Make anonymous namespace
members static.
(min_vis_r, constrain_visibility): Likewise.
* cp/rtti.c (create_pseudo_type_info): Set TREE_PUBLIC on
pseudo-types.
* cp/decl.c (cxx_init_decl_processing): Set TREE_PUBLIC on
global_namespace.
* cp/name-lookup.c (push_namespace_with_attribs): Don't set TREE_PUBLIC
on anonymous namespaces.

Added:
trunk/gcc/testsuite/g++.dg/ext/visibility/anon2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/class1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/prop1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template3.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template4.C
trunk/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn3.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn4.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/attribs.c
trunk/gcc/c-common.c
trunk/gcc/c-decl.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/decl2.c
trunk/gcc/cp/name-lookup.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/rtti.c
trunk/gcc/cp/semantics.c
trunk/gcc/cp/tree.c
trunk/gcc/doc/extend.texi
trunk/gcc/doc/invoke.texi
trunk/gcc/flags.h
trunk/gcc/testsuite/g++.dg/ext/attrib14.C
trunk/gcc/testsuite/g++.dg/ext/attrib9.C
trunk/gcc/testsuite/g++.dg/ext/visibility/anon1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/assign1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/virtual.C
trunk/gcc/testsuite/g++.old-deja/g++.pt/enum5.C
trunk/gcc/tree.c
trunk/gcc/tree.h
trunk/gcc/varasm.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21581



[Bug c++/25915] use ODR rules to make C++ objects not be TREE_PUBLIC

2006-06-29 Thread jason at gcc dot gnu dot org


--- Comment #11 from jason at gcc dot gnu dot org  2006-06-30 01:16 ---
Subject: Bug 25915

Author: jason
Date: Fri Jun 30 01:15:56 2006
New Revision: 115086

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115086
Log:
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* tree.c (build_decl_stat): Don't hande #pragma visibility here.
* c-common.c (c_determine_visibility): Handle it here.
* c-decl.c (finish_decl): Call c_determine_visibility for
functions, too.
* flags.h (enum symbol_visibility): Sort from most to least visibility.
* tree.h: Likewise.
* varasm.c (default_assemble_visibility): Likewise.
* c-common.c (handle_visibility_attribute): Complain about trying
to give visibility to an already defined class, or trying to change
declared visibility. Always attach the attribute.
* cp/decl2.c (determine_visibility): Overhaul.
(determine_visibility_from_class): Likewise.
(min_vis_r, type_visibility, constrain_visibility): New fns.
(constrain_visibility_for_template): Likewise.
(constrain_class_visibility): Likewise.
* cp/decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* cp/name-lookup.c (pushtag): Call determine_visibility.
* cp/decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* cp/pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* cp/class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* cp/parser.c (cp_parser_explicit_instantiation): Pass the attributes
to grokdeclarator.
(cp_parser_type_specifier): Allow 'enum __attribute ((...)) E'.
(cp_parser_enum_specifier): Likewise.
(cp_parser_elaborated_type_specifier): Apply attributes if this
declares only the class.
(cp_parser_class_specifier): Apply leading attributes immediately.
* cp/semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.

PR c++/21581
PR c++/25915
* cp/tree.c (decl_anon_ns_mem_p): New function.
* cp/cp-tree.h: Declare it.
* cp/decl2.c (determine_visibility): Make anonymous namespace
members static.
(min_vis_r, constrain_visibility): Likewise.
* cp/rtti.c (create_pseudo_type_info): Set TREE_PUBLIC on
pseudo-types.
* cp/decl.c (cxx_init_decl_processing): Set TREE_PUBLIC on
global_namespace.
* cp/name-lookup.c (push_namespace_with_attribs): Don't set TREE_PUBLIC
on anonymous namespaces.

Added:
trunk/gcc/testsuite/g++.dg/ext/visibility/anon2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/class1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/prop1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template3.C
trunk/gcc/testsuite/g++.dg/ext/visibility/template4.C
trunk/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn3.C
trunk/gcc/testsuite/g++.dg/ext/visibility/warn4.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/attribs.c
trunk/gcc/c-common.c
trunk/gcc/c-decl.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/decl2.c
trunk/gcc/cp/name-lookup.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/rtti.c
trunk/gcc/cp/semantics.c
trunk/gcc/cp/tree.c
trunk/gcc/doc/extend.texi
trunk/gcc/doc/invoke.texi
trunk/gcc/flags.h
trunk/gcc/testsuite/g++.dg/ext/attrib14.C
trunk/gcc/testsuite/g++.dg/ext/attrib9.C
trunk/gcc/testsuite/g++.dg/ext/visibility/anon1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/assign1.C
trunk/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C
trunk/gcc/testsuite/g++.dg/ext/visibility/virtual.C
trunk/gcc/testsuite/g++.old-deja/g++.pt/enum5.C
trunk/gcc/tree.c
trunk/gcc/tree.h
trunk/gcc/varasm.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25915



[Bug c++/27424] [4.0/4.1 regression] Valid template-template-parameter rejected

2006-06-30 Thread jason at gcc dot gnu dot org


--- Comment #3 from jason at gcc dot gnu dot org  2006-06-30 14:26 ---
Subject: Bug 27424

Author: jason
Date: Fri Jun 30 14:26:01 2006
New Revision: 115088

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115088
Log:
PR c++/27424
* pt.c (convert_template_argument): Pass all template arguments
on to coerce_template_template_parms.

Added:
branches/gcc-4_1-branch/gcc/testsuite/g++.dg/template/ttp20.C
  - copied unchanged from r115063,
trunk/gcc/testsuite/g++.dg/template/ttp20.C
Modified:
branches/gcc-4_1-branch/gcc/cp/ChangeLog
branches/gcc-4_1-branch/gcc/cp/pt.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27424



[Bug c++/27768] [4.1 regression] wrong-code with vectors

2006-06-30 Thread jason at gcc dot gnu dot org


--- Comment #14 from jason at gcc dot gnu dot org  2006-06-30 15:19 ---
Subject: Bug 27768

Author: jason
Date: Fri Jun 30 15:19:50 2006
New Revision: 115090

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115090
Log:
PR c++/27768
* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add
may_aliases already in the tag's annotations to the bitmap.

Added:
branches/gcc-4_1-branch/gcc/testsuite/g++.dg/opt/alias4.C
  - copied unchanged from r115062, trunk/gcc/testsuite/g++.dg/opt/alias4.C
Modified:
branches/gcc-4_1-branch/gcc/ChangeLog
branches/gcc-4_1-branch/gcc/tree-ssa-alias.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27768



[Bug c++/18698] [4.0/4.1/4.2 regression] Error message using "using" for code not using "using" ;-)

2006-06-30 Thread jason at gcc dot gnu dot org


--- Comment #10 from jason at gcc dot gnu dot org  2006-06-30 18:27 ---
Subject: Bug 18698

Author: jason
Date: Fri Jun 30 18:27:18 2006
New Revision: 115095

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115095
Log:
PR c++/18698
* decl2.c (grokfield): Only try to treat the decl as an access
declaration if the scope is a class.

Added:
trunk/gcc/testsuite/g++.dg/parse/access10.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl2.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18698



[Bug c++/27424] [4.0 regression] Valid template-template-parameter rejected

2006-06-30 Thread jason at gcc dot gnu dot org


--- Comment #5 from jason at gcc dot gnu dot org  2006-06-30 18:30 ---
Subject: Bug 27424

Author: jason
Date: Fri Jun 30 18:30:28 2006
New Revision: 115096

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115096
Log:
PR c++/27424
* pt.c (convert_template_argument): Pass all template arguments
on to coerce_template_template_parms.

Added:
branches/gcc-4_0-branch/gcc/testsuite/g++.dg/template/ttp20.C
  - copied unchanged from r115063,
trunk/gcc/testsuite/g++.dg/template/ttp20.C
Modified:
branches/gcc-4_0-branch/gcc/cp/ChangeLog
branches/gcc-4_0-branch/gcc/cp/pt.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27424



[Bug middle-end/26577] [4.0/4.1/4.2 regression] ICE in cp_expr_size with volatile and call to static

2006-06-30 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-03-06 08:06:57 |2006-06-30 19:29:43
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26577



[Bug c++/18698] [4.0/4.1/4.2 regression] Error message using "using" for code not using "using" ;-)

2006-06-30 Thread jason at gcc dot gnu dot org


--- Comment #11 from jason at gcc dot gnu dot org  2006-06-30 19:46 ---
Subject: Bug 18698

Author: jason
Date: Fri Jun 30 19:45:54 2006
New Revision: 115102

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115102
Log:
PR c++/18698
* decl2.c (grokfield): Only try to treat the decl as an access
declaration if the scope is a class.

Added:
branches/gcc-4_0-branch/gcc/testsuite/g++.dg/parse/access10.C
  - copied unchanged from r115095,
trunk/gcc/testsuite/g++.dg/parse/access10.C
Modified:
branches/gcc-4_0-branch/gcc/cp/ChangeLog
branches/gcc-4_0-branch/gcc/cp/decl2.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18698



[Bug c++/18698] [4.0/4.1/4.2 regression] Error message using "using" for code not using "using" ;-)

2006-06-30 Thread jason at gcc dot gnu dot org


--- Comment #12 from jason at gcc dot gnu dot org  2006-06-30 19:47 ---
Subject: Bug 18698

Author: jason
Date: Fri Jun 30 19:47:09 2006
New Revision: 115103

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115103
Log:
PR c++/18698
* decl2.c (grokfield): Only try to treat the decl as an access
declaration if the scope is a class.

Added:
branches/gcc-4_1-branch/gcc/testsuite/g++.dg/parse/access10.C
  - copied unchanged from r115095,
trunk/gcc/testsuite/g++.dg/parse/access10.C
Modified:
branches/gcc-4_1-branch/gcc/cp/ChangeLog
branches/gcc-4_1-branch/gcc/cp/decl2.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18698



[Bug c++/26577] [4.0/4.1/4.2 regression] ICE in cp_expr_size with volatile and call to static

2006-06-30 Thread jason at gcc dot gnu dot org


--- Comment #9 from jason at gcc dot gnu dot org  2006-06-30 19:49 ---
Actually, this is a frontend issue: we shouldn't be asking for the access in
the first place.  Patch soon.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|middle-end  |c++


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26577



[Bug c++/26577] [4.0/4.1/4.2 regression] ICE in cp_expr_size with volatile and call to static

2006-06-30 Thread jason at gcc dot gnu dot org


--- Comment #10 from jason at gcc dot gnu dot org  2006-06-30 20:48 ---
Subject: Bug 26577

Author: jason
Date: Fri Jun 30 20:48:42 2006
New Revision: 115105

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115105
Log:
PR c++/26577
* call.c (build_new_method_call): Force evaluation of the
instance pointer, not the object.

Added:
trunk/gcc/testsuite/g++.dg/init/volatile1.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/call.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26577



[Bug c++/18681] [4.0/4.1/4.2 Regression] template friend declaration not recognized

2006-06-30 Thread jason at gcc dot gnu dot org


--- Comment #25 from jason at gcc dot gnu dot org  2006-06-30 21:13 ---
Fixing this is simplified by DR 45:
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#45

Under DR 45, S1 now has all the access of its enclosing class.  We should be
able to just implement that DR and this problem will go away.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18681



[Bug c++/26577] [4.0/4.1/4.2 regression] ICE in cp_expr_size with volatile and call to static

2006-06-30 Thread jason at gcc dot gnu dot org


--- Comment #11 from jason at gcc dot gnu dot org  2006-06-30 21:23 ---
Subject: Bug 26577

Author: jason
Date: Fri Jun 30 21:23:45 2006
New Revision: 115106

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115106
Log:
PR c++/26577
* call.c (build_new_method_call): Force evaluation of the
instance pointer, not the object.

Added:
branches/gcc-4_1-branch/gcc/testsuite/g++.dg/init/volatile1.C
  - copied unchanged from r115105,
trunk/gcc/testsuite/g++.dg/init/volatile1.C
Modified:
branches/gcc-4_1-branch/gcc/cp/ChangeLog
branches/gcc-4_1-branch/gcc/cp/call.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26577



[Bug c++/18681] [4.0/4.1/4.2 Regression] template friend declaration not recognized

2006-06-30 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2005-10-22 03:39:17 |2006-06-30 21:24:25
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18681



[Bug c++/26577] [4.0/4.1/4.2 regression] ICE in cp_expr_size with volatile and call to static

2006-06-30 Thread jason at gcc dot gnu dot org


--- Comment #12 from jason at gcc dot gnu dot org  2006-06-30 21:25 ---
Subject: Bug 26577

Author: jason
Date: Fri Jun 30 21:25:21 2006
New Revision: 115107

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115107
Log:
PR c++/26577
* call.c (build_new_method_call): Force evaluation of the
instance pointer, not the object.

Added:
branches/gcc-4_0-branch/gcc/testsuite/g++.dg/init/volatile1.C
  - copied unchanged from r115105,
trunk/gcc/testsuite/g++.dg/init/volatile1.C
Modified:
branches/gcc-4_0-branch/gcc/cp/ChangeLog
branches/gcc-4_0-branch/gcc/cp/call.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26577



[Bug c++/10591] PCH breaks anonymous namespaces

2006-06-30 Thread jason at gcc dot gnu dot org


--- Comment #24 from jason at gcc dot gnu dot org  2006-06-30 21:30 ---
Did my recent visibility patch fix this?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10591



[Bug c++/28215] [4.2 regression] Bootstrap failure on arm-eabi

2006-07-01 Thread jason at gcc dot gnu dot org


--- Comment #2 from jason at gcc dot gnu dot org  2006-07-01 22:01 ---
Subject: Bug 28215

Author: jason
Date: Sat Jul  1 22:01:18 2006
New Revision: 115118

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115118
Log:
PR c++/28215
* method.c (make_thunk): Unset DECL_USE_TEMPLATE and
DECL_TEMPLATE_INFO.

Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/method.c
trunk/gcc/cp/search.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28215



[Bug middle-end/20218] Can't use __attribute__ ((visibility ("hidden"))) to hide a symbol

2006-07-01 Thread jason at gcc dot gnu dot org


--- Comment #23 from jason at gcc dot gnu dot org  2006-07-02 04:30 ---
(In reply to comment #22)
> I still say if the definition was not marked as having a visibility, then the
> code is wrong as someone could mark stuff weirdly.

Yes, if someone's code marks a function as hidden in a translation unit where
it is only called, and not in the TU where it is defined, sounds to me like
their code is doing strange and probably broken things.  But that seems to be
what the ELF standard requires, and this bug report indicates that several
people seem to want the feature.

> Now does the other question (since I cannot remember when looking at the elf
> standard) is that the section about visibility being combined is that about
> linking or just creating a module.

The quotes in other comments make it pretty clear that it's about linking.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20218



[Bug c++/26577] [4.0/4.1/4.2 regression] ICE in cp_expr_size with volatile and call to static

2006-07-04 Thread jason at gcc dot gnu dot org


--- Comment #15 from jason at gcc dot gnu dot org  2006-07-05 00:46 ---
(In reply to comment #14)
> Marks's testcase from comment #6 still ICEs.

True, but it's a contrived testcase; I doubt anyone deliberately tries to force
a load of a non-POD object for its own sake.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26577



[Bug c++/24605] [4.0/4.1 Regression] internal compiler error: Segmentation fault while compiling c++ file

2006-07-05 Thread jason at gcc dot gnu dot org


--- Comment #18 from jason at gcc dot gnu dot org  2006-07-05 18:03 ---
Removing the 4.2 regression tag, since apparently it's fixed there.  I'm not
sure how this qualifies as a regression at all, since the bug was reported
against 3.4 and there's no report of it working better with a previous release.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.0/4.1/4.2 Regression]|[4.0/4.1 Regression]
   |internal compiler error:|internal compiler error:
   |Segmentation fault while|Segmentation fault while
   |compiling c++ file  |compiling c++ file


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24605



[Bug c++/26671] [4.0/4.1/4.2 Regression] Missing "warning: reference to local variable returned"

2006-07-05 Thread jason at gcc dot gnu dot org


--- Comment #3 from jason at gcc dot gnu dot org  2006-07-05 18:19 ---
added known to work in 3.3.6


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to work||3.3.6


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26671



[Bug c++/27397] [4.2 regression] ICE on invalid template argument

2006-07-05 Thread jason at gcc dot gnu dot org


--- Comment #3 from jason at gcc dot gnu dot org  2006-07-05 18:29 ---
Perhaps it doesn't ICE on the 4.1 branch only because release branches don't
have checking enabled?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27397



[Bug c++/18681] [4.0/4.1/4.2 Regression] [DR 45] template friend declaration not recognized

2006-07-05 Thread jason at gcc dot gnu dot org


--- Comment #26 from jason at gcc dot gnu dot org  2006-07-05 19:44 ---
Subject: Bug 18681

Author: jason
Date: Wed Jul  5 19:44:28 2006
New Revision: 115208

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115208
Log:
PR c++/18681
* friend.c (is_friend): Fix DR 45 implementation.

Added:
trunk/gcc/testsuite/g++.dg/lookup/friend10.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/friend.c
trunk/gcc/cp/search.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18681



[Bug c++/26670] attribute((packed)) sometimes not ignored for non-PODs

2006-07-05 Thread jason at gcc dot gnu dot org


--- Comment #5 from jason at gcc dot gnu dot org  2006-07-05 20:38 ---
This is intended behavior: a non-POD type which has been marked as packed can
be used as a packed field.  13983 and 17519 are bugs in that feature.

In this case, nonpod_pack::n is not packed, so it is safe to pack fields of
nonpod_pack type.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26670



[Bug c++/18681] [4.0/4.1/4.2 Regression] [DR 45] template friend declaration not recognized

2006-07-05 Thread jason at gcc dot gnu dot org


--- Comment #27 from jason at gcc dot gnu dot org  2006-07-05 20:40 ---
Subject: Bug 18681

Author: jason
Date: Wed Jul  5 20:40:06 2006
New Revision: 115209

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115209
Log:
PR c++/18681
* friend.c (is_friend): Fix DR 45 implementation.

Added:
branches/gcc-4_0-branch/gcc/testsuite/g++.dg/lookup/friend10.C
  - copied unchanged from r115208,
trunk/gcc/testsuite/g++.dg/lookup/friend10.C
Modified:
branches/gcc-4_0-branch/gcc/cp/ChangeLog
branches/gcc-4_0-branch/gcc/cp/friend.c
branches/gcc-4_0-branch/gcc/cp/search.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18681



[Bug c++/18681] [4.0/4.1/4.2 Regression] [DR 45] template friend declaration not recognized

2006-07-05 Thread jason at gcc dot gnu dot org


--- Comment #28 from jason at gcc dot gnu dot org  2006-07-05 20:40 ---
Subject: Bug 18681

Author: jason
Date: Wed Jul  5 20:40:49 2006
New Revision: 115210

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115210
Log:
PR c++/18681
* friend.c (is_friend): Fix DR 45 implementation.

Added:
branches/gcc-4_1-branch/gcc/testsuite/g++.dg/lookup/friend10.C
  - copied unchanged from r115208,
trunk/gcc/testsuite/g++.dg/lookup/friend10.C
Modified:
branches/gcc-4_1-branch/gcc/cp/ChangeLog
branches/gcc-4_1-branch/gcc/cp/friend.c
branches/gcc-4_1-branch/gcc/cp/search.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18681



[Bug c++/13983] no warning on some non-POD struct with packed attribute

2006-07-05 Thread jason at gcc dot gnu dot org


--- Comment #9 from jason at gcc dot gnu dot org  2006-07-06 02:09 ---
Subject: Bug 13983

Author: jason
Date: Thu Jul  6 02:09:02 2006
New Revision: 115217

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115217
Log:
PR c++/13983
PR c++/17519
* stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants.
* c-common.c (handle_packed_attribute): So don't copy it here.
* c-decl.c (finish_struct): Don't copy TYPE_ALIGN.
* cp/class.c (check_field_decls): Check TYPE_PACKED after
stripping array types.
(finish_struct_bits): Don't copy TYPE_SIZE here.

Added:
trunk/gcc/testsuite/g++.dg/ext/packed10.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-common.c
trunk/gcc/c-decl.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/stor-layout.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13983



[Bug c++/17519] [4.0/4.1/4.2 Regression] Warning for array of packed non-POD in packed struct

2006-07-05 Thread jason at gcc dot gnu dot org


--- Comment #15 from jason at gcc dot gnu dot org  2006-07-06 02:09 ---
Subject: Bug 17519

Author: jason
Date: Thu Jul  6 02:09:02 2006
New Revision: 115217

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115217
Log:
PR c++/13983
PR c++/17519
* stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants.
* c-common.c (handle_packed_attribute): So don't copy it here.
* c-decl.c (finish_struct): Don't copy TYPE_ALIGN.
* cp/class.c (check_field_decls): Check TYPE_PACKED after
stripping array types.
(finish_struct_bits): Don't copy TYPE_SIZE here.

Added:
trunk/gcc/testsuite/g++.dg/ext/packed10.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-common.c
trunk/gcc/c-decl.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/stor-layout.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17519



[Bug c++/18681] [4.0/4.1/4.2 Regression] [DR 45] template friend declaration not recognized

2006-07-05 Thread jason at gcc dot gnu dot org


--- Comment #29 from jason at gcc dot gnu dot org  2006-07-06 02:15 ---
feexd


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18681



[Bug c++/13983] no warning on some non-POD struct with packed attribute

2006-07-05 Thread jason at gcc dot gnu dot org


--- Comment #10 from jason at gcc dot gnu dot org  2006-07-06 02:21 ---
Subject: Bug 13983

Author: jason
Date: Thu Jul  6 02:21:17 2006
New Revision: 115219

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115219
Log:
PR c++/13983
PR c++/17519
* stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants.
* cp/class.c (check_field_decls): Check TYPE_PACKED after
stripping array types.

Added:
branches/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/packed10.C
  - copied unchanged from r115217,
trunk/gcc/testsuite/g++.dg/ext/packed10.C
Modified:
branches/gcc-4_1-branch/gcc/ChangeLog
branches/gcc-4_1-branch/gcc/cp/ChangeLog
branches/gcc-4_1-branch/gcc/cp/class.c
branches/gcc-4_1-branch/gcc/stor-layout.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13983



[Bug c++/17519] [4.0/4.1/4.2 Regression] Warning for array of packed non-POD in packed struct

2006-07-05 Thread jason at gcc dot gnu dot org


--- Comment #16 from jason at gcc dot gnu dot org  2006-07-06 02:21 ---
Subject: Bug 17519

Author: jason
Date: Thu Jul  6 02:21:17 2006
New Revision: 115219

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115219
Log:
PR c++/13983
PR c++/17519
* stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants.
* cp/class.c (check_field_decls): Check TYPE_PACKED after
stripping array types.

Added:
branches/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/packed10.C
  - copied unchanged from r115217,
trunk/gcc/testsuite/g++.dg/ext/packed10.C
Modified:
branches/gcc-4_1-branch/gcc/ChangeLog
branches/gcc-4_1-branch/gcc/cp/ChangeLog
branches/gcc-4_1-branch/gcc/cp/class.c
branches/gcc-4_1-branch/gcc/stor-layout.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17519



[Bug c++/17519] [4.0/4.1/4.2 Regression] Warning for array of packed non-POD in packed struct

2006-07-05 Thread jason at gcc dot gnu dot org


--- Comment #17 from jason at gcc dot gnu dot org  2006-07-06 03:33 ---
Subject: Bug 17519

Author: jason
Date: Thu Jul  6 03:33:20 2006
New Revision: 115220

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115220
Log:
PR c++/13983
PR c++/17519
* stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants.
* cp/class.c (check_field_decls): Check TYPE_PACKED after
stripping array types.

Added:
branches/gcc-4_0-branch/gcc/testsuite/g++.dg/ext/packed10.C
  - copied unchanged from r115219,
branches/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/packed10.C
Modified:
branches/gcc-4_0-branch/gcc/ChangeLog
branches/gcc-4_0-branch/gcc/cp/ChangeLog
branches/gcc-4_0-branch/gcc/cp/class.c
branches/gcc-4_0-branch/gcc/stor-layout.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17519



[Bug c++/13983] no warning on some non-POD struct with packed attribute

2006-07-05 Thread jason at gcc dot gnu dot org


--- Comment #11 from jason at gcc dot gnu dot org  2006-07-06 03:33 ---
Subject: Bug 13983

Author: jason
Date: Thu Jul  6 03:33:20 2006
New Revision: 115220

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115220
Log:
PR c++/13983
PR c++/17519
* stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants.
* cp/class.c (check_field_decls): Check TYPE_PACKED after
stripping array types.

Added:
branches/gcc-4_0-branch/gcc/testsuite/g++.dg/ext/packed10.C
  - copied unchanged from r115219,
branches/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/packed10.C
Modified:
branches/gcc-4_0-branch/gcc/ChangeLog
branches/gcc-4_0-branch/gcc/cp/ChangeLog
branches/gcc-4_0-branch/gcc/cp/class.c
branches/gcc-4_0-branch/gcc/stor-layout.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13983



[Bug c++/13983] no warning on some non-POD struct with packed attribute

2006-07-05 Thread jason at gcc dot gnu dot org


--- Comment #12 from jason at gcc dot gnu dot org  2006-07-06 03:44 ---
feexd


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13983



[Bug c++/17519] [4.0/4.1/4.2 Regression] Warning for array of packed non-POD in packed struct

2006-07-05 Thread jason at gcc dot gnu dot org


--- Comment #18 from jason at gcc dot gnu dot org  2006-07-06 03:45 ---
f1x0r'd


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17519



[Bug c++/26670] attribute((packed)) sometimes not ignored for non-PODs

2006-07-05 Thread jason at gcc dot gnu dot org


--- Comment #6 from jason at gcc dot gnu dot org  2006-07-06 03:48 ---
Hmm, actually comment #2 does seem like a bug, both foos should compile
cleanly.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|INVALID |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26670



[Bug c++/26670] attribute((packed)) sometimes not ignored for non-PODs

2006-07-05 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-07-06 03:52:12
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26670



[Bug c++/26905] default-visibility class symbol improperly resolved as hidden-visibility

2006-07-06 Thread jason at gcc dot gnu dot org


--- Comment #6 from jason at gcc dot gnu dot org  2006-07-06 15:21 ---
I'm afraid it's too large a patch to go into the FSF 4.0/1 branches, though Red
Hat will apply include it in our 4.1 branch.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26905



[Bug c++/28279] [4.2 Regression] ICE in finish_static_data_member_decl, at cp/decl2.c:716

2006-07-06 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-07-06 15:22:44
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28279



[Bug c++/28279] [4.2 Regression] ICE in finish_static_data_member_decl, at cp/decl2.c:716

2006-07-06 Thread jason at gcc dot gnu dot org


--- Comment #2 from jason at gcc dot gnu dot org  2006-07-06 18:39 ---
Subject: Bug 28279

Author: jason
Date: Thu Jul  6 18:39:39 2006
New Revision: 115228

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115228
Log:
PR c++/28279
* decl2.c (finish_static_data_member_decl): Don't assert
TREE_PUBLIC.

Added:
trunk/gcc/testsuite/g++.dg/template/anon2.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl2.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28279



[Bug c++/28217] [4.0/4.1/4.2 regression] ICE in tree_int_cst_sgn

2006-07-12 Thread jason at gcc dot gnu dot org


--- Comment #14 from jason at gcc dot gnu dot org  2006-07-12 21:58 ---
Subject: Bug 28217

Author: jason
Date: Wed Jul 12 21:57:58 2006
New Revision: 115399

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115399
Log:
PR c++/28217
* semantics.c (note_decl_for_pch): Don't premangle templates.

Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/semantics.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28217



[Bug c++/38007] [4.2/4.3/4.4 Regression] g++ instantiate same operator twice due to bitfield in -O0 mode, causing symbol already defined assembler error

2008-11-12 Thread jason at gcc dot gnu dot org


--- Comment #4 from jason at gcc dot gnu dot org  2008-11-12 20:52 ---
Subject: Bug 38007

Author: jason
Date: Wed Nov 12 20:50:45 2008
New Revision: 141800

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141800
Log:
PR c++/38007
gcc/cp/ 
* typeck.c (cp_build_modify_expr): Update bitfield handling.
gcc/
* c-common.c (c_common_signed_or_unsigned_type): Remove C++ 
special casing. 
gcc/testsuite/  
* g++.dg/conversion/bitfield10.C: New test. 
* g++.dg/warn/pr35635.C (func1): Accept additional warning. 
* g++.old-deja/g++.mike/enum1.C: Expect warn about assignment.  
* g++.dg/expr/bitfield9.C: Pass -Wno-overflow.  

Added:
trunk/gcc/testsuite/g++.dg/conversion/bitfield10.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-common.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/typeck.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/expr/bitfield9.C
trunk/gcc/testsuite/g++.dg/warn/pr35635.C
trunk/gcc/testsuite/g++.old-deja/g++.mike/enum1.C


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38007



[Bug c++/38007] [4.2/4.3 Regression] g++ instantiate same operator twice due to bitfield in -O0 mode, causing symbol already defined assembler error

2008-11-12 Thread jason at gcc dot gnu dot org


--- Comment #5 from jason at gcc dot gnu dot org  2008-11-12 22:09 ---
Subject: Bug 38007

Author: jason
Date: Wed Nov 12 22:08:01 2008
New Revision: 141808

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141808
Log:
PR c++/38007
gcc/cp/ 
* typeck.c (cp_build_modify_expr): Update bitfield handling.
gcc/
* c-common.c (c_common_signed_or_unsigned_type): Remove C++ 
special casing. 
gcc/testsuite/  
* g++.dg/conversion/bitfield10.C: New test. 
* g++.dg/warn/pr35635.C (func1): Accept additional warning. 
* g++.old-deja/g++.mike/enum1.C: Expect warn about assignment.  
* g++.dg/expr/bitfield9.C: Pass -Wno-overflow.  

Added:
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/conversion/bitfield10.C
  - copied unchanged from r141800,
trunk/gcc/testsuite/g++.dg/conversion/bitfield10.C
Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/c-common.c
branches/gcc-4_3-branch/gcc/cp/ChangeLog
branches/gcc-4_3-branch/gcc/cp/typeck.c
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/expr/bitfield9.C
branches/gcc-4_3-branch/gcc/testsuite/g++.old-deja/g++.mike/enum1.C


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38007



[Bug c++/38007] [4.2/4.3 Regression] g++ instantiate same operator twice due to bitfield in -O0 mode, causing symbol already defined assembler error

2008-11-12 Thread jason at gcc dot gnu dot org


--- Comment #6 from jason at gcc dot gnu dot org  2008-11-12 22:14 ---
Subject: Bug 38007

Author: jason
Date: Wed Nov 12 22:13:26 2008
New Revision: 141809

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141809
Log:
PR c++/38007
gcc/cp/ 
* typeck.c (cp_build_modify_expr): Update bitfield handling.
gcc/
* c-common.c (c_common_signed_or_unsigned_type): Remove C++ 
special casing. 
gcc/testsuite/  
* g++.dg/conversion/bitfield10.C: New test. 
* g++.dg/warn/pr35635.C (func1): Accept additional warning. 
* g++.old-deja/g++.mike/enum1.C: Expect warn about assignment.  
* g++.dg/expr/bitfield9.C: Pass -Wno-overflow.  

Added:
branches/gcc-4_2-branch/gcc/testsuite/g++.dg/conversion/bitfield10.C
  - copied unchanged from r141800,
trunk/gcc/testsuite/g++.dg/conversion/bitfield10.C
Modified:
branches/gcc-4_2-branch/gcc/ChangeLog
branches/gcc-4_2-branch/gcc/c-common.c
branches/gcc-4_2-branch/gcc/cp/ChangeLog
branches/gcc-4_2-branch/gcc/cp/typeck.c
branches/gcc-4_2-branch/gcc/testsuite/ChangeLog
branches/gcc-4_2-branch/gcc/testsuite/g++.dg/expr/bitfield9.C
branches/gcc-4_2-branch/gcc/testsuite/g++.old-deja/g++.mike/enum1.C


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38007



[Bug c++/38007] [4.2/4.3 Regression] g++ instantiate same operator twice due to bitfield in -O0 mode, causing symbol already defined assembler error

2008-11-12 Thread jason at gcc dot gnu dot org


--- Comment #7 from jason at gcc dot gnu dot org  2008-11-12 22:15 ---
Fixed on all open branches.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38007



[Bug c++/37962] [4.4 regression] ICE with (auto*) casts

2008-11-12 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-10-30 20:58:30 |2008-11-12 22:18:10
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37962



[Bug c++/37932] narrowing conversion with -std=c++0x

2008-11-12 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-11-12 22:53:34
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37932



[Bug c++/32687] Invalid code generation for reading signed negative bitfield value (g++ optimization)

2008-11-13 Thread jason at gcc dot gnu dot org


--- Comment #3 from jason at gcc dot gnu dot org  2008-11-14 00:21 ---
The 4.1 series is closed, so this is now fixed in all current release series.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32687



[Bug c++/37932] narrowing conversion with -std=c++0x

2008-11-13 Thread jason at gcc dot gnu dot org


--- Comment #4 from jason at gcc dot gnu dot org  2008-11-14 00:39 ---
Subject: Bug 37932

Author: jason
Date: Fri Nov 14 00:38:20 2008
New Revision: 141843

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141843
Log:
PR c++/37932
* typeck2.c (process_init_constructor_record): Update bitfield
handling.
(check_narrowing): Update bitfield handling, print source type.

Added:
trunk/gcc/testsuite/g++.dg/conversion/bitfield11.C
trunk/gcc/testsuite/g++.dg/cpp0x/initlist7.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/typeck2.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37932



[Bug c++/37932] narrowing conversion with -std=c++0x

2008-11-13 Thread jason at gcc dot gnu dot org


--- Comment #5 from jason at gcc dot gnu dot org  2008-11-14 04:17 ---
Subject: Bug 37932

Author: jason
Date: Fri Nov 14 04:16:07 2008
New Revision: 141844

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141844
Log:
PR c++/37932
* typeck2.c (process_init_constructor_record): Update bitfield
handling.
(check_narrowing): Update bitfield handling, print source type.

Added:
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/conversion/bitfield11.C
  - copied unchanged from r141843,
trunk/gcc/testsuite/g++.dg/conversion/bitfield11.C
Modified:
branches/gcc-4_3-branch/gcc/cp/ChangeLog
branches/gcc-4_3-branch/gcc/cp/typeck2.c
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37932



[Bug c++/37932] narrowing conversion with -std=c++0x

2008-11-13 Thread jason at gcc dot gnu dot org


--- Comment #6 from jason at gcc dot gnu dot org  2008-11-14 05:26 ---
Subject: Bug 37932

Author: jason
Date: Fri Nov 14 05:24:59 2008
New Revision: 141846

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141846
Log:
PR c++/37932
* typeck2.c (process_init_constructor_record): Update bitfield
handling.

Added:
branches/gcc-4_2-branch/gcc/testsuite/g++.dg/conversion/bitfield11.C
  - copied unchanged from r141845,
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/conversion/bitfield11.C
Modified:
branches/gcc-4_2-branch/gcc/cp/ChangeLog
branches/gcc-4_2-branch/gcc/cp/typeck2.c
branches/gcc-4_2-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37932



[Bug c++/37932] narrowing conversion with -std=c++0x

2008-11-14 Thread jason at gcc dot gnu dot org


--- Comment #7 from jason at gcc dot gnu dot org  2008-11-14 16:11 ---
The initialization of arr is ill-formed in C++0x because of narrowing from int
to char.

The initialization of s is well-formed; that bug has been fixed for 4.4.

The initialization of t is ill-formed in C++98 because of conversion from int
to enum; that bug has been fixed for 4.2, 4.3 and 4.4.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37932



[Bug c++/37740] [C++0x] "foo f{...}" form compiles, but "new foo{...}" one doesn't

2008-11-14 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-11-14 16:23:44
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37740



[Bug c++/35758] vector_size attribute lost in function arguments for templates

2008-11-14 Thread jason at gcc dot gnu dot org


--- Comment #22 from jason at gcc dot gnu dot org  2008-11-14 16:38 ---
Downgrading priority/severity since this is no longer a regression.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|blocker |normal
   Priority|P1  |P3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35758



[Bug c++/38030] [4.2/4.3/4.4 Regression] name-lookup for non-dependent name in template function is wrong

2008-11-14 Thread jason at gcc dot gnu dot org


--- Comment #5 from jason at gcc dot gnu dot org  2008-11-14 18:29 ---
G++ has never done two-phase name binding; that's an area that needs work for
standards conformance.  This testcase worked properly by accident in 3.4 and
4.0, because of an optimization which was disallowed under DR 164.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-11-06 11:51:12 |2008-11-14 18:29:59
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38030



[Bug c++/37740] [C++0x] "foo f{...}" form compiles, but "new foo{...}" one doesn't

2008-11-14 Thread jason at gcc dot gnu dot org


--- Comment #2 from jason at gcc dot gnu dot org  2008-11-14 20:52 ---
Subject: Bug 37740

Author: jason
Date: Fri Nov 14 20:50:59 2008
New Revision: 141865

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141865
Log:
PR c++/37740
* call.c (build_aggr_conv): Increment i.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/initlist8.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/call.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37740



[Bug c++/38030] [4.2/4.3/4.4 Regression] name-lookup for non-dependent name in template function is wrong

2008-11-14 Thread jason at gcc dot gnu dot org


--- Comment #6 from jason at gcc dot gnu dot org  2008-11-14 21:59 ---
Subject: Bug 38030

Author: jason
Date: Fri Nov 14 21:57:34 2008
New Revision: 141866

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141866
Log:
PR c++/38030
* semantics.c (finish_call_expr): Remember the result of
non-dependent overload resolution.

Added:
trunk/gcc/testsuite/g++.dg/template/lookup8.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38030



[Bug c++/38030] [4.2/4.3 Regression] name-lookup for non-dependent name in template function is wrong

2008-11-14 Thread jason at gcc dot gnu dot org


--- Comment #7 from jason at gcc dot gnu dot org  2008-11-14 22:02 ---
Subject: Bug 38030

Author: jason
Date: Fri Nov 14 22:01:12 2008
New Revision: 141868

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141868
Log:
PR c++/38030
* semantics.c (finish_call_expr): Don't repeat arg-dep lookup
for a non-dependent call.

Added:
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/template/lookup8.C
  - copied unchanged from r141866,
trunk/gcc/testsuite/g++.dg/template/lookup8.C
Modified:
branches/gcc-4_3-branch/gcc/cp/ChangeLog
branches/gcc-4_3-branch/gcc/cp/semantics.c
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38030



[Bug c++/37740] [C++0x] "foo f{...}" form compiles, but "new foo{...}" one doesn't

2008-11-14 Thread jason at gcc dot gnu dot org


--- Comment #3 from jason at gcc dot gnu dot org  2008-11-14 22:22 ---
Fixed.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37740



[Bug c++/38030] [4.2/4.3 Regression] name-lookup for non-dependent name in template function is wrong

2008-11-14 Thread jason at gcc dot gnu dot org


--- Comment #8 from jason at gcc dot gnu dot org  2008-11-14 23:07 ---
Subject: Bug 38030

Author: jason
Date: Fri Nov 14 23:06:11 2008
New Revision: 141872

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141872
Log:
PR c++/38030
* semantics.c (finish_call_expr): Don't repeat arg-dep lookup
for a non-dependent call.

Added:
branches/gcc-4_2-branch/gcc/testsuite/g++.dg/template/lookup8.C
  - copied unchanged from r141866,
trunk/gcc/testsuite/g++.dg/template/lookup8.C
Modified:
branches/gcc-4_2-branch/gcc/cp/ChangeLog
branches/gcc-4_2-branch/gcc/cp/semantics.c
branches/gcc-4_2-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38030



[Bug c++/38030] [4.2/4.3 Regression] name-lookup for non-dependent name in template function is wrong

2008-11-14 Thread jason at gcc dot gnu dot org


--- Comment #9 from jason at gcc dot gnu dot org  2008-11-14 23:16 ---
Fixed.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38030



[Bug libstdc++/37718] Demangling of variadic functions

2008-11-14 Thread jason at gcc dot gnu dot org


--- Comment #4 from jason at gcc dot gnu dot org  2008-11-14 23:18 ---
Fixed.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37718



[Bug c++/37962] [4.4 regression] ICE with (auto*) casts

2008-11-18 Thread jason at gcc dot gnu dot org


--- Comment #8 from jason at gcc dot gnu dot org  2008-11-18 18:12 ---
Subject: Bug 37962

Author: jason
Date: Tue Nov 18 18:11:32 2008
New Revision: 141970

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141970
Log:
PR c++/37962
cp/
* parser.c (cp_parser_type_id): Complain about auto.
* decl.c (grokdeclarator): Complain about parameters and
conversion functions declared with auto.
* call.c (standard_conversion): Use CLASS_TYPE_P instead of
MAYBE_CLASS_TYPE_P.
* cp-tree.h (TYPE_NON_AGGREGATE_CLASS): Likewise.
testsuite/
* g++.dg/cpp0x/auto[38].C: Adjust expected errors.
* g++.dg/cpp0x/auto9.C: New test.
* g++.dg/cpp0x/auto10.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/auto10.C
trunk/gcc/testsuite/g++.dg/cpp0x/auto9.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/call.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/cpp0x/auto3.C
trunk/gcc/testsuite/g++.dg/cpp0x/auto8.C


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37962



[Bug c++/37962] [4.4 regression] ICE with (auto*) casts

2008-11-18 Thread jason at gcc dot gnu dot org


--- Comment #9 from jason at gcc dot gnu dot org  2008-11-18 18:14 ---
Fixed.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37962



[Bug libstdc++/25191] exception_defines.h #defines try/catch

2008-11-18 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-06-02 11:48:51 |2008-11-18 18:45:35
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25191



[Bug c++/15745] exception specification incorrectly changes the type of the exception thrown

2008-11-18 Thread jason at gcc dot gnu dot org


--- Comment #6 from jason at gcc dot gnu dot org  2008-11-18 18:50 ---
Fixed.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15745



[Bug c++/37256] [4.4 Regression] extern template / explicit instantiation broken in 4.4.0-pre

2008-11-18 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-08-27 19:36:05 |2008-11-19 00:10:15
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37256



[Bug c++/37563] [4.3/4.4 regression] Trouble calling qualified member function

2008-11-18 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-09-20 14:51:40 |2008-11-19 00:21:37
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37563



[Bug c++/36410] [4.2/4.3/4.4 Regression] ICE with transparent union

2008-11-18 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|WAITING |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-11-19 00:24:27
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36410



[Bug c++/37256] [4.4 Regression] extern template / explicit instantiation broken in 4.4.0-pre

2008-11-19 Thread jason at gcc dot gnu dot org


--- Comment #8 from jason at gcc dot gnu dot org  2008-11-19 19:29 ---
Subject: Bug 37256

Author: jason
Date: Wed Nov 19 19:27:29 2008
New Revision: 142014

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=142014
Log:
PR c++/37256
* pt.c (instantiate_decl): Don't require a definition of
a template that is explicitly instantiated 'extern'.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/extern_template-3.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37256



  1   2   3   4   5   6   7   8   9   10   >