[Bug c++/21308] [4.0 Regression] Very high compile time

2006-08-28 Thread laurent dot deniau at cern dot ch


--- Comment #17 from laurent dot deniau at cern dot ch  2006-08-28 07:42 
---
Subject: Re:  [4.0 Regression] Very high compile time

echristo at apple dot com wrote:
> --- Comment #16 from echristo at apple dot com  2006-08-26 00:10 ---
> Should this be closed as "unlikely to fix in 4.0"?

No idea. I am not the poster of this bug report.

Regards,

Laurent.


-- 


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



[Bug c/27184] [4.0/4.1 Regression] Wrong code with pointers to arrays and types and strict aliasing

2006-08-28 Thread christian dot joensson at gmail dot com


--- Comment #12 from christian dot joensson at gmail dot com  2006-08-28 
08:12 ---
(In reply to comment #11)
> Fixed on the mainline, will apply to the branches after a week or so.
> 

So, how's this going for 4.1?


-- 

christian dot joensson at gmail dot com changed:

   What|Removed |Added

 CC||christian dot joensson at
   ||gmail dot com


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



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

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


--- Comment #7 from jason at gcc dot gnu dot org  2006-08-28 08:31 ---
Or perhaps we should ignore the __attribute__ ((packed)) on nonpod_pack, since
one of its fields isn't safe to pack.  Yes, that seems like the right way to
handle this testcase.


-- 


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



[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-28 Thread rguenth at gcc dot gnu dot org


--- Comment #29 from rguenth at gcc dot gnu dot org  2006-08-28 08:42 
---
I completely agree with Dan's analysis.  Note that for the patch in comment #20
we can hoist the loop adding all addressable vars to the call clobbering list
out of the loop iterating over all analyzed pointers by only remembering if one
had pt_anything set.

My preferred solution would be to develop the correct fix for 4.3 and
eventually allow backporting that to the release branch(es) and not hold the
release of 4.2 for this bug.  In fact, the usual try of adding
"-fno-strict-aliasing" if one faces a subtle bug will fix it, so it's not
harder to detect than a strict aliasing violation by the user.


-- 


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



[Bug java/28869] New: gcc-4.1.1 fails to build with java language on Solaris 2.8

2006-08-28 Thread bob at digilink dot net
When building gcc-4.1.1 with the following configuration:

../gcc-4.1.1/configure   --prefix=/opt --with-local-prefix=/opt/include
--with-cpu=ultrasparc --enable-languages=c,c++,java

The build fails to build libjava with the following error:

Adding multilib support to Makefile in /lhome/gcc/gcc-4.1.1/libjava
with_multisubdir=sparcv9
configure: configuring in classpath
configure: running /bin/sh '/lhome/gcc/gcc-4.1.1/libjava/classpath/configure'
--prefix=/opt  '--with-multisubdir=sparcv9' '--with-multisrctop='
'--cache-file=./config.cache' '--build=sparc-sun-solaris2.8'
'--host=sparc-sun-solaris2.8' '--target=sparc-sun-solaris2.8'
'--enable-multilib' '--prefix=/opt' '--with-local-prefix=/opt/include'
'--with-cpu=ultrasparc' '--enable-languages=c,c++,java'
'--program-transform-name=s,y,y,' '--with-target-subdir=sparc-sun-solaris2.8'
'--srcdir=/lhome/gcc/gcc-4.1.1/libjava' 'CPPFLAGS='
'build_alias=sparc-sun-solaris2.8' 'host_alias=sparc-sun-solaris2.8'
'target_alias=sparc-sun-solaris2.8' '--disable-load-library' '--disable-debug'
'--enable-default-toolkit='
'--with-vm-classes=/lhome/gcc/gcc-4.1.1/libjava:/lhome/gcc/SunOS-5.8.sun4u/sparc-sun-solaris2.8/libjava'
'--disable-core-jni' '--disable-examples' '--with-glibj=build'
'--disable-gtk-peer' '--disable-qt-peer' '--enable-ltdl-convenience'
'--with-auxdir=/lhome/gcc/gcc-4.1.1' '-srcdir=/lhome/gcc/gcc-4.1.1/libjava'
--disable-load-library --disable-debug --enable-default-toolkit=
--with-vm-classes=/lhome/gcc/gcc-4.1.1/libjava:/lhome/gcc/SunOS-5.8.sun4u/sparc-sun-solaris2.8/sparcv9/libjava
--disable-core-jni --disable-examples --with-glibj=build --disable-gtk-peer
--disable-qt-peer --with-auxdir=/lhome/gcc/gcc-4.1.1
--cache-file=.././config.cache --srcdir=/lhome/gcc/gcc-4.1.1/libjava/classpath
/lhome/gcc/gcc-4.1.1/libjava/classpath/configure: syntax error at line 11740:
`QT_INCLUDE_DIR=$' unexpected
configure: error: /bin/sh '/lhome/gcc/gcc-4.1.1/libjava/classpath/configure'
failed for classpath
make[1]: *** [configure-target-libjava] Error 1
make[1]: Leaving directory `/lhome/gcc/SunOS-5.8.sun4u'
make: *** [all] Error 2

I have had no trouble building for just C and C++


-- 
   Summary: gcc-4.1.1 fails to build with java language on Solaris
2.8
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bob at digilink dot net
 GCC build triplet: sparc-sun-solaris2.8-gcc
  GCC host triplet: sparc-sun-solaris2.8-gcc
GCC target triplet: sparc-sun-solaris2.8-gcc


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



[Bug libstdc++/28671] [4.2 regression] undefined reference to `__sync_fetch_and_add_4'

2006-08-28 Thread bkoz at gcc dot gnu dot org


--- Comment #13 from bkoz at gcc dot gnu dot org  2006-08-28 09:49 ---

Just a note. 

The current behavior is as intended, although perhaps not documented. I'll be
fixing that later today.

Here's a message from last month detailing in advance this exact bug report:
http://gcc.gnu.org/ml/libstdc++/2006-07/msg00084.html

What this means is that people building gcc with -march flags then need to
consistently pass those same flags around when using the compiler. Yes, this is
a pain. We're working on a better way to do this.

The real issue is: "code independent from the atomicity model." The only way to
have this is to not inline the atomic helper functions in atomicity.h. I am
willing to revert that part of my July atomics config change. 

Although I would prefer not to. 

-benjamin


-- 


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



[Bug libstdc++/28671] [4.2 regression] undefined reference to `__sync_fetch_and_add_4'

2006-08-28 Thread pcarlini at suse dot de


--- Comment #14 from pcarlini at suse dot de  2006-08-28 09:58 ---
(In reply to comment #13)

> The real issue is: "code independent from the atomicity model." The only way
> to have this is to not inline the atomic helper functions in atomicity.h. I am
> willing to revert that part of my July atomics config change. 
> 
> Although I would prefer not to. 

Unfortunately, for targets like ?386 and Sparc I'm afraid it's the only option,
at the moment. For ia64, powerpc, s390, etc, etc, when the atomic functions are
always available, irrespective of the subtarget, that's fine of course. I thinh
we can leave with that, frankly: for strings we are moving away from reference
counting anyway; when running single-thread now we don't call the atomic
functions; finally, for things like shared_ptr we can have the fine-grained
preprocessor builtin and everything is nice.


-- 


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



[Bug libstdc++/28671] [4.2 regression] undefined reference to `__sync_fetch_and_add_4'

2006-08-28 Thread pcarlini at suse dot de


--- Comment #15 from pcarlini at suse dot de  2006-08-28 10:02 ---
(In reply to comment #14)

Sorry about my crazy english today, I'm concentrated on something else...

> Unfortunately, for targets like ?386 and Sparc I'm afraid it's the only 
> option, at the moment. For ia64, powerpc, s390, etc, etc, when the atomic 
> functions are always available, irrespective of the subtarget, that's fine
> of course.

Here of course I meant: "everything is fine, of course".

> I think we can leave with that, frankly:

... and here I meant: "live with that".


-- 


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



[Bug fortran/28788] [gfortran: 4.1, 4.2 regression] ICE on valid code

2006-08-28 Thread paul dot richard dot thomas at cea dot fr


--- Comment #15 from paul dot richard dot thomas at cea dot fr  2006-08-28 
11:56 ---
Created an attachment (id=12146)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12146&action=view)
Fix and two test cases for the latest regressions

I post this now, as a prelude to submitting the patch in the next 24 hours. 
Before doing so, I want to check that all the derived type symbols get cleaned
up and to try a last ditch attemt to identify the references that cause these
regressions.

The patch regtests on Cygwin_NT/PIV and Martin Reinecke confirms that it
compiles his "real-life" code correctly.

Paul


-- 


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



[Bug c++/21764] visibility attributes on namespace scope

2006-08-28 Thread jakub at gcc dot gnu dot org


--- Comment #13 from jakub at gcc dot gnu dot org  2006-08-28 12:22 ---
Subject: Bug 21764

Author: jakub
Date: Mon Aug 28 12:22:14 2006
New Revision: 116504

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116504
Log:
2006-03-20  Jason Merrill  <[EMAIL PROTECTED]>

PR c++/21764
* c-pragma.c (visstack): Move out of handle_pragma_visibility.
(push_visibility, pop_visibility): Likewise.
* c-pragma.h: Declare them.
cp/
PR c++/21764, c++/19238
* decl.c (cp_finish_decl): Call determine_visibility later.
(start_preparsed_function): Likewise.
* cp-tree.h (CP_TYPE_CONTEXT, TYPE_NAMESPACE_SCOPE_P): New macros.
(TYPE_CLASS_SCOPE_P, TYPE_FUNCTION_SCOPE_P): New macros.
* name-lookup.h (struct cp_binding_level): Add has_visibility 
bitfield.
* name-lookup.c: Include c-pragma.h.
(push_namespace_with_attribs): Split out from push_namespace.
Push visibility if appropriate.  Set TREE_PUBLIC on namespaces.
(leave_scope): Pop visibility if appropriate.
* decl2.c (determine_visibility_from_class): Split out from...
(determine_visibility): ...here.  Handle function scope and 
nested classes.
(import_export_decl): Move visibility handling to 
determine_visibility_from_class.
* parser.c (cp_parser_declaration, cp_parser_namespace_name): Allow
attributes on namespace declarations.

Added:
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/local1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/namespace1.C
Modified:
branches/redhat/gcc-4_1-branch/gcc/ChangeLog
branches/redhat/gcc-4_1-branch/gcc/c-pragma.c
branches/redhat/gcc-4_1-branch/gcc/c-pragma.h
branches/redhat/gcc-4_1-branch/gcc/cp/ChangeLog
branches/redhat/gcc-4_1-branch/gcc/cp/cp-tree.h
branches/redhat/gcc-4_1-branch/gcc/cp/decl.c
branches/redhat/gcc-4_1-branch/gcc/cp/decl2.c
branches/redhat/gcc-4_1-branch/gcc/cp/name-lookup.c
branches/redhat/gcc-4_1-branch/gcc/cp/name-lookup.h
branches/redhat/gcc-4_1-branch/gcc/cp/parser.c


-- 


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



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

2006-08-28 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2006-08-28 12:27 ---
Subject: Bug 28279

Author: jakub
Date: Mon Aug 28 12:26:41 2006
New Revision: 116505

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116505
Log:
2006-07-06  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28279
* decl2.c (finish_static_data_member_decl): Don't assert
TREE_PUBLIC.

2006-07-01  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28215
* method.c (make_thunk): Unset DECL_USE_TEMPLATE and 
DECL_TEMPLATE_INFO.

2006-06-30  Jason Merrill  <[EMAIL PROTECTED]>

objcp/
* objcp-decl.c (objcp_start_struct): Pass null attributes argument
to begin_class_definition.

2006-06-29  Jason Merrill  <[EMAIL PROTECTED]>

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.

PR c++/26905
PR c++/21675
PR c++/17470
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.
cp/
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* 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.
* decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* name-lookup.c (pushtag): Call determine_visibility.
* decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* 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.
* semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.

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

Added:
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/class1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/prop1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template2.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template3.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template4.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn3.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn4.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/template/anon2.C
Modified:
branches/redhat/gcc-4_1-branch/gcc/ChangeLog
branches/redhat/gcc-4_1-branch/gcc/attribs.c
branches/redhat/gcc-4_1-branch/gcc/c-common.c
br

[Bug c++/26612] visibility and ODR

2006-08-28 Thread jakub at gcc dot gnu dot org


--- Comment #6 from jakub at gcc dot gnu dot org  2006-08-28 12:27 ---
Subject: Bug 26612

Author: jakub
Date: Mon Aug 28 12:26:41 2006
New Revision: 116505

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116505
Log:
2006-07-06  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28279
* decl2.c (finish_static_data_member_decl): Don't assert
TREE_PUBLIC.

2006-07-01  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28215
* method.c (make_thunk): Unset DECL_USE_TEMPLATE and 
DECL_TEMPLATE_INFO.

2006-06-30  Jason Merrill  <[EMAIL PROTECTED]>

objcp/
* objcp-decl.c (objcp_start_struct): Pass null attributes argument
to begin_class_definition.

2006-06-29  Jason Merrill  <[EMAIL PROTECTED]>

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.

PR c++/26905
PR c++/21675
PR c++/17470
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.
cp/
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* 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.
* decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* name-lookup.c (pushtag): Call determine_visibility.
* decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* 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.
* semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.

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

Added:
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/class1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/prop1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template2.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template3.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template4.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn3.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn4.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/template/anon2.C
Modified:
branches/redhat/gcc-4_1-branch/gcc/ChangeLog
branches/redhat/gcc-4_1-branch/gcc/attribs.c
branches/redhat/gcc-4_1-branch/gcc/c-common.c
br

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

2006-08-28 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2006-08-28 12:27 ---
Subject: Bug 28215

Author: jakub
Date: Mon Aug 28 12:26:41 2006
New Revision: 116505

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116505
Log:
2006-07-06  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28279
* decl2.c (finish_static_data_member_decl): Don't assert
TREE_PUBLIC.

2006-07-01  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28215
* method.c (make_thunk): Unset DECL_USE_TEMPLATE and 
DECL_TEMPLATE_INFO.

2006-06-30  Jason Merrill  <[EMAIL PROTECTED]>

objcp/
* objcp-decl.c (objcp_start_struct): Pass null attributes argument
to begin_class_definition.

2006-06-29  Jason Merrill  <[EMAIL PROTECTED]>

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.

PR c++/26905
PR c++/21675
PR c++/17470
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.
cp/
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* 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.
* decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* name-lookup.c (pushtag): Call determine_visibility.
* decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* 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.
* semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.

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

Added:
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/class1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/prop1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template2.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template3.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template4.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn3.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn4.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/template/anon2.C
Modified:
branches/redhat/gcc-4_1-branch/gcc/ChangeLog
branches/redhat/gcc-4_1-branch/gcc/attribs.c
branches/redhat/gcc-4_1-branch/gcc/c-common.c
br

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

2006-08-28 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2006-08-28 12:27 ---
Subject: Bug 19134

Author: jakub
Date: Mon Aug 28 12:26:41 2006
New Revision: 116505

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116505
Log:
2006-07-06  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28279
* decl2.c (finish_static_data_member_decl): Don't assert
TREE_PUBLIC.

2006-07-01  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28215
* method.c (make_thunk): Unset DECL_USE_TEMPLATE and 
DECL_TEMPLATE_INFO.

2006-06-30  Jason Merrill  <[EMAIL PROTECTED]>

objcp/
* objcp-decl.c (objcp_start_struct): Pass null attributes argument
to begin_class_definition.

2006-06-29  Jason Merrill  <[EMAIL PROTECTED]>

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.

PR c++/26905
PR c++/21675
PR c++/17470
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.
cp/
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* 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.
* decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* name-lookup.c (pushtag): Call determine_visibility.
* decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* 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.
* semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.

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

Added:
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/class1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/prop1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template2.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template3.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template4.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn3.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn4.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/template/anon2.C
Modified:
branches/redhat/gcc-4_1-branch/gcc/ChangeLog
branches/redhat/gcc-4_1-branch/gcc/attribs.c
branches/redhat/gcc-4_1-branch/gcc/c-common.c
br

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

2006-08-28 Thread jakub at gcc dot gnu dot org


--- Comment #7 from jakub at gcc dot gnu dot org  2006-08-28 12:27 ---
Subject: Bug 26905

Author: jakub
Date: Mon Aug 28 12:26:41 2006
New Revision: 116505

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116505
Log:
2006-07-06  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28279
* decl2.c (finish_static_data_member_decl): Don't assert
TREE_PUBLIC.

2006-07-01  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28215
* method.c (make_thunk): Unset DECL_USE_TEMPLATE and 
DECL_TEMPLATE_INFO.

2006-06-30  Jason Merrill  <[EMAIL PROTECTED]>

objcp/
* objcp-decl.c (objcp_start_struct): Pass null attributes argument
to begin_class_definition.

2006-06-29  Jason Merrill  <[EMAIL PROTECTED]>

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.

PR c++/26905
PR c++/21675
PR c++/17470
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.
cp/
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* 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.
* decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* name-lookup.c (pushtag): Call determine_visibility.
* decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* 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.
* semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.

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

Added:
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/class1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/prop1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template2.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template3.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template4.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn3.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn4.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/template/anon2.C
Modified:
branches/redhat/gcc-4_1-branch/gcc/ChangeLog
branches/redhat/gcc-4_1-branch/gcc/attribs.c
branches/redhat/gcc-4_1-branch/gcc/c-common.c
br

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

2006-08-28 Thread jakub at gcc dot gnu dot org


--- Comment #7 from jakub at gcc dot gnu dot org  2006-08-28 12:27 ---
Subject: Bug 26984

Author: jakub
Date: Mon Aug 28 12:26:41 2006
New Revision: 116505

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116505
Log:
2006-07-06  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28279
* decl2.c (finish_static_data_member_decl): Don't assert
TREE_PUBLIC.

2006-07-01  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28215
* method.c (make_thunk): Unset DECL_USE_TEMPLATE and 
DECL_TEMPLATE_INFO.

2006-06-30  Jason Merrill  <[EMAIL PROTECTED]>

objcp/
* objcp-decl.c (objcp_start_struct): Pass null attributes argument
to begin_class_definition.

2006-06-29  Jason Merrill  <[EMAIL PROTECTED]>

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.

PR c++/26905
PR c++/21675
PR c++/17470
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.
cp/
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* 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.
* decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* name-lookup.c (pushtag): Call determine_visibility.
* decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* 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.
* semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.

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

Added:
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/class1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/prop1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template2.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template3.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template4.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn3.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn4.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/template/anon2.C
Modified:
branches/redhat/gcc-4_1-branch/gcc/ChangeLog
branches/redhat/gcc-4_1-branch/gcc/attribs.c
branches/redhat/gcc-4_1-branch/gcc/c-common.c
br

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

2006-08-28 Thread jakub at gcc dot gnu dot org


--- Comment #11 from jakub at gcc dot gnu dot org  2006-08-28 12:27 ---
Subject: Bug 27000

Author: jakub
Date: Mon Aug 28 12:26:41 2006
New Revision: 116505

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116505
Log:
2006-07-06  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28279
* decl2.c (finish_static_data_member_decl): Don't assert
TREE_PUBLIC.

2006-07-01  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28215
* method.c (make_thunk): Unset DECL_USE_TEMPLATE and 
DECL_TEMPLATE_INFO.

2006-06-30  Jason Merrill  <[EMAIL PROTECTED]>

objcp/
* objcp-decl.c (objcp_start_struct): Pass null attributes argument
to begin_class_definition.

2006-06-29  Jason Merrill  <[EMAIL PROTECTED]>

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.

PR c++/26905
PR c++/21675
PR c++/17470
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.
cp/
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* 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.
* decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* name-lookup.c (pushtag): Call determine_visibility.
* decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* 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.
* semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.

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

Added:
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/class1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/prop1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template2.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template3.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template4.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn3.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn4.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/template/anon2.C
Modified:
branches/redhat/gcc-4_1-branch/gcc/ChangeLog
branches/redhat/gcc-4_1-branch/gcc/attribs.c
branches/redhat/gcc-4_1-branch/gcc/c-common.c
b

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

2006-08-28 Thread jakub at gcc dot gnu dot org


--- Comment #11 from jakub at gcc dot gnu dot org  2006-08-28 12:27 ---
Subject: Bug 17470

Author: jakub
Date: Mon Aug 28 12:26:41 2006
New Revision: 116505

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116505
Log:
2006-07-06  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28279
* decl2.c (finish_static_data_member_decl): Don't assert
TREE_PUBLIC.

2006-07-01  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28215
* method.c (make_thunk): Unset DECL_USE_TEMPLATE and 
DECL_TEMPLATE_INFO.

2006-06-30  Jason Merrill  <[EMAIL PROTECTED]>

objcp/
* objcp-decl.c (objcp_start_struct): Pass null attributes argument
to begin_class_definition.

2006-06-29  Jason Merrill  <[EMAIL PROTECTED]>

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.

PR c++/26905
PR c++/21675
PR c++/17470
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.
cp/
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* 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.
* decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* name-lookup.c (pushtag): Call determine_visibility.
* decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* 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.
* semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.

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

Added:
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/class1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/prop1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template2.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template3.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template4.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn3.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn4.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/template/anon2.C
Modified:
branches/redhat/gcc-4_1-branch/gcc/ChangeLog
branches/redhat/gcc-4_1-branch/gcc/attribs.c
branches/redhat/gcc-4_1-branch/gcc/c-common.c
b

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

2006-08-28 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2006-08-28 12:27 ---
Subject: Bug 21675

Author: jakub
Date: Mon Aug 28 12:26:41 2006
New Revision: 116505

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116505
Log:
2006-07-06  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28279
* decl2.c (finish_static_data_member_decl): Don't assert
TREE_PUBLIC.

2006-07-01  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28215
* method.c (make_thunk): Unset DECL_USE_TEMPLATE and 
DECL_TEMPLATE_INFO.

2006-06-30  Jason Merrill  <[EMAIL PROTECTED]>

objcp/
* objcp-decl.c (objcp_start_struct): Pass null attributes argument
to begin_class_definition.

2006-06-29  Jason Merrill  <[EMAIL PROTECTED]>

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.

PR c++/26905
PR c++/21675
PR c++/17470
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.
cp/
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* 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.
* decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* name-lookup.c (pushtag): Call determine_visibility.
* decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* 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.
* semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.

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

Added:
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/class1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/prop1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template2.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template3.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template4.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn3.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn4.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/template/anon2.C
Modified:
branches/redhat/gcc-4_1-branch/gcc/ChangeLog
branches/redhat/gcc-4_1-branch/gcc/attribs.c
branches/redhat/gcc-4_1-branch/gcc/c-common.c
br

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

2006-08-28 Thread jakub at gcc dot gnu dot org


--- Comment #19 from jakub at gcc dot gnu dot org  2006-08-28 12:27 ---
Subject: Bug 21581

Author: jakub
Date: Mon Aug 28 12:26:41 2006
New Revision: 116505

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116505
Log:
2006-07-06  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28279
* decl2.c (finish_static_data_member_decl): Don't assert
TREE_PUBLIC.

2006-07-01  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28215
* method.c (make_thunk): Unset DECL_USE_TEMPLATE and 
DECL_TEMPLATE_INFO.

2006-06-30  Jason Merrill  <[EMAIL PROTECTED]>

objcp/
* objcp-decl.c (objcp_start_struct): Pass null attributes argument
to begin_class_definition.

2006-06-29  Jason Merrill  <[EMAIL PROTECTED]>

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.

PR c++/26905
PR c++/21675
PR c++/17470
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.
cp/
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* 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.
* decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* name-lookup.c (pushtag): Call determine_visibility.
* decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* 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.
* semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.

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

Added:
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/class1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/prop1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template2.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template3.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template4.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn3.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn4.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/template/anon2.C
Modified:
branches/redhat/gcc-4_1-branch/gcc/ChangeLog
branches/redhat/gcc-4_1-branch/gcc/attribs.c
branches/redhat/gcc-4_1-branch/gcc/c-common.c
b

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

2006-08-28 Thread jakub at gcc dot gnu dot org


--- Comment #13 from jakub at gcc dot gnu dot org  2006-08-28 12:27 ---
Subject: Bug 25915

Author: jakub
Date: Mon Aug 28 12:26:41 2006
New Revision: 116505

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116505
Log:
2006-07-06  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28279
* decl2.c (finish_static_data_member_decl): Don't assert
TREE_PUBLIC.

2006-07-01  Jason Merrill  <[EMAIL PROTECTED]>

cp/
PR c++/28215
* method.c (make_thunk): Unset DECL_USE_TEMPLATE and 
DECL_TEMPLATE_INFO.

2006-06-30  Jason Merrill  <[EMAIL PROTECTED]>

objcp/
* objcp-decl.c (objcp_start_struct): Pass null attributes argument
to begin_class_definition.

2006-06-29  Jason Merrill  <[EMAIL PROTECTED]>

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.

PR c++/26905
PR c++/21675
PR c++/17470
* attribs.c (decl_attributes): Ignore type-in-place attributes
once the type has been defined.
cp/
PR c++/26905
PR c++/26612
PR c++/27000
PR c++/26984
PR c++/19134
* 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.
* decl.c (cp_finish_decl): Call determine_visibility for function
decls, too.
* name-lookup.c (pushtag): Call determine_visibility.
* decl.c (duplicate_decls): Don't copy visibility from template to
specialization.
* pt.c (check_explicit_specialization): Likewise.
(lookup_template_class, tsubst_decl): Call determine_visibility.
* class.c (finish_struct_1): Call constrain_class_visibility.

PR c++/26905
PR c++/21675
PR c++/17470
* 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.
* semantics.c (begin_class_definition): Add attributes parameter,
apply them to the type.

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

Added:
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/anon2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/class1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/prop1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/redecl1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template1.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template2.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template3.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template4.C
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn1.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn3.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn4.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/template/anon2.C
Modified:
branches/redhat/gcc-4_1-branch/gcc/ChangeLog
branches/redhat/gcc-4_1-branch/gcc/attribs.c
branches/redhat/gcc-4_1-branch/gcc/c-common.c
b

[Bug testsuite/28870] New: configuring, over-riding timeout values in testsuite

2006-08-28 Thread bkoz at gcc dot gnu dot org
This change:
http://gcc.gnu.org/ml/gcc-patches/2006-06/msg01487.html

Has caused problems with people who set a custom timeout value in .exp files.

Examples include:
http://gcc.gnu.org/ml/gcc/2006-08/msg00371.html
and
http://gcc.gnu.org/ml/libstdc++/2006-08/msg00027.html

Mike's suggestion to do timeout=timeout*2 is interesting, but I don't know if
that really solves the issue. Perhaps the answer that I'm searching for is to
see if timeout has been set, if so, use it. If not, set it.

I'm hoping that some of the testsuite maintainers can figure out a better way
to approach this whole issue.

-benjamin


-- 
   Summary: configuring, over-riding timeout values in testsuite
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bkoz at gcc dot gnu dot org
  GCC host triplet: all


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



[Bug c++/28370] [4.2 Regression] undefined reference to template class static variable in an anonymous namespace

2006-08-28 Thread jakub at gcc dot gnu dot org


--- Comment #13 from jakub at gcc dot gnu dot org  2006-08-28 12:29 ---
Subject: Bug 28370

Author: jakub
Date: Mon Aug 28 12:28:55 2006
New Revision: 116506

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116506
Log:
PR c++/28370
* decl2.c (note_vague_linkage_var): Removed.
(finish_static_data_member_decl): Add decl to pending_statics vector
directly.  Do it even for non-public decls.

* g++.dg/template/anon3.C: New test.

Added:
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/template/anon3.C
Modified:
branches/redhat/gcc-4_1-branch/gcc/ChangeLog
branches/redhat/gcc-4_1-branch/gcc/cp/decl2.c
branches/redhat/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/28409] [4.2 Regression] extern "C" and anonymous namespace

2006-08-28 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2006-08-28 12:31 ---
Subject: Bug 28409

Author: jakub
Date: Mon Aug 28 12:31:26 2006
New Revision: 116507

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116507
Log:
2006-07-20  Jason Merrill  <[EMAIL PROTECTED]>

* tree.c (remove_attribute): New fn.

PR c++/28407
* decl.c (grokvardecl): Set DECL_THIS_STATIC on file-scope
const variables with implicit internal linkage.
* tree.c (decl_linkage): Only return lk_external if it's set.

PR c++/28409
* decl2.c (constrain_visibility): Ignore the anonymous namespace 
for extern "C" decls.
(VISIBILITY_STATIC): Rename to VISIBILITY_ANON.

* decl2.c (constrain_visibility): Remove specified and reason 
parameters.  Don't touch decls that already have explicit visibility.
(determine_visibility): Do copy DECL_VISIBILITY_SPECIFIED from 
template.
(determine_visibility_from_class): Reverse sense of 
DECL_VISIBILITY_SPECIFIED test for target-specific visibility rules.
(constrain_class_visibility): Only complain about member visibility
if the member type is another class.  Don't change visibility of the
current class.

Added:
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template6.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/lookup/anon5.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/template/anon4.C
Modified:
branches/redhat/gcc-4_1-branch/gcc/ChangeLog
branches/redhat/gcc-4_1-branch/gcc/cp/ChangeLog
branches/redhat/gcc-4_1-branch/gcc/cp/decl.c
branches/redhat/gcc-4_1-branch/gcc/cp/decl2.c
branches/redhat/gcc-4_1-branch/gcc/cp/pt.c
branches/redhat/gcc-4_1-branch/gcc/cp/tree.c
branches/redhat/gcc-4_1-branch/gcc/doc/extend.texi
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn3.C
branches/redhat/gcc-4_1-branch/gcc/tree.c
branches/redhat/gcc-4_1-branch/gcc/tree.h


-- 


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



[Bug c++/28407] [4.2 regression] Issue with anonymous namespace

2006-08-28 Thread jakub at gcc dot gnu dot org


--- Comment #12 from jakub at gcc dot gnu dot org  2006-08-28 12:31 ---
Subject: Bug 28407

Author: jakub
Date: Mon Aug 28 12:31:26 2006
New Revision: 116507

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116507
Log:
2006-07-20  Jason Merrill  <[EMAIL PROTECTED]>

* tree.c (remove_attribute): New fn.

PR c++/28407
* decl.c (grokvardecl): Set DECL_THIS_STATIC on file-scope
const variables with implicit internal linkage.
* tree.c (decl_linkage): Only return lk_external if it's set.

PR c++/28409
* decl2.c (constrain_visibility): Ignore the anonymous namespace 
for extern "C" decls.
(VISIBILITY_STATIC): Rename to VISIBILITY_ANON.

* decl2.c (constrain_visibility): Remove specified and reason 
parameters.  Don't touch decls that already have explicit visibility.
(determine_visibility): Do copy DECL_VISIBILITY_SPECIFIED from 
template.
(determine_visibility_from_class): Reverse sense of 
DECL_VISIBILITY_SPECIFIED test for target-specific visibility rules.
(constrain_class_visibility): Only complain about member visibility
if the member type is another class.  Don't change visibility of the
current class.

Added:
   
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/template6.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/lookup/anon5.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/template/anon4.C
Modified:
branches/redhat/gcc-4_1-branch/gcc/ChangeLog
branches/redhat/gcc-4_1-branch/gcc/cp/ChangeLog
branches/redhat/gcc-4_1-branch/gcc/cp/decl.c
branches/redhat/gcc-4_1-branch/gcc/cp/decl2.c
branches/redhat/gcc-4_1-branch/gcc/cp/pt.c
branches/redhat/gcc-4_1-branch/gcc/cp/tree.c
branches/redhat/gcc-4_1-branch/gcc/doc/extend.texi
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn2.C
branches/redhat/gcc-4_1-branch/gcc/testsuite/g++.dg/ext/visibility/warn3.C
branches/redhat/gcc-4_1-branch/gcc/tree.c
branches/redhat/gcc-4_1-branch/gcc/tree.h


-- 


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



[Bug c++/28871] New: massive C++ compile time slowdown

2006-08-28 Thread bkoz at gcc dot gnu dot org
Sometime between Aug 1, 2006 and Aug 22, 2006 the time needed to run the g++
and libstdc++ testsuite ballooned. 

See this message and followups:
http://gcc.gnu.org/ml/gcc/2006-08/msg00398.html

Here are the specifics that I have:

20060724, make check-target-libstdc++
1145.687u 137.804s 23:13.98 92.0%   0+0k 0+0io 23pf+0w

20060822, make check-target-libstdc++
2624.876u 247.539s 55:42.82 85.9%   0+0k 0+0io 45pf+0w

Ouch. In that time, there have been some additions in the libstdc++ testsuite,
however it did not double in size. I've been trying to compile mainline
libstdc++ with 4.1.1 g++ to see if I can pin down the issue to a particular
component but there are a lot of incompatible changes, so comparing directly is
difficult to impossible.


-- 
   Summary: massive C++ compile time slowdown
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bkoz at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug target/28872] New: ARM inline assembly can be mispredicated.

2006-08-28 Thread drow at gcc dot gnu dot org
I had a conversation with Russell King about asm("") and historical problems
with it.  He told me that in old versions of GCC, it was necessary to either
clobber conds or else use %?; otherwise GCC could mistakenly omit a branch
around the inline asm.

When (around GCC 3.0) we started to use final.c in addition to
arm_final_prescan_insn, this changed.  Suddenly %? could be filled in by a
bogus condition more easily.  So using %? in inline asm is no longer viable. 
However, the old code, which predicated instructions unless they clobbered
conds, is still present.  We don't know exactly why, but Paul tells me that it
still triggers once in a while.

I believe that if it triggers, it may mistakenly "conditionalize" instructions
which don't use %?.  I don't have a testcase.

The simplest fix is probably to check the relatively new predicable attribute. 
A more complete fix might be to figure out when the old code triggers, adjust
the rest of the compiler to handle those cases if desired, and remove the ARM
backend-specific bits entirely.


-- 
   Summary: ARM inline assembly can be mispredicated.
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: drow at gcc dot gnu dot org
GCC target triplet: arm-none-linux-gnueabi


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



[Bug c++/28871] massive C++ compile time slowdown

2006-08-28 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-08-28 13:23 ---
It might not have doubled but one testcase that was added might have been
always slow.  We really need one testcase that has slowed down or one testcase
that has always been slow that was added.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|major   |normal
 Status|UNCONFIRMED |WAITING
   Keywords||compile-time-hog


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



[Bug java/28869] gcc-4.1.1 fails to build with java language on Solaris 2.8

2006-08-28 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-08-28 13:26 ---
configure: error: /bin/sh '/lhome/gcc/gcc-4.1.1/libjava/classpath/configure'

You forgot to do CONFIG_SHELL=/bin/ksh as mentioned by:
http://gcc.gnu.org/install/specific.html#x-x-solaris2

The Solaris 2 /bin/sh will often fail to configure libstdc++-v3, boehm-gc or
libjava. We therefore recommend using the following initial sequence of
commands

% CONFIG_SHELL=/bin/ksh
% export CONFIG_SHELL


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug tree-optimization/28868] [4.0/4.1/4.2 Regression] Not elimintation the PHIs which have the same agruments

2006-08-28 Thread steven at gcc dot gnu dot org


--- Comment #4 from steven at gcc dot gnu dot org  2006-08-28 13:59 ---
>From the hammer branch for AMD64:

.globl f
.type   f, @function
f:
.LFB4:
testl   %edi, %edi
movl%esi, %eax
jne .L3
movl%edx, %esi
movl%edx, %eax
.L3:
leal(%rax,%rsi), %eax
ret
.LFE4:
.size   f, .-f
.p2align 4,,15
.globl f1
.type   f1, @function
f1:
.LFB5:
testl   %edi, %edi
cmove   %edx, %esi
leal(%rsi,%rsi), %eax
ret
.LFE5:
.size   f1, .-f1


And from gcc 4.2 20060818:

.globl f
.type   f, @function
f:
.LFB2:
testl   %edi, %edi
movl%esi, %eax
cmove   %edx, %esi
cmove   %esi, %eax
addl%esi, %eax
ret
.LFE2:
.size   f, .-f
.p2align 4,,15
.globl f1
.type   f1, @function
f1:
.LFB3:
testl   %edi, %edi
cmove   %edx, %esi
leal(%rsi,%rsi), %eax
ret
.LFE3:
.size   f1, .-f1


So not all gcc3 releases do so well.  Are there GCC releases that optimize the
two functions to identical code?

In any case, this is a missed optimization.  I suppose the trick in this case
is to recognise that "c + d" == "c + c" (perhaps during value numbering?), but
the first step to analyze this bug would be to figure out where gcc3
(supposedly) performs this optimization.


-- 


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



[Bug tree-optimization/28868] [4.0/4.1/4.2 Regression] Not elimintation the PHIs which have the same agruments

2006-08-28 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-08-28 14:37 ---
(In reply to comment #4)
> So not all gcc3 releases do so well.  Are there GCC releases that optimize the
> two functions to identical code?

Yes (FSF) 3.2.3.
.globl f
.type   f,@function
f:
movl4(%esp), %eax
testl   %eax, %eax
movl12(%esp), %eax
cmovne  8(%esp), %eax
addl%eax, %eax
ret
.Lfe1:
.size   f,.Lfe1-f
.p2align 4,,15
.globl f1
.type   f1,@function
f1:
movl4(%esp), %edx
movl12(%esp), %eax
testl   %edx, %edx
cmovne  8(%esp), %eax
addl%eax, %eax
ret
.Lfe2:
.size   f1,.Lfe2-f1
.ident  "GCC: (GNU) 3.2.3"


-- 


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



[Bug fortran/28873] New: Cannot resolve subroutine calls when modules are used in different scopes

2006-08-28 Thread drewmccormack at mac dot com
gfortran reports the following error:


call create()
1
Error: Generic subroutine 'create' at (1) is not an intrinsic subroutine


when trying to compile the following code:


module A
  private 
  interface create
module procedure create1 
  end interface
  public :: create
contains
  subroutine create1 
  end subroutine
end module

module B
  private 
  interface create
module procedure create1 
  end interface
  public :: create
contains
  subroutine create1(a)
integer a
  end subroutine
end module

module C
  use A
  private 
contains
  subroutine useCreate
use B   
call create()
  end subroutine
end module


The call to the overloaded routine 'create' should be resolved to create1 in
module A, but an error results. This error only occurs when module B is used in
the subroutine, and module A is used at the top level of module C. If you move
the 'use B' statement to the top level of module C, it resolves fine.


-- 
   Summary: Cannot resolve subroutine calls when modules are used in
different scopes
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: drewmccormack at mac dot com
 GCC build triplet: gcc version 4.2.0 20060805 (experimental)
GCC target triplet: powerpc-apple-darwin8.7.0


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



[Bug fortran/28874] New: gfortran confuses 'cycle' keyword for subroutine call in subroutine called 'cycle'

2006-08-28 Thread drewmccormack at mac dot com
The following code:


subroutine cycle
  implicit none
  integer :: nsos, isym, nsym = 10
  integer :: norb(10)
  isym_: do isym = 1, nsym 
 nsos = norb(isym)
 if (nsos==0) cycle isym_
  enddo isym_
end subroutine


causes this compile time error:

 if (nsos==0) cycle isym_
  1
Error: Expected VARIABLE at (1)


The confusion seems to arise because the subroutine is called 'cycle'. Other
compilers do handle this correctly.


-- 
   Summary: gfortran confuses 'cycle' keyword for subroutine call in
subroutine called 'cycle'
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: drewmccormack at mac dot com
 GCC build triplet: gcc version 4.2.0 20060805 (experimental)
GCC target triplet: powerpc-apple-darwin8.7.0


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



[Bug target/26504] compute_frame_pointer_to_cfa_displacement error for avr target with --with-dwarf2

2006-08-28 Thread clemens dot koller at anagramm dot de


--- Comment #11 from clemens dot koller at anagramm dot de  2006-08-28 
15:37 ---
Same bug occures with 4.1.1 too, verified on an x86 and ppc host, cross
compiling for Atmel AVR:
configure --target=avr --with-dwarf2
triggers the bug.


-- 

clemens dot koller at anagramm dot de changed:

   What|Removed |Added

 CC||clemens dot koller at
   ||anagramm dot de


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



[Bug target/28490] [4.0/4.1/4.2 regression] ICE in ia64_expand_move, at config/ia64/ia64.c:1088

2006-08-28 Thread sje at cup dot hp dot com


--- Comment #16 from sje at cup dot hp dot com  2006-08-28 16:07 ---
Yes, I did some performance measurements with SPEC2000. Allowing any (symbol +
offset) resulted in slightly slower code overall, allowing no (symbol + offset)
resulted in slightly faster code overall.  I will be submitting a patch to do
this but probably not until next week.


-- 


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



[Bug java/28663] [4.2 regression] gcj fails to binary-compile eclipse's javac

2006-08-28 Thread aph at gcc dot gnu dot org


-- 

aph at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|WAITING


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



[Bug java/1305] [JSR133] GCJ ignores volatile modifier

2006-08-28 Thread aph at gcc dot gnu dot org


-- 

aph at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |SUSPENDED


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



[Bug java/28458] [ecj] Fails to build gnu.awt.LightweightRedirector

2006-08-28 Thread aph at gcc dot gnu dot org


--- Comment #9 from aph at gcc dot gnu dot org  2006-08-28 16:54 ---
.


-- 

aph at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||WORKSFORME


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



[Bug java/27754] Stack overflow in gcj

2006-08-28 Thread aph at gcc dot gnu dot org


--- Comment #4 from aph at gcc dot gnu dot org  2006-08-28 16:55 ---
.


-- 

aph at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug middle-end/27590] [4.1/4.2 Regression] ICE when compiling catalina.jar from tomcat 5.0.30

2006-08-28 Thread aph at gcc dot gnu dot org


--- Comment #9 from aph at gcc dot gnu dot org  2006-08-28 16:56 ---
Should be fixed on trunk.


-- 

aph at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |WAITING


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



[Bug java/24442] wrong inner class instantiated

2006-08-28 Thread aph at gcc dot gnu dot org


--- Comment #2 from aph at gcc dot gnu dot org  2006-08-28 16:57 ---
This will be fixed with ecj.


-- 

aph at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||WONTFIX


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



[Bug middle-end/26632] [4.1/4.2 Regression] spurious warning: value computed is not used

2006-08-28 Thread kazu at gcc dot gnu dot org


--- Comment #9 from kazu at gcc dot gnu dot org  2006-08-28 17:18 ---
Subject: Bug 26632

Author: kazu
Date: Mon Aug 28 17:18:29 2006
New Revision: 116510

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116510
Log:
gcc/
PR middle-end/26632
* convert.c (convert_to_integer): Set TREE_NO_WARNING to 1 on
an implicit conversion.

gcc/testsuite/
PR middle-end/26632
* gcc.dg/pr26632.c: New.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/convert.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/28071] [4.1/4.2 regression] A file that can not be compiled in reasonable time/space

2006-08-28 Thread amacleod at gcc dot gnu dot org


--- Comment #50 from amacleod at redhat dot com  2006-08-28 17:18 ---
Subject: Bug 28071

Author: amacleod
Date: Mon Aug 28 17:18:33 2006
New Revision: 116511

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116511
Log:


revert 116257 which is the rewrite_liverange_info patch, so be replaced with
the two patches I created for bug 28071.



Modified:
branches/out-of-ssa-the-sequel/gcc/ChangeLog
branches/out-of-ssa-the-sequel/gcc/tree-outof-ssa.c
branches/out-of-ssa-the-sequel/gcc/tree-ssa-live.c
branches/out-of-ssa-the-sequel/gcc/tree-ssa-live.h


-- 


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



[Bug tree-optimization/17506] [4.0/4.1/4.2 regression] warning about uninitialized variable points to wrong location

2006-08-28 Thread kazu at gcc dot gnu dot org


--- Comment #27 from kazu at gcc dot gnu dot org  2006-08-28 17:28 ---
The real fix it to issue "uninitialized warnings" before the inliner kicks in
but after we go into SSA, which is impossible until we start doing early SSA.

As Nathan suggests, this caveat should be mentioned in the release notes.


-- 

kazu at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|kazu at gcc dot gnu dot org |unassigned at gcc dot gnu
   ||dot org
 Status|ASSIGNED|NEW


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



[Bug middle-end/28071] [4.1/4.2 regression] A file that can not be compiled in reasonable time/space

2006-08-28 Thread amacleod at redhat dot com


--- Comment #51 from amacleod at redhat dot com  2006-08-28 17:37 ---
Huh. I didn't realize bugzilla scanned the entire checkin message looking for
bug numbers  This has been checked in on a branch, so you can ignore the
preceeding note's commentary. it's just a note to myself.


-- 


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



[Bug fortran/28874] gfortran confuses 'cycle' keyword for subroutine call in subroutine called 'cycle'

2006-08-28 Thread kargl at gcc dot gnu dot org


--- Comment #1 from kargl at gcc dot gnu dot org  2006-08-28 17:55 ---
This is my screw.

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


-- 

kargl at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug fortran/28866] [Regression] Simple if statements are not so simple

2006-08-28 Thread kargl at gcc dot gnu dot org


--- Comment #2 from kargl at gcc dot gnu dot org  2006-08-28 17:55 ---
*** Bug 28874 has been marked as a duplicate of this bug. ***


-- 

kargl at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||drewmccormack at mac dot com


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



[Bug c++/23287] [4.0/4.1/4.2 regression] Explicitly invoking destructor of template class in a template and is dependent

2006-08-28 Thread nathan at gcc dot gnu dot org


-- 

nathan at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |nathan at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-08-27 21:45:45 |2006-08-28 17:56:33
   date||


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



[Bug c/28875] New: "-Wextra -Wno-unused-parameter -Wall" doesn't work as expected

2006-08-28 Thread gnu at behdad dot org
The above sequence of warning flags causes unused-parameters to be reported,
while one expects it to not.  The fact that -Wextra and -Wall together
magically turn unused-parameter on is shadowing the effect of the explicit
-Wno-unused-parameter.  It took me quite a while to figure that out.


-- 
   Summary: "-Wextra -Wno-unused-parameter -Wall" doesn't work as
expected
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gnu at behdad dot org


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



[Bug c/28875] "-Wextra -Wno-unused-parameter -Wall" doesn't work as expected

2006-08-28 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-08-28 19:40 ---
I don't think this is a bug since the behavior is documented:
In order to get a warning about an unused function parameter, you must either
specify `-Wextra -Wunused' (note that `-Wall' implies `-Wunused'), or
separately specify -Wunused-parameter. 

So you have "-Wextra -Wno-unused-parameter -Wall" so the -Wno-unused-parameter
does not have an effect as it is not turned on by -Wextra but instead by -Wall.


-- 


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



[Bug middle-end/27657] [4.2 regression] bogus undefined reference error to static var with -g and -O

2006-08-28 Thread janis at gcc dot gnu dot org


--- Comment #6 from janis at gcc dot gnu dot org  2006-08-28 19:43 ---
A regression hunt on powerpc-linux identified the following patch:

http://gcc.gnu.org/viewcvs?view=rev&rev=112361

r112361 | geoffk | 2006-03-24 21:59:48 + (Fri, 24 Mar 2006)

The log message and the ChangeLog entry don't mention it, but this patch also
modifies gcc/dwarf2out.c.


-- 

janis at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||geoffk at gcc dot gnu dot
   ||org


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



[Bug java/28869] gcc-4.1.1 fails to build with java language on Solaris 2.8

2006-08-28 Thread bob at digilink dot net


--- Comment #2 from bob at digilink dot net  2006-08-28 19:45 ---
I'm sorry - I thought I had looked through all of the Solaris build issues but
there it is plain as day - If it was a snake it would have bit me! 
Thank you for pointing me in the right direction and for your patience.


-- 


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



[Bug c/28876] New: Provide -W options for all warnings enabled by -Wextra

2006-08-28 Thread gnu at behdad dot org
There are some really useful warnings enabled by -Wextra that don't have
separate -W enablers.  They should, as not everyone likes all the noise that
-Wextra generates.

These two are the ones I failed to find how to enable other than by using
-Wextra:

warning: comparison of unsigned expression >= 0 is always true
warning: variable 'status' might be clobbered by 'longjmp' or 'vfork'


-- 
   Summary: Provide -W options for all warnings enabled by -Wextra
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gnu at behdad dot org


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



[Bug libstdc++/23773] Improve abi.html

2006-08-28 Thread bkoz at gcc dot gnu dot org


--- Comment #2 from bkoz at gcc dot gnu dot org  2006-08-28 20:18 ---
Subject: Bug 23773

Author: bkoz
Date: Mon Aug 28 20:18:22 2006
New Revision: 116527

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116527
Log:
2006-08-28  Benjamin Kosnik  <[EMAIL PROTECTED]>

PR libstdc++/23773 partial
* docs/html/abi.html: Update.


Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/docs/html/abi.html


-- 


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



[Bug c/28876] Provide -W options for all warnings enabled by -Wextra

2006-08-28 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-08-28 20:33 ---


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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug middle-end/7651] Define -Wextra strictly in terms of other warning flags

2006-08-28 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-08-28 20:33 ---
*** Bug 28876 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||gnu at behdad dot org


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



[Bug middle-end/27657] [4.2 regression] bogus undefined reference error to static var with -g and -O

2006-08-28 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-08-28 20:36 ---
(In reply to comment #6)
> The log message and the ChangeLog entry don't mention it, but this patch also
> modifies gcc/dwarf2out.c.

It was backed out right after the commit:
http://gcc.gnu.org/viewcvs?view=rev&revision=112362

But that would mean it was caused by the revision which I had mentioned in
comment #5 as that revision put the code back in.


-- 


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



[Bug libgomp/25259] [4.2 Regression] bootstrap failures on non-C99 platforms (no stdint.h)

2006-08-28 Thread janis at gcc dot gnu dot org


--- Comment #20 from janis at gcc dot gnu dot org  2006-08-28 20:42 ---
Subject: Bug 25259

Author: janis
Date: Mon Aug 28 20:42:12 2006
New Revision: 116528

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116528
Log:
Backport from mainline (part of r198241)
2006-01-02  Paolo Bonzini  <[EMAIL PROTECTED]>

libdecnumber/ChangeLog
PR target/25259
* configure.ac: Use GCC_HEADER_STDINT.
* decContext.h: Include gstdint.h.
* aclocal.m4: Regenerate.
* configure: Regenerate.

config/ChangeLog
PR target/25259
* Makefile.in (DECNUMINC): Include libdecnumber's build directory.

Modified:
branches/ibm/gcc-4_1-branch/config/ChangeLog
branches/ibm/gcc-4_1-branch/config/stdint.m4
branches/ibm/gcc-4_1-branch/configure
branches/ibm/gcc-4_1-branch/gcc/Makefile.in
branches/ibm/gcc-4_1-branch/libdecnumber/ChangeLog
branches/ibm/gcc-4_1-branch/libdecnumber/aclocal.m4
branches/ibm/gcc-4_1-branch/libdecnumber/configure.ac
branches/ibm/gcc-4_1-branch/libdecnumber/decContext.h


-- 


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



[Bug middle-end/27657] [4.2 regression] bogus undefined reference error to static var with -g and -O

2006-08-28 Thread geoffk at gcc dot gnu dot org


--- Comment #8 from geoffk at gcc dot gnu dot org  2006-08-28 20:44 ---

(In reply to comment #3)
> Created an attachment (id=12037)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12037&action=view) [edit]
> patch
> 
> It looks like we should bite the bullet and let cgraph code to output the 
> debug
> info  I am testing the attached patch
> 
It looks like this patch will prevent the output of debug information for
variables that are optimized out, but that's wrong; the variables should be
visible to the user in the debugger even if they are optimized away.

I think the actual problem is that reference_to_unused in dwarf2out.c is
checking TREE_USED and expecting all used variables to be output, but that
doesn't seem to be happening in this case.  Perhaps there is something in
cgraph which can be called to ask if a variable is *really* going to be output?


-- 


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



[Bug c++/26102] [4.1/4.2 regression] "using Base::member" nonsense

2006-08-28 Thread janis at gcc dot gnu dot org


--- Comment #6 from janis at gcc dot gnu dot org  2006-08-28 21:03 ---
A regression hunt on powerpc-linux identified this patch:

http://gcc.gnu.org/viewcvs?view=rev&rev=110017

r110017 | mmitchel | 2006-01-20 03:07:58 + (Fri, 20 Jan 2006)


-- 

janis at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||mmitchel at gcc dot gnu dot
   ||org


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



[Bug tree-optimization/28411] [4.1/4.2 Regression] "Illegal instruction" error with -ftrapv

2006-08-28 Thread rakdver at gcc dot gnu dot org


--- Comment #10 from rakdver at gcc dot gnu dot org  2006-08-28 21:15 
---
Subject: Bug 28411

Author: rakdver
Date: Mon Aug 28 21:15:19 2006
New Revision: 116529

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116529
Log:
PR tree-optimization/28411
* double-int.c (double_int_div): Use double_int_divmod.
(double_int_divmod, double_int_sdivmod, double_int_udivmod,
double_int_mod, double_int_smod, double_int_umod): New functions.
* double-int.h (double_int_divmod, double_int_sdivmod,
double_int_udivmod, double_int_mod, double_int_smod, double_int_umod):
Declare.
* tree-ssa-loop-ivopts.c (constant_multiple_of): Returns the result
in double_int.
(get_computation_aff, get_computation_cost_at): Handle double_int
return type of constant_multiple_of.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/double-int.c
trunk/gcc/double-int.h
trunk/gcc/tree-ssa-loop-ivopts.c


-- 


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



[Bug java/28663] [4.2 regression] gcj fails to binary-compile eclipse's javac

2006-08-28 Thread h dot mth at web dot de


--- Comment #7 from h dot mth at web dot de  2006-08-28 21:45 ---
I stored my broken ecj-3.2.jar here:
http://geki.ath.cx/hacks/ecj.jar


-- 


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



[Bug c++/25868] [4.0/4.1 Regression] Multiple templates and typedefs cause function prototype not to match

2006-08-28 Thread janis at gcc dot gnu dot org


--- Comment #9 from janis at gcc dot gnu dot org  2006-08-28 22:14 ---
A regression hunt on powerpc-linux identified this patch:

http://gcc.gnu.org/viewcvs?view=rev&rev=116409

r116409 | nathan | 2006-08-25 16:56:07 + (Fri, 25 Aug 2006)


-- 

janis at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||nathan at gcc dot gnu dot
   ||org


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



[Bug fortran/28873] Cannot resolve subroutine calls when modules are used in different scopes

2006-08-28 Thread pault at gcc dot gnu dot org


--- Comment #1 from pault at gcc dot gnu dot org  2006-08-28 22:15 ---
The problem lies in resolve.c (resolve_generic_s):1623

On the face of it,

if (sym->ns->parent != NULL && !sym->attr.use_assoc)

seems to be wrong.

if (sym->ns->parent != NULL) fixes the problem and is regtesting as I write.

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pault at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-08-28 22:15:42
   date||


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



[Bug fortran/28873] Cannot resolve subroutine calls when modules are used in different scopes

2006-08-28 Thread pault at gcc dot gnu dot org


--- Comment #2 from pault at gcc dot gnu dot org  2006-08-28 22:22 ---
The problem lies in resolve.c (resolve_generic_s):1623

yes, definitely.  resolve_generic_f is not so prissy about use association
and has a somewhat different structure. If I were to transport this to
subroutines, the PR would be fixed

The morning will bring enlightenment.

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|WAITING


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



[Bug fortran/28873] Cannot resolve subroutine calls when modules are used in different scopes

2006-08-28 Thread pault at gcc dot gnu dot org


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |ASSIGNED
   Last reconfirmed|2006-08-28 22:15:42 |2006-08-28 22:23:39
   date||


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



[Bug driver/28877] New: gcc file1.c file2.c file3.c -o file.o fails

2006-08-28 Thread iano at apple dot com
This doesn't work on my apple gcc. If you inspect with -v, it compiles each
file in turn and writes to file.o, each file overwriting the one before it,
rather than combining the three .c files into one .o.

I can think of some pretty good reasons to do this, including cross
compilation-unit inlining. 

Is/should this be a supported feature?


-- 
   Summary: gcc file1.c file2.c file3.c -o file.o fails
   Product: gcc
   Version: 4.0.1
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: driver
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: iano at apple dot com


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



[Bug c++/28860] [4.0/4.1/4.2 regression] Trouble with bound template template parameter in specialization

2006-08-28 Thread reichelt at gcc dot gnu dot org


--- Comment #2 from reichelt at gcc dot gnu dot org  2006-08-28 22:35 
---
Subject: Bug 28860

Author: reichelt
Date: Mon Aug 28 22:34:55 2006
New Revision: 116541

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116541
Log:
PR c++/28860
* cp-tree.h (maybe_process_partial_specialization): Return
tree instead of void.
* parser.c (cp_parser_class_head): Use return value of
maybe_process_partial_specialization.
* pt.c (maybe_process_partial_specialization): Return error_mark_node
for broken specializations, TYPE otherwise.  Check for template
template parameters.

* g++.dg/template/ttp22.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/template/ttp22.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug driver/28877] gcc file1.c file2.c file3.c -o file.o fails

2006-08-28 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-08-28 22:49 ---
This was a bug in 4.0.0-4.0.2, it was fixed for 4.0.3 by me never the less.

To get IMA, you need -combine.

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug driver/22544] [4.0/4.1 Regression] gcc ignores input file given on the command line

2006-08-28 Thread pinskia at gcc dot gnu dot org


--- Comment #16 from pinskia at gcc dot gnu dot org  2006-08-28 22:49 
---
*** Bug 28877 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||iano at apple dot com


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



[Bug driver/28877] gcc file1.c file2.c file3.c -o file.o fails

2006-08-28 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-08-28 22:50 ---
PS please report Apple GCC bugs to Apple first and if you want to report a GCC
bug to the FSF, please test on the branch (and/or the latest release).


-- 


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



[Bug c++/28860] [4.0/4.1/4.2 regression] Trouble with bound template template parameter in specialization

2006-08-28 Thread reichelt at gcc dot gnu dot org


--- Comment #3 from reichelt at gcc dot gnu dot org  2006-08-28 22:51 
---
Subject: Bug 28860

Author: reichelt
Date: Mon Aug 28 22:51:17 2006
New Revision: 116543

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116543
Log:
PR c++/28860
* cp-tree.h (maybe_process_partial_specialization): Return
tree instead of void.
* parser.c (cp_parser_class_head): Use return value of
maybe_process_partial_specialization.
* pt.c (maybe_process_partial_specialization): Return error_mark_node
for broken specializations, TYPE otherwise.  Check for template
template parameters.

* g++.dg/template/ttp22.C: New test.

Added:
branches/gcc-4_1-branch/gcc/testsuite/g++.dg/template/ttp22.C
Modified:
branches/gcc-4_1-branch/gcc/cp/ChangeLog
branches/gcc-4_1-branch/gcc/cp/cp-tree.h
branches/gcc-4_1-branch/gcc/cp/parser.c
branches/gcc-4_1-branch/gcc/cp/pt.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/27657] [4.2 regression] bogus undefined reference error to static var with -g and -O

2006-08-28 Thread janis at gcc dot gnu dot org


--- Comment #9 from janis at gcc dot gnu dot org  2006-08-28 22:58 ---
I can confirm that the latest regression is from r112408.


-- 


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



[Bug c++/28860] [4.0/4.1/4.2 regression] Trouble with bound template template parameter in specialization

2006-08-28 Thread reichelt at gcc dot gnu dot org


--- Comment #4 from reichelt at gcc dot gnu dot org  2006-08-28 23:12 
---
Subject: Bug 28860

Author: reichelt
Date: Mon Aug 28 23:12:32 2006
New Revision: 116544

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116544
Log:
PR c++/28860
* cp-tree.h (maybe_process_partial_specialization): Return
tree instead of void.
* parser.c (cp_parser_class_head): Use return value of
maybe_process_partial_specialization.
* pt.c (maybe_process_partial_specialization): Return error_mark_node
for broken specializations, TYPE otherwise.  Check for template
template parameters.

* g++.dg/template/ttp22.C: New test.

Added:
branches/gcc-4_0-branch/gcc/testsuite/g++.dg/template/ttp22.C
Modified:
branches/gcc-4_0-branch/gcc/cp/ChangeLog
branches/gcc-4_0-branch/gcc/cp/cp-tree.h
branches/gcc-4_0-branch/gcc/cp/parser.c
branches/gcc-4_0-branch/gcc/cp/pt.c
branches/gcc-4_0-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug driver/28877] gcc file1.c file2.c file3.c -o file.o fails

2006-08-28 Thread iano at apple dot com


--- Comment #3 from iano at apple dot com  2006-08-28 23:13 ---
Thanks for fixing it Andrew. I can confirm that -combine works. Hopefully Apple
will get around to updating to 4.0.3 one of these days.

...and really, you should be thrilled to get duplicate bug reports! They are
sooo much easier to fix. 


-- 

iano at apple dot com changed:

   What|Removed |Added

 Status|RESOLVED|VERIFIED


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



[Bug c++/28860] [4.0/4.1/4.2 regression] Trouble with bound template template parameter in specialization

2006-08-28 Thread reichelt at gcc dot gnu dot org


--- Comment #5 from reichelt at gcc dot gnu dot org  2006-08-28 23:13 
---
Fixed on mainline, 4.1 branch, and 4.0 branch.


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug c++/27494] [4.0/4.1/4.2 regression] ICE on invalid template parameter

2006-08-28 Thread reichelt at gcc dot gnu dot org


--- Comment #2 from reichelt at gcc dot gnu dot org  2006-08-28 23:20 
---
Shorter testcase:

=
struct A
{
template void foo() {}
};
=

The original testcase relies on the suboptimal error-recovery for template
parameter lists (see PR28858).


-- 


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



[Bug c++/28858] [4.0/4.1/4.2 regression] Algorithm to find the end of a template parameter list is flawed

2006-08-28 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.0.4


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



[Bug c++/28878] New: [4.0/4.1/4.2 regression] ICE using "[" instead of "{"

2006-08-28 Thread reichelt at gcc dot gnu dot org
The following invlaid code snippet triggers a segfault since GCC 3.4.0:

==
template void foo()
[
  throw;
}
==

bug.cc:3: internal compiler error: Segmentation fault
Please submit a full bug report, [etc.]


-- 
   Summary: [4.0/4.1/4.2 regression] ICE using "[" instead of "{"
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, monitored
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug c++/28878] [4.0/4.1/4.2 regression] ICE using "[" instead of "{"

2006-08-28 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.0.4


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



[Bug c++/28878] [4.0/4.1/4.2 regression] ICE using "[" instead of "{"

2006-08-28 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-08-28 23:46 ---
#0  0x081141ec in build_throw (exp=)
at /home/peshtigo/pinskia/src/gnu/gcc/src/gcc/cp/except.c:602
#1  0x080e641d in cp_parser_assignment_expression (parser=0xb7ccfe6c, cast_p=0
'\0')
at /home/peshtigo/pinskia/src/gnu/gcc/src/gcc/cp/parser.c:14101
#2  0x080e683f in cp_parser_constant_expression (parser=0xb7ccfe6c,
allow_non_constant_p=1 '\001',
non_constant_p=0xbfef5f1b "") at
/home/peshtigo/pinskia/src/gnu/gcc/src/gcc/cp/parser.c:5892
#3  0x080ecc9e in cp_parser_declarator (parser=0xb7ccfe6c,
dcl_kind=CP_PARSER_DECLARATOR_NAMED,
ctor_dtor_or_conv_p=0xbfef5f74, parenthesized_p=0x9540b08 "", member_p=0
'\0')
at /home/peshtigo/pinskia/src/gnu/gcc/src/gcc/cp/parser.c:11302


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-08-28 23:46:22
   date||


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



[Bug c++/28879] New: [4.0/4.1/4.2 regression] ICE with variable-sized array in template function

2006-08-28 Thread reichelt at gcc dot gnu dot org
The following valid code snippet triggers an ICE since GCC 3.4.0:

==
struct A
{
  int i;
};

template void foo()
{
  int x[A().i];
}
==

bug.cc: In function 'void foo()':
bug.cc:8: internal compiler error: in value_dependent_expression_p, at
cp/pt.c:12761
Please submit a full bug report, [etc.]

The following similar code snippet triggers an ICE since GCC 4.0.0:

==
struct A
{
  static int i;
};

template void foo()
{
  int x[A::i];
}
==

bug.cc: In function 'void foo()':
bug.cc:8: internal compiler error: tree check: did not expect class 'type',
have 'type' (record_type) in contains_placeholder_p, at tree.c:2190
Please submit a full bug report, [etc.]


-- 
   Summary: [4.0/4.1/4.2 regression] ICE with variable-sized array
in template function
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code, monitored
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug c++/28879] [4.0/4.1/4.2 regression] ICE with variable-sized array in template function

2006-08-28 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.0.4


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



[Bug c++/28879] [4.0/4.1/4.2 regression] ICE with variable-sized array in template function

2006-08-28 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-08-28 23:57 ---
(In reply to comment #0)
> The following similar code snippet triggers an ICE since GCC 4.0.0:
That one is related to PR 27210.

Really these are two different bugs and should have been filed seperately.

For that one I bet we should change a save_expr to cp_save_expr which should
solve it.


-- 


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



[Bug c++/28879] [4.0/4.1/4.2 regression] ICE with variable-sized array in template function

2006-08-28 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-08-29 02:44 ---
Actually the second case is because we call:
426 t = build_array_type (elt_type, index_type);
#12 0x081e0cae in build_cplus_array_type_1 (elt_type=0xb7c62284,
index_type=0xb7d055c0)
at ../../gcc/cp/tree.c:426


And the first problem was introduced with an ABI change:
6524  if (abi_version_at_least (2)
6525  /* We should only handle value dependent expressions specially. 
*/
6526  ? value_dependent_expression_p (size)
#3  0x08084f4f in compute_array_index_type (name=0xb7cea09c, size=0xb7cba0c8)
at ../../gcc/cp/decl.c:6524

If you do -fabi-version=1, we get the ICE later on but with the same problem:
417   if (dependent_type_p (elt_type)
418   || (index_type
419   && value_dependent_expression_p (TYPE_MAX_VALUE
(index_type
#4  0x081e0c31 in build_cplus_array_type_1 (elt_type=0xb7cf0284,
index_type=0xb7d93564)
at ../../gcc/cp/tree.c:417


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-08-29 02:44:38
   date||


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



[Bug debug/28880] New: gcc.c-torture/execute/mayalias-2.c failure with -O3 -gdwarf-2

2006-08-28 Thread geoffk at gcc dot gnu dot org
I got:

mayalias-2.c:2: internal compiler error: in splice_child_die, at
dwarf2out.c:5552

with a modified compiler, but I see that it fails on powerpc64-linux
 and arm-none-eabi
, so it's probably
pretty common.

The problem is that the front-end is calling the DWARF output code with two
shallow copies of the same structure, 'S'.  The DWARF code detects that two
different structures have the same members and aborts.


-- 
   Summary: gcc.c-torture/execute/mayalias-2.c failure with -O3 -
gdwarf-2
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code, ice-checking
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: geoffk at gcc dot gnu dot org


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



[Bug debug/28880] gcc.c-torture/execute/mayalias-2.c failure with -O3 -gdwarf-2

2006-08-28 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-08-29 04:41 ---
And this was already filed as PR 28834.  I filed it before posting the patch
and committing the testcase because it was a regression and it was even there
without my patch.

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug debug/28834] [4.0/4.1/4.2 Regression] -O3 -g crashes sometimes when using may_alias and structs

2006-08-28 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-08-29 04:41 ---
*** Bug 28880 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||geoffk at gcc dot gnu dot
   ||org


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



[Bug c++/27714] [4.0/4.1/4.2 regression] operator new as friend in template class rejected

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


--- Comment #6 from jason at gcc dot gnu dot org  2006-08-29 04:42 ---
Subject: Bug 27714

Author: jason
Date: Tue Aug 29 04:42:46 2006
New Revision: 116551

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116551
Log:
PR c++/27714
* pt.c (push_template_decl_real): A friend template with class
scope isn't primary.

Added:
trunk/gcc/testsuite/g++.dg/template/new7.C


-- 


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



[Bug debug/28834] [4.0/4.1/4.2 Regression] -O3 -g crashes sometimes when using may_alias and structs

2006-08-28 Thread geoffk at gcc dot gnu dot org


--- Comment #8 from geoffk at gcc dot gnu dot org  2006-08-29 04:48 ---
In the duplicate I explain:

The problem is that the front-end is calling the DWARF output code with two
shallow copies of the same structure, 'S'.  The DWARF code detects that two
different structures have the same members and aborts.


-- 


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



[Bug fortran/28788] [gfortran: 4.1, 4.2 regression] ICE on valid code

2006-08-28 Thread pault at gcc dot gnu dot org


--- Comment #16 from pault at gcc dot gnu dot org  2006-08-29 04:51 ---
Subject: Bug 28788

Author: pault
Date: Tue Aug 29 04:51:32 2006
New Revision: 116552

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116552
Log:
2006-08-29  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/28788
REGRESSION FIX
* symbol.c (gfc_use_derived): Never eliminate the symbol,
following reassociation of use associated derived types.

2006-08-29  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/28788
* gfortran.dg/used_types_5.f90: New test.
* gfortran.dg/used_types_6.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/used_types_5.f90
trunk/gcc/testsuite/gfortran.dg/used_types_6.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/symbol.c


-- 


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



[Bug fortran/28788] [gfortran: 4.1, 4.2 regression] ICE on valid code

2006-08-28 Thread pault at gcc dot gnu dot org


--- Comment #17 from pault at gcc dot gnu dot org  2006-08-29 04:57 ---
Subject: Bug 28788

Author: pault
Date: Tue Aug 29 04:57:29 2006
New Revision: 116553

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116553
Log:
2006-08-29  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/28788
REGRESSION FIX
* symbol.c (gfc_use_derived): Never eliminate the symbol,
following reassociation of use associated derived types.

2006-08-29  Paul Thomas  <[EMAIL PROTECTED]>

PR libfortran/28005
* m4/matmul.m4: Working part of function ported from
trunk.
* generated/matmul_r4.c: Regenerate.
* generated/matmul_r8.c: Regenerate.
* generated/matmul_r10.c: Regenerate.
* generated/matmul_r16.c: Regenerate.
* generated/matmul_c4.c: Regenerate.
* generated/matmul_c8.c: Regenerate.
* generated/matmul_c10.c: Regenerate.
* generated/matmul_c16.c: Regenerate.
* generated/matmul_i4.c: Regenerate.
* generated/matmul_i8.c: Regenerate.
* generated/matmul_i16.c: Regenerate.

2006-08-29  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/28788
* gfortran.dg/used_types_5.f90: New test.
* gfortran.dg/used_types_6.f90: New test.

PR fortran/28005
* gfortran.dg/matmul_3.f90: New test.


Added:
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/matmul_3.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/used_types_5.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/used_types_6.f90
Modified:
branches/gcc-4_1-branch/gcc/fortran/ChangeLog
branches/gcc-4_1-branch/gcc/fortran/symbol.c
branches/gcc-4_1-branch/libgfortran/ChangeLog
branches/gcc-4_1-branch/libgfortran/generated/matmul_c10.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_c16.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_c4.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_c8.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_i16.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_i4.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_i8.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_r10.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_r16.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_r4.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_r8.c
branches/gcc-4_1-branch/libgfortran/m4/matmul.m4


-- 


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



[Bug fortran/28005] [4.1 only] gfortran: matmul produces wrong result

2006-08-28 Thread pault at gcc dot gnu dot org


--- Comment #10 from pault at gcc dot gnu dot org  2006-08-29 04:57 ---
Subject: Bug 28005

Author: pault
Date: Tue Aug 29 04:57:29 2006
New Revision: 116553

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116553
Log:
2006-08-29  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/28788
REGRESSION FIX
* symbol.c (gfc_use_derived): Never eliminate the symbol,
following reassociation of use associated derived types.

2006-08-29  Paul Thomas  <[EMAIL PROTECTED]>

PR libfortran/28005
* m4/matmul.m4: Working part of function ported from
trunk.
* generated/matmul_r4.c: Regenerate.
* generated/matmul_r8.c: Regenerate.
* generated/matmul_r10.c: Regenerate.
* generated/matmul_r16.c: Regenerate.
* generated/matmul_c4.c: Regenerate.
* generated/matmul_c8.c: Regenerate.
* generated/matmul_c10.c: Regenerate.
* generated/matmul_c16.c: Regenerate.
* generated/matmul_i4.c: Regenerate.
* generated/matmul_i8.c: Regenerate.
* generated/matmul_i16.c: Regenerate.

2006-08-29  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/28788
* gfortran.dg/used_types_5.f90: New test.
* gfortran.dg/used_types_6.f90: New test.

PR fortran/28005
* gfortran.dg/matmul_3.f90: New test.


Added:
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/matmul_3.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/used_types_5.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/used_types_6.f90
Modified:
branches/gcc-4_1-branch/gcc/fortran/ChangeLog
branches/gcc-4_1-branch/gcc/fortran/symbol.c
branches/gcc-4_1-branch/libgfortran/ChangeLog
branches/gcc-4_1-branch/libgfortran/generated/matmul_c10.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_c16.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_c4.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_c8.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_i16.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_i4.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_i8.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_r10.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_r16.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_r4.c
branches/gcc-4_1-branch/libgfortran/generated/matmul_r8.c
branches/gcc-4_1-branch/libgfortran/m4/matmul.m4


-- 


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



[Bug rtl-optimization/21676] [4.0/4.1 Regression] Optimizer regression: SciMark sparse matrix benchmark

2006-08-28 Thread pinskia at gcc dot gnu dot org


--- Comment #9 from pinskia at gcc dot gnu dot org  2006-08-29 05:24 ---
Fixed on the mainline by:
http://gcc.gnu.org/ml/gcc-patches/2006-08/msg01036.html


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.0/4.1/4.2 Regression]|[4.0/4.1 Regression]
   |Optimizer regression:   |Optimizer regression:
   |SciMark sparse matrix   |SciMark sparse matrix
   |benchmark   |benchmark


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



[Bug tree-optimization/28868] [4.0/4.1/4.2 Regression] Not elimintation the PHIs which have the same agruments

2006-08-28 Thread steven at gcc dot gnu dot org


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-08-29 05:51:51
   date||


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



[Bug rtl-optimization/21676] [4.0/4.1/4.2 Regression] Optimizer regression: SciMark sparse matrix benchmark

2006-08-28 Thread uros at kss-loka dot si


--- Comment #10 from uros at kss-loka dot si  2006-08-29 06:12 ---
(In reply to comment #9)
> Fixed on the mainline by:
> http://gcc.gnu.org/ml/gcc-patches/2006-08/msg01036.html

Not really, the above patch fixed only one of three problems. The other two
remains, that is:

- ivopts problem (see comment #6)
- -march=pentium4 (see comment #8)

I'll try to see which option causes problems, described in #8.


-- 

uros at kss-loka dot si changed:

   What|Removed |Added

Summary|[4.0/4.1 Regression]|[4.0/4.1/4.2 Regression]
   |Optimizer regression:   |Optimizer regression:
   |SciMark sparse matrix   |SciMark sparse matrix
   |benchmark   |benchmark


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



[Bug target/28881] New: Improve epilogue code in m68k

2006-08-28 Thread kazu at gcc dot gnu dot org
m68k_output_function_epilogue uses leaf_function_p.
Consider using (stack_pointer_delta == 0) instead.
A quick experiment shows improvements like so:

-   move.l -8(%fp),%d2
-   move.l -4(%fp),%d3
+   move.l (%sp)+,%d2
+   move.l (%sp)+,%d3
unlk %fp
rts

Note that the move.l instruction without a displacement is shorter than the one
with a displacement.


-- 
   Summary: Improve epilogue code in m68k
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: enhancement
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kazu at gcc dot gnu dot org
GCC target triplet: m68k-none-elf


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



[Bug target/28882] New: Use more register name macros in m68k port

2006-08-28 Thread kazu at gcc dot gnu dot org
Currently, the m68k port only defines A0_REG and SP_REG.
We could define more macros like these.

For example, D0_REG would be useful in FUNCTION_VALUE, LIBCALL_VALUE, and
FUNCTION_VALUE_REGNO_P.


-- 
   Summary: Use more register name macros in m68k port
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kazu at gcc dot gnu dot org
GCC target triplet: m68k-none-elf


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



[Bug target/28882] Use more register name macros in m68k port

2006-08-28 Thread kazu at gcc dot gnu dot org


--- Comment #1 from kazu at gcc dot gnu dot org  2006-08-29 06:54 ---
For cleanliness, we can define STACK_POINTER_REGNUM in terms of SP_REG.
The same would apply to FRAME_POINTER_REGNUM once we define FP_REG in m68k.md.


-- 


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



[Bug c++/26577] [4.0/4.1/4.2 regression] ICE in cp_expr_size with volatile and non POD

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


--- Comment #19 from jason at gcc dot gnu dot org  2006-08-29 06:55 ---
Subject: Bug 26577

Author: jason
Date: Tue Aug 29 06:55:03 2006
New Revision: 116554

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116554
Log:
PR c++/26577
* cvt.c (convert_to_void): Don't automatically load from volatiles
of TREE_ADDRESSABLE type.

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


-- 


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



  1   2   >