[Bug middle-end/19410] Overlapping memcpy with big struct copies

2005-09-12 Thread ebotcazou at gcc dot gnu dot org

--- Additional Comments From ebotcazou at gcc dot gnu dot org  2005-09-12 
07:12 ---
Here are 2 equivalent testcases in Ada and C:

procedure p is

  SUBTYPE INT IS INTEGER RANGE 0..1000;

  TYPE RECTYPE (CONSTRAINT : INT := 80) IS
  RECORD
INTFIELD  : INTEGER;
STRFIELD  : STRING (1..CONSTRAINT);
  END RECORD;

  REC1  : RECTYPE(1000);

  PROCEDURE COPY_RECTYPE (REC : OUT RECTYPE) is
  begin
REC := REC1;
  end;

begin
  COPY_RECTYPE (REC1);
end;


struct A
{
  int a[1024];
};

struct A my_a;

void g(struct A *a)
{
  *a = my_a;
}

int main(void)
{
  g(&my_a);
}


The call to "memcpy" is hard-wired in the middle-end (expr.c:1390):

void
init_block_move_fn (const char *asmspec)
{
  if (!block_move_fn)
{
  tree args, fn;

  fn = get_identifier ("memcpy");
  args = build_function_type_list (ptr_type_node, ptr_type_node,
   const_ptr_type_node, sizetype,
   NULL_TREE);

  fn = build_decl (FUNCTION_DECL, fn, args);
  DECL_EXTERNAL (fn) = 1;
  TREE_PUBLIC (fn) = 1;
  DECL_ARTIFICIAL (fn) = 1;
  TREE_NOTHROW (fn) = 1;

  block_move_fn = fn;
}


I still don't plan to work on this in the near future.


-- 
   What|Removed |Added

 CC||ebotcazou at gcc dot gnu dot
   ||org
 AssignedTo|ebotcazou at gcc dot gnu dot|unassigned at gcc dot gnu
   |org |dot org
 Status|ASSIGNED|NEW


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


[Bug middle-end/19419] Overlapping memcpy with discriminated types

2005-09-12 Thread ebotcazou at gcc dot gnu dot org

--- Additional Comments From ebotcazou at gcc dot gnu dot org  2005-09-12 
07:25 ---
I agree with Andrew, the call to __builtin_memcpy is present in t03.gimple but
not in t02.original and is hard-wired in gimplify_modify_expr_to_memcpy:

  to_ptr = build_fold_addr_expr (to);
  args = tree_cons (NULL, to_ptr, args);
  t = implicit_built_in_decls[BUILT_IN_MEMCPY];
  t = build_function_call_expr (t, args);


-- 
   What|Removed |Added

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


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


[Bug ada/19037] constant renaming creates new constant

2005-09-12 Thread ebotcazou at gcc dot gnu dot org

--- Additional Comments From ebotcazou at gcc dot gnu dot org  2005-09-12 
07:53 ---
Investigating.


-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ebotcazou at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2005-06-16 22:44:08 |2005-09-12 07:53:48
   date||


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


[Bug middle-end/23828] local calling convention not used when using -fwhole-program --combine

2005-09-12 Thread rguenth at gcc dot gnu dot org

--- Additional Comments From rguenth at gcc dot gnu dot org  2005-09-12 
08:10 ---
The testcase is definitely too large and trying to create a simple two-file
based one didn't work out to reproduce the problem.  If it changes
calling-conventions
in single-file compile mode the function must be declared static, so it
definitely may be changed in whole-program mode, too.

-- 


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


[Bug c++/23823] Is this right?

2005-09-12 Thread rguenth at gcc dot gnu dot org

--- Additional Comments From rguenth at gcc dot gnu dot org  2005-09-12 
08:15 ---
It could say, instead of

foo.cc:13: error: partial specialization `g' of function template

rather

foo.cc:13: error: partial specialization `g' of function template not
allowed

to make it clear that the following errors are just other ways of saying the 
above.

-- 
   What|Removed |Added

   Keywords||diagnostic


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


[Bug fortran/18899] [gfortran] ubound wrongly calculated for passed array

2005-09-12 Thread rsandifo at gcc dot gnu dot org

--- Additional Comments From rsandifo at gcc dot gnu dot org  2005-09-12 
08:51 ---
About to post a patch.

-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rsandifo at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2005-09-10 14:51:18 |2005-09-12 08:51:06
   date||


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


[Bug c/12245] [3.4/4.0/4.1 regression] Uses lots of memory when compiling large initialized arrays

2005-09-12 Thread rguenth at gcc dot gnu dot org

--- Additional Comments From rguenth at gcc dot gnu dot org  2005-09-12 
08:55 ---
Max memory usage on (checking-disabled) mainline is now 253149kB (on a machine
with 1GB of RAM) for C and 403669kB for C++ (!)

-- 


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


[Bug target/23831] New: ICE in immed_double_const with vectorized multipication

2005-09-12 Thread uros at kss-loka dot si
This testcase ICEs with -O2 -msse2 -ftree-vectorize:

void
test_1 (void)
{
  static unsigned int bm[16];
  int j;
  for (j = 0; j < 16; j++)
bm[j] = bm[j] * 8;
}

prxxx.c: In function 'test_1':
prxxx.c:8: internal compiler error: in immed_double_const, at emit-rtl.c:468

[BTW: This bug was found when dealing with PR target/22480. As a nice 
enhancement, this code should actually be transformed into vector left shift by 
3.]

-- 
   Summary: ICE in immed_double_const with vectorized multipication
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code, ssemmx
  Severity: normal
  Priority: P2
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: uros at kss-loka dot si
CC: gcc-bugs 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=23831


[Bug tree-optimization/23817] [4.1 Regression] ICE in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c:398

2005-09-12 Thread rakdver at gcc dot gnu dot org

--- Additional Comments From rakdver at gcc dot gnu dot org  2005-09-12 
09:32 ---
Patch.

-- 
   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2005-
   ||09/msg00706.html


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


[Bug libstdc++/23767] std::vector iterator implementation wrong

2005-09-12 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-12 
09:44 ---
Subject: Bug 23767

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-09-12 09:42:36

Modified files:
libstdc++-v3   : ChangeLog 
libstdc++-v3/include/bits: stl_iterator.h 
Added files:
libstdc++-v3/testsuite/23_containers/vector/types: 23767.cc 
libstdc++-v3/testsuite/21_strings/basic_string/types: 23767.cc 
libstdc++-v3/testsuite/ext/vstring/types: 23767.cc 

Log message:
2005-09-12  Paolo Carlini  <[EMAIL PROTECTED]>

PR libstdc++/23767
* include/bits/stl_iterator.h (__normal_iterator::
__normal_iterator<>(const __normal_iterator<_Iter, _Container>&)):
Enable only when _Iter is equal to _Container::pointer.
* testsuite/21_strings/basic_string/types/23767.cc: New.
* testsuite/23_containers/vector/types/23767.cc: Likewise.
* testsuite/ext/vstring/types/23767.cc: Likewise.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.3096&r2=1.3097
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/stl_iterator.h.diff?cvsroot=gcc&r1=1.28&r2=1.29
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/23_containers/vector/types/23767.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/21_strings/basic_string/types/23767.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/ext/vstring/types/23767.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1



-- 


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


[Bug libstdc++/23767] std::vector iterator implementation wrong

2005-09-12 Thread pcarlini at suse dot de

--- Additional Comments From pcarlini at suse dot de  2005-09-12 09:45 
---
Fixed for 4.1.

-- 
   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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


[Bug libstdc++/23767] std::vector iterator implementation wrong

2005-09-12 Thread pcarlini at suse dot de

--- Additional Comments From pcarlini at suse dot de  2005-09-12 09:46 
---
Fixed for 4.1.

-- 
   What|Removed |Added

   Target Milestone|--- |4.1.0


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


[Bug c/12245] [3.4/4.0/4.1 regression] Uses lots of memory when compiling large initialized arrays

2005-09-12 Thread rguenth at gcc dot gnu dot org

--- Additional Comments From rguenth at gcc dot gnu dot org  2005-09-12 
10:03 ---
One problem is that we use integer tree nodes for counting from zero to N, which
is just stupid and wastes RAM (because we do not collect during building the
initializer).  Of course we also store that "index" in the initializer element
list.

This whole mess asks for a (less general) rewrite.  Minimal-invasive surgery
is impossible.

-- 


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


[Bug c/12245] [3.4/4.0/4.1 regression] Uses lots of memory when compiling large initialized arrays

2005-09-12 Thread giovannibajo at libero dot it

--- Additional Comments From giovannibajo at libero dot it  2005-09-12 
10:08 ---
The problem is that the gimplifier always want the index field of the 
constructor element to be filled. If you fix that in the obvious way (so 
that "no index" means "previous index + 1"), it should be quite easy to fix, 
for C++. In C, I have no clue how this interacts with designated initializers 
though.

-- 


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


[Bug libfortran/20179] cannot mix C and Fortran I/O

2005-09-12 Thread T dot Farago at lumc dot nl

--- Additional Comments From T dot Farago at lumc dot nl  2005-09-12 10:13 
---
Ah great for fixing this, will try out as soon as the latest snapshot comes. I 
had the problem that was present in comment #17, just Fortran, no C-Fortran 
mix. 
It must have been some kind of regression (at least for libfortran) because it 
worked in the 4.0.0 release when we first tried it.

-- 


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


[Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file

2005-09-12 Thread rguenth at gcc dot gnu dot org

--- Additional Comments From rguenth at gcc dot gnu dot org  2005-09-12 
10:52 ---
The second testcase works for me on current mainline if adding a class UltraRoot
forward declaration at the top.  It takes around 1m30 to compile and uses up
max. 522913kB of memory (1GB box, P4 2.8GHz) at -O2.  Still aliasing accounts 
for
the most time:

samples  %image name   symbol name
694  26.6411  cc1plus  add_stmt_operand
209   8.0230  cc1plus  ldst_entry
193   7.4088  cc1plus  create_ssa_artficial_load_stmt
181   6.9482  cc1plus  compute_global_livein
572.1881  cc1plus  bitmap_bit_p
501.9194  no-vmlinux   (no symbols)
451.7274  cc1plus  compute_may_aliases
421.6123  cc1plus  invalidate
361.3820  cc1plus  bitmap_ior_and_compl_into
351.3436  cc1plus  bitmap_set_bit
351.3436  cc1plus  for_each_rtx_1
331.2668  cc1plus  check_dependence
291.1132  cc1plus  splay_tree_splay_helper
281.0749  cc1plus  htab_find_slot_with_hash

The 2nd is from GCSE, 3rd from DOM, 4th from either into-ssa or ssa-loop-manip.
Time-report:

 tree SSA incremental  :  14.27 (17%) usr   0.11 ( 3%) sys  14.46 (16%) wall  
12827 kB ( 2%) ggc
 tree operand scan :  15.62 (18%) usr   0.27 ( 8%) sys  15.93 (18%) wall  
59212 kB (10%) ggc
 dominator optimization:   8.67 (10%) usr   0.05 ( 1%) sys   8.64 (10%) wall 
110089 kB (19%) ggc

 PRE   :   6.14 ( 7%) usr   0.01 ( 0%) sys   6.13 ( 7%) wall   
 536 kB ( 0%) ggc


ldst_entry is walking a list to find an element by hash-id.  Throw some
memory at it to add a real hashtable for lookup besides the list.

The DOM stuff looks like value numbering still in DOM, hopefully it will be
ripped out.

-- 


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


[Bug fortran/20405] [meta-bug] equivalenced variable problems

2005-09-12 Thread tobi at gcc dot gnu dot org


-- 
Bug 20405 depends on bug 15382, which changed state.

Bug 15382 Summary: frontend too lenient when checking variable declarations
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15382

   What|Old Value   |New Value

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

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


[Bug fortran/15382] frontend too lenient when checking variable declarations

2005-09-12 Thread tobi at gcc dot gnu dot org

--- Additional Comments From tobi at gcc dot gnu dot org  2005-09-12 11:06 
---
[EMAIL PROTECTED]:~/src/tests> ../gcc/build/gcc/f951 pr15083.f90
 In file pr15083.f90:4

REAL :: Y = 1.
 1
Error: Initializer not allowed for COMMON variable 'y' at (1)

Execution times (seconds)
 TOTAL :   0.01 0.00 0.02  
 533 kB
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --disable-checking to disable checks.
[EMAIL PROTECTED]:~/src/tests> 

This was fixed by Paul Thomas' recent patches for commons and equivalences.

-- 
   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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


[Bug fortran/19292] [meta-bug] g77 features lacking in gfortran

2005-09-12 Thread tobi at gcc dot gnu dot org


-- 
Bug 19292 depends on bug 18870, which changed state.

Bug 18870 Summary: [g77 regression] Equivalencing two common blocks is not 
caught
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18870

   What|Old Value   |New Value

 Status|NEW |RESOLVED
 Resolution||FIXED

Bug 19292 depends on bug 15382, which changed state.

Bug 15382 Summary: frontend too lenient when checking variable declarations
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15382

   What|Old Value   |New Value

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

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


[Bug libfortran/20179] cannot mix C and Fortran I/O

2005-09-12 Thread fxcoudert at gcc dot gnu dot org

--- Additional Comments From fxcoudert at gcc dot gnu dot org  2005-09-12 
11:18 ---
(In reply to comment #21)
> It must have been some kind of regression (at least for libfortran) because 
> it 
> worked in the 4.0.0 release when we first tried it.

This bug was introduced while fixing another bug. This will now work on both
branches, including 4.0.2 (to be released soon).

-- 


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


[Bug target/23832] New: libjava build failure on sh64

2005-09-12 Thread kkojima at gcc dot gnu dot org
libjava build on sh64-uknown-linux-gnu fails with:

/ext3/suzaku/home/kkojima/xsh-gcc/gcc/gcj
-B/ext3/suzaku/home/kkojima/xsh-gcc/sh64-unknown-linux-gnu/libjava/
-B/ext3/suzaku/home/kkojima/xsh-gcc/gcc/ -mieee -fclasspath=
-fbootclasspath=/ext3/suzaku/home/kkojima/xsh-gcc/sh64-unknown-linux-gnu/libjava/classpath/lib
--encoding=UTF-8 -Wno-deprecated -fbootstrap-classes -g -O2 -c -MT
javax/swing/plaf/basic.lo -MD -MP -MF javax/swing/plaf/basic.deps
@javax/swing/plaf/basic.list -fPIC -o javax/swing/plaf/.libs/basic.o
../../../LOCAL/gcc/libjava/classpath/javax/swing/plaf/basic/BasicTabbedPaneUI.java:
In class 'javax.swing.plaf.basic.BasicTabbedPaneUI$TabbedPaneLayout':
../../../LOCAL/gcc/libjava/classpath/javax/swing/plaf/basic/BasicTabbedPaneUI.java:
In method
'javax.swing.plaf.basic.BasicTabbedPaneUI$TabbedPaneLayout.calculateSize(boolean)':
../../../LOCAL/gcc/libjava/classpath/javax/swing/plaf/basic/BasicTabbedPaneUI.java:214:
internal compiler error: Segmentation fault

It started to fail at 20050827 and the segfault occurs in insn-recog.c
at the code like

 ...
 tem = peep2_next_insn (2);
 x1 = PATTERN (tem);
 ...

where peep2_next_insn returns (pc) which is the PEEP2_EOB marker.

-- 
   Summary: libjava build failure on sh64
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code, build
  Severity: normal
  Priority: P2
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kkojima at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: sh64-unknown-linux-gnu


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


[Bug tree-optimization/17790] [4.0/4.1 Regression] Significant compile time increases for sixtrack with tree LICM and IV optimization

2005-09-12 Thread rguenth at gcc dot gnu dot org

--- Additional Comments From rguenth at gcc dot gnu dot org  2005-09-12 
12:02 ---
Current mainline with -O3 -funroll-loops daten.f takes 3.6s to compile.  

 loop invariant motion :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree canonical iv :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   8 kB ( 0%) ggc

Multiple compilations finally produce an evenly distributed profile:

samples  %image name   symbol name
914.8097  no-vmlinux   (no symbols)
321.6913  f951 cse_insn
291.5328  f951 count_reg_usage
281.4799  f951 mark_set_1
261.3742  f951 constrain_operands
231.2156  f951 bitmap_bit_p
221.1628  f951 find_reg_note
221.1628  f951 init_alias_analysis
201.0571  f951 for_each_rtx_1
191.0042  f951 invalidate


-- 


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


[Bug middle-end/23714] [4.1 Regression] ICE in expand_assignment

2005-09-12 Thread bonzini at gcc dot gnu dot org

--- Additional Comments From bonzini at gcc dot gnu dot org  2005-09-12 
12:35 ---
reduced testcase, also failing with -O2 -fnon-call-exceptions

void run (void) {
  float stack[1];
  *(stack - 1) = 0.0;
}


-- 


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


[Bug middle-end/23714] [4.1 Regression] ICE in expand_assignment

2005-09-12 Thread bonzini at gcc dot gnu dot org

--- Additional Comments From bonzini at gcc dot gnu dot org  2005-09-12 
12:41 ---
The problem is that the array is mapped to a single SFmode register.

One could probably replace the assert with a run-time invocation of abort().

-- 


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


[Bug c++/23823] Is this right?

2005-09-12 Thread neil at daikokuya dot co dot uk

--- Additional Comments From neil at daikokuya dot co dot uk  2005-09-12 
12:42 ---
Subject: Re:  Is this right?

igodard at pacbell dot net wrote:-

> 
> --- Additional Comments From igodard at pacbell dot net  2005-09-12 03:17 
> ---
> In the case you give I count one template argument specificatiob, and two
> template parameters.

Your understanding of the meaning of "parameter" and "argument" is
backwards, which is probably the source of your confusion.

Neil.


-- 


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


[Bug c++/23823] Is this right?

2005-09-12 Thread igodard at pacbell dot net

--- Additional Comments From igodard at pacbell dot net  2005-09-12 12:48 
---
Neil -

Backwards no doubt! I'm sure that any programmer who has studied the formal
syntax of C++ will have it correctly forwards. For the remaining 99.95% of
programmers (who like me tend to use "parameter" and "argument" somewhat
interchangably) a little help in the diagnostic would be a welcome blessing.

Of course, if the target audience for gcc is the developers that work on it,
then the present message is just fine...

Ivan

-- 


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


[Bug c++/23825] [4.0/4.1 Regression] Extra C++ failures

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
13:10 ---
Fixed by:
* decl2.c (build_anon_union_vars): Copy attributes from the base addr.
* pt.c (tsubst_decl): Substitute in DECL_VALUE_EXPR.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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


[Bug c++/23833] New: warning: "ignoring packed attribute on unpacked non-POD field" on templates

2005-09-12 Thread Dmitry dot Chepel at acronis dot com
gcc ver 3.4.3
system type: any
g++ -v -save-temps -Wall test.cpp
i see bug 17519 but this can be other bug.

-- 
   Summary: warning: "ignoring packed attribute on unpacked non-POD
field" on templates
   Product: gcc
   Version: 3.4.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: Dmitry dot Chepel at acronis dot com
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug c++/23833] warning: "ignoring packed attribute on unpacked non-POD field" on templates

2005-09-12 Thread Dmitry dot Chepel at acronis dot com

--- Additional Comments From Dmitry dot Chepel at acronis dot com  
2005-09-12 13:45 ---
Created an attachment (id=9709)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9709&action=view)
output from compler


-- 


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


[Bug c++/23833] warning: "ignoring packed attribute on unpacked non-POD field" on templates

2005-09-12 Thread Dmitry dot Chepel at acronis dot com

--- Additional Comments From Dmitry dot Chepel at acronis dot com  
2005-09-12 13:46 ---
Created an attachment (id=9710)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9710&action=view)
the preprocessed file


-- 


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


[Bug c++/23833] warning: "ignoring packed attribute on unpacked non-POD field" on templates

2005-09-12 Thread Dmitry dot Chepel at acronis dot com

--- Additional Comments From Dmitry dot Chepel at acronis dot com  
2005-09-12 13:46 ---
#include   
template
  struct GuidTemplate
  {
char kk;
D TimeLow;
W TimeMid;
W TimeHiAndVer;
union
{
  char ClkSeqAndNodeArray[8];
  long long ClkSeqAndNodeQword;
  struct
  {
char ClkSeqHiAndVariant;
char ClkSeqLow;
char Node[6];
  };
};
GuidTemplate() {}

  } __attribute__ ((packed));

  typedef GuidTemplate LeGuid;

  struct PartitionEntry
  { 
LeGuid PartitionTypeGuid; // Unique ID that defines the purpose and type of 
this Partition. 
// A value of zero defines that this partition 
 // record is not being used.
LeGuid UniquePartitionGuid;// GUID that is unique for every partition 
record. Every
 // partition ever created will have a unique GUID. 
This
 // GUID must be assigned when the GUID Partition 
Entry
 // is created. The GUID Partition Entry is created 
when
 // ever the NumberOfPartitionEntries in the
 // GUID Partition Table Header is increased to 
include a
 // larger range of addresses.
//le_qword StartingLba;// Starting LBA of the partition defined by this 
record
///le_qword EndingLba;  // Ending LBA of the partition defined by this 
record
//le_qword Attributes; // All bit EFI Reserved
//le_word PartitionName[GPT_PARTITION_NAME_LENGTH];  // Human readable 
Unicode string identification
  } __attribute__ ((packed)); 

 
int main()
{
  PartitionEntry entry;
  std::cout << "sizeof structute  LeGuid = " << sizeof(LeGuid) << "\n";
  std::cout << "sizeof structute PartitionEntry = " << sizeof(PartitionEntry) 
<< 
"\n";
  return 0;
}


-- 


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


[Bug middle-end/23290] Layout changed for structure with single complex field

2005-09-12 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-12 
13:50 ---
Subject: Bug 23290

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-09-12 13:50:03

Modified files:
gcc: ChangeLog stor-layout.c 

Log message:
PR middle-end/23290
* stor-layout.c (compute_record_mode): For records with a single
field, actually check the field's mode size against the type size.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.9937&r2=2.9938
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/stor-layout.c.diff?cvsroot=gcc&r1=1.241&r2=1.242



-- 


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


[Bug target/23831] [4.1 Regression] ICE in immed_double_const with vectorized multipication

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
13:51 ---
Confirmed, works correctly on powerpc-darwin with about the same IR.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
  GCC build triplet|i686-pc-linux-gnu   |
   GCC host triplet|i686-pc-linux-gnu   |
  Known to fail||4.1.0
  Known to work||4.0.0
   Last reconfirmed|-00-00 00:00:00 |2005-09-12 13:51:38
   date||
Summary|ICE in immed_double_const   |[4.1 Regression] ICE in
   |with vectorized |immed_double_const with
   |multipication   |vectorized multipication
   Target Milestone|--- |4.1.0


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


[Bug tree-optimization/23818] [4.1 Regression] ICE in dominated_by_p, at dominance.c:827

2005-09-12 Thread belyshev at depni dot sinp dot msu dot ru

--- Additional Comments From belyshev at depni dot sinp dot msu dot ru  
2005-09-12 14:20 ---
Patch posted.

-- 
   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2005-
   ||09/msg00719.html


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


[Bug fortran/23815] Add -byteswapio flag

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
14:29 ---
Confirmed.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-09-12 14:29:20
   date||
Summary|Add -byteswapio flag|Add -byteswapio flag


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


[Bug rtl-optimization/23812] swapping DImode halves produces poor x86 register allocation

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
14:31 ---
Confirmed, basicially the same issue as PR 15792.

-- 
   What|Removed |Added

  BugsThisDependsOn||15792
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-09-12 14:31:14
   date||


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


[Bug middle-end/23290] [4.0 Regression] Layout changed for structure with single complex field

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
14:52 ---
Confirmed, only a 4.0 regression now.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-09-12 14:52:40
   date||
Summary|Layout changed for structure|[4.0 Regression] Layout
   |with single complex field   |changed for structure with
   ||single complex field
   Target Milestone|--- |4.0.2


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


[Bug c++/23823] Is this right?

2005-09-12 Thread bangerth at dealii dot org

--- Additional Comments From bangerth at dealii dot org  2005-09-12 14:54 
---
(In reply to comment #9) 
 
> Of course, if the target audience for gcc is the developers that work on it, 
> then the present message is just fine... 
 
Well, it certainly isn't. We are just struggling with trying to find wordings 
that are understandable for the laypeople while still trying to be concise 
in notation, i.e. using the terminology of the standard. In addition, error 
messages need to be short. 
 
I, too, use argument and parameter interchangeably in colloquial speaking, 
but I believe that we should not do that in error messages. 
 
That said, I think Richard's suggestion in comment #7 goes in the right 
direction. 
 
W. 

-- 


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


[Bug rtl-optimization/23098] [4.1 Regression] store of 0.0 to float

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
15:12 ---
Fixed.

-- 
   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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


[Bug fortran/20971] gfortran - internal compiler error on bad program -fdefault-integer-8

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
15:21 ---
Fixed at least on the mainline.

-- 
   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.1.0


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


[Bug libfortran/21468] vectorizing libfortran

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
15:23 ---
PR 22480 refences a PR which currently blocks doing this.

-- 
   What|Removed |Added

  BugsThisDependsOn||22480


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


[Bug c++/23823] Is this right?

2005-09-12 Thread gdr at integrable-solutions dot net

--- Additional Comments From gdr at integrable-solutions dot net  
2005-09-12 15:39 ---
Subject: Re:  Is this right?

"bangerth at dealii dot org" <[EMAIL PROTECTED]> writes:

| That said, I think Richard's suggestion in comment #7 goes in the right 
| direction. 

Indeed.  I would approve a patch implementating that suggestion.

-- Gaby


-- 


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


[Bug middle-end/23237] [4.1 Regression] -O1 rejects valid code (xxx causes a section type conflict).

2005-09-12 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-12 
15:46 ---
Subject: Bug 23237

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-09-12 15:46:35

Modified files:
gcc: ChangeLog ipa-reference.c 

Log message:
pr middle-end/23237
* ipa-reference.c (static_execute): Don't mark variables in
named sections TREE_READONLY.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.9940&r2=2.9941
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ipa-reference.c.diff?cvsroot=gcc&r1=2.3&r2=2.4



-- 


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


[Bug middle-end/23237] [4.1 Regression] -O1 rejects valid code (xxx causes a section type conflict).

2005-09-12 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-12 
15:50 ---
Subject: Bug 23237

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-09-12 15:50:08

Modified files:
gcc/testsuite  : ChangeLog 
Added files:
gcc/testsuite/gcc.c-torture/compile: pr23237.c 

Log message:
pr middle-end/23237
* gcc.c-torture/compile/pr23237.c: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.6047&r2=1.6048
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/compile/pr23237.c.diff?cvsroot=gcc&r1=NONE&r2=1.1



-- 


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


[Bug tree-optimization/23834] New: Not removing a SSA_NAME which is not used

2005-09-12 Thread pinskia at gcc dot gnu dot org
Take following code:
int g(void);
int h(void)
{
  int i = g();
  return 9;
}
int h1(void)
{
  g();
  return 9;
}


In h(), we could remove the assignment to i and this helps out a little in 
compile time when expanding 
to RTL.  DCE could be doing this but does not.  I thought about this issue when 
I was working on my 
quick and dirty DCE.

-- 
   Summary: Not removing a SSA_NAME which is not used
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Keywords: compile-time-hog
  Severity: enhancement
  Priority: P2
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug c++/23835] New: case where gcc 4.1.0 -O3 compile takes 4 times longer than gcc 3.4.3, on ia64

2005-09-12 Thread jaffe at broad dot mit dot edu
We observe that on ia64,
   gcc -On -c test.ii (n = 1,2,3)
is several times slower under gcc 4.1.0 than gcc 3.4.3:

Compile time in seconds

 -O0 -O1-O2 -O3

3.4.3   5.659   9.515  13.811  14.779
4.1.0   8.417  44.652  56.176  60.204

This is typical of what we observe for compiles of long files.

Hardware: IA-64 (Itanium 2), 1600 MHz, running Linux 2.6.12.2n.

% gcc -v
Reading specs from /util/bin/../lib/gcc/ia64-unknown-linux-gnu/3.4.3/specs
Configured with: ../gcc-3.4.3/configure --prefix=/mnt/util/ia64
Thread model: posix
gcc version 3.4.3

% gcc -v
Using built-in specs.
Target: ia64-unknown-linux-gnu
Configured with: ../configure --prefix=/wga1/gcc
Thread model: posix
gcc version 4.1.0 20050730 (experimental)

-- 
   Summary: case where gcc 4.1.0 -O3 compile takes 4 times longer
than gcc 3.4.3, on ia64
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jaffe at broad dot mit dot edu
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: ia64-unknown-linux-gnu
  GCC host triplet: ia64-unknown-linux-gnu
GCC target triplet: ia64-unknown-linux-gnu


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


[Bug c++/23835] case where gcc 4.1.0 -O3 compile takes 4 times longer than gcc 3.4.3, on ia64

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
16:32 ---
(In reply to comment #0)
> % gcc -v
> Using built-in specs.
> Target: ia64-unknown-linux-gnu
> Configured with: ../configure --prefix=/wga1/gcc
> Thread model: posix
> gcc version 4.1.0 20050730 (experimental)

You are compiling with checking enabled.  Try to configure with 
--enable-checking=release and try 
again.

-- 


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


[Bug c++/23835] case where gcc 4.1.0 -O3 compile takes 4 times longer than gcc 3.4.3, on ia64

2005-09-12 Thread jaffe at broad dot mit dot edu

--- Additional Comments From jaffe at broad dot mit dot edu  2005-09-12 
16:33 ---
Created an attachment (id=9711)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9711&action=view)
preprocessed source code


-- 


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


[Bug ada/23836] New: Invalid code generated

2005-09-12 Thread james at recherche dot enac dot fr
The gnat 4.0 compiler generates invalid code for the following program.

The output of the program is
 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
which is of course not right...
If line labelled 1 is removed and replaced by line labelled 2, the output is
correct.
The output is also correct if part 1 is replaced by part 2, while both parts are
semanticaly identical.It must also be noted that the overlay is only declared
and never used. The code is OK with gnat 3.4 

Command passed by gnat to gcc:
gcc-4.0 -c toto.adb

Result of gcc -v:
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,java,f95,objc,ada,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib --enable-nls
--without-included-gettext --enable-threads=posix --program-suffix=-4.0
--enable-__cxa_atexit --enable-libstdcxx-allocator=mt --enable-clocale=gnu
--enable-libstdcxx-debug --enable-java-gc=boehm --enable-java-awt=gtk
--enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre
--enable-mpfr --disable-werror --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.0.2 20050821 (prerelease) (Debian 4.0.1-6)

ADA program:

with Text_Io;
use Text_Io;
with Interfaces;
use Interfaces;


procedure Toto is
   type Intboard is new Unsigned_64;
   for Intboard'Size use 64;
   type Bit is new Integer range 0..1;
   for Bit'Size use 1;
   type Bitboard is array (0..63) of Bit;
   pragma Pack(Bitboard);
   for Bitboard'Size use 64;

   A_B : Bitboard;
   A_I : Intboard;
   for A_I'Address use A_B'Address;--label1
--   for A_B'Address use A_I'Address;  --label2

begin
   --part 1
   for I in 0 .. 7 loop
  for J in 0 .. 7 loop
 A_B(I*8+J) := 1;
 Put(Bit'Image(A_B(I*8+J)));
  end loop;
   end loop;

   --part 2
--   for I in 0 .. 63 loop
--  A_B(I) := 1;
--  Put(Bit'Image(A_B(I)));
--   end loop;
end Toto;

-- 
   Summary: Invalid code generated
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: james at recherche dot enac dot fr
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug middle-end/23237] [4.1 Regression] -O1 rejects valid code (xxx causes a section type conflict).

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
17:54 ---
Fixed.

-- 
   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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


[Bug target/23552] FAIL: gfortran.dg/large_real_kind_1.f90

2005-09-12 Thread sje at cup dot hp dot com

--- Additional Comments From sje at cup dot hp dot com  2005-09-12 18:31 
---
This failure is due to the fact that isfinite() does not work for 'long double'
types on HP-UX 11.00.  isfinite() is used when writing floating point values in
the Fortran IO library.

-- 
   What|Removed |Added

 CC||sje at cup dot hp dot com
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-09-12 18:31:21
   date||


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


[Bug c++/23835] case where gcc 4.1.0 -O3 compile takes 4 times longer than gcc 3.4.3, on ia64

2005-09-12 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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


[Bug c++/23437] [3.4/4.0/4.1 Regression] error: ... cannot appear in a constant-expression

2005-09-12 Thread pannuri at cavs dot msstate dot edu

--- Additional Comments From pannuri at cavs dot msstate dot edu  
2005-09-12 18:39 ---
It seems this works:
#include 
 #include 

 static const double PI = M_PI;
 static const double TWO_PI = (2.0*PI);
 static const double HALF_PI = (M_PI_2);
 static const double QUARTER_PI = (M_PI_4);

 main (int argc, char** argv) {
  int i = 0;
  printf("%ld\n", i);
  return 0;
 }

But putting these inside of a class doesn't work:

class Foo {
  Foo(){};
  ~Foo(){};
  static const double PI = M_PI;
  static const double TWO_PI = (2.0*PI);
  static const double HALF_PI = (M_PI_2);
  static const double QUARTER_PI = (M_PI_4);
};

-Madhulika 

-- 


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


[Bug libstdc++/19265] problem with _S_destroy_thread_key when using dynamic libraries

2005-09-12 Thread bkoz at gcc dot gnu dot org


-- 
   What|Removed |Added

  BugsThisDependsOn||22309


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


[Bug c++/23691] [4.0 Regression] `mpl_::bool_::value' is not a valid template argument for type `bool' because it is a non-constant expression

2005-09-12 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-12 
19:01 ---
Subject: Bug 23691

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-09-12 19:00:57

Modified files:
gcc/testsuite  : ChangeLog 
Added files:
gcc/testsuite/g++.dg/template: static16.C 

Log message:
PR c++/23691
* g++.dg/template/static16.C: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.6048&r2=1.6049
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/static16.C.diff?cvsroot=gcc&r1=1.1&r2=1.2



-- 


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


[Bug rtl-optimization/23837] New: [4.0, 4.1 regression] Wrong code with -fschedule-insns

2005-09-12 Thread debian-gcc at lists dot debian dot org
[forwarded from http://bugs.debian.org/326026]

[EMAIL PROTECTED]:~% cat test.c
void abort(void);

unsigned long long f(unsigned long long x) {
return ((x >> 8) | (x << 56)) ^ ((x >> 48) | (x << 16)) ^ (x >> 1);
}

int main() {
volatile unsigned long long v = 0x1122334455667788ULL;
if (f(v) != 0xb3c46ef7196e4c91ULL)
abort();
return 0;
}

[EMAIL PROTECTED]:~% gcc-4.0 -O1 -fno-schedule-insns test.c && ./a.out
[EMAIL PROTECTED]:~% gcc-4.0 -O1 -fschedule-insns test.c && ./a.out   
zsh: abort (core dumped)  ./a.out

Reproduced with 4.0.2 20050821 on hppa-linux and with 4.1.0 20050705 on
i686-linux.

-- 
   Summary: [4.0, 4.1 regression] Wrong code with -fschedule-insns
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: critical
  Priority: P2
 Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: debian-gcc at lists dot debian dot org
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug libstdc++/19265] problem with _S_destroy_thread_key when using dynamic libraries

2005-09-12 Thread bkoz at gcc dot gnu dot org

--- Additional Comments From bkoz at gcc dot gnu dot org  2005-09-12 19:02 
---

This should be solved with 22309. I'd like to consolidate the bug reports to
22309, and am closing this one.

-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |bkoz at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED


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


[Bug libstdc++/19265] problem with _S_destroy_thread_key when using dynamic libraries

2005-09-12 Thread bkoz at gcc dot gnu dot org

--- Additional Comments From bkoz at gcc dot gnu dot org  2005-09-12 19:03 
---


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

-- 
   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||DUPLICATE


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


[Bug libstdc++/22309] mt allocator doesn't pthread_key_delete it's keys

2005-09-12 Thread bkoz at gcc dot gnu dot org

--- Additional Comments From bkoz at gcc dot gnu dot org  2005-09-12 19:03 
---
*** Bug 19265 has been marked as a duplicate of this bug. ***

-- 
   What|Removed |Added

 CC||l_heldt at poczta dot onet
   ||dot pl


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


[Bug libstdc++/23734] [4.1 Regression] make[4]: execvp: /usr/local/bin/bash: Arg list too long

2005-09-12 Thread bkoz at gcc dot gnu dot org

--- Additional Comments From bkoz at gcc dot gnu dot org  2005-09-12 19:04 
---

Ok, ok, I'm on these two.

-benjamin

-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |bkoz at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED


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


[Bug rtl-optimization/23837] [4.0/4.1 regression] Wrong code with -fschedule-insns

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
19:05 ---
Confirmed but works with "4.0.0 20050225".

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||wrong-code
   Last reconfirmed|-00-00 00:00:00 |2005-09-12 19:05:03
   date||
Summary|[4.0, 4.1 regression] Wrong |[4.0/4.1 regression] Wrong
   |code with -fschedule-insns  |code with -fschedule-insns
   Target Milestone|--- |4.0.2


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


[Bug libstdc++/23591] exceptions in plugins in threads cause segmentation violation by leaving bad exit handler for the pthread

2005-09-12 Thread bkoz at gcc dot gnu dot org

--- Additional Comments From bkoz at gcc dot gnu dot org  2005-09-12 19:05 
---

I believe this is yet another manifestation of 22309.

-- 
   What|Removed |Added

  BugsThisDependsOn||22309
 AssignedTo|unassigned at gcc dot gnu   |bkoz at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED


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


[Bug libstdc++/22612] linking error while compiling ddd with g++ 3.4.0 on solaris 9,

2005-09-12 Thread bkoz at gcc dot gnu dot org

--- Additional Comments From bkoz at gcc dot gnu dot org  2005-09-12 19:08 
---

Waiting for feedback. Also, can you make sure that the toolchain you are using
passes the regression tests (ie make check?)

thanks,
benjamin

-- 


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


[Bug libstdc++/23278] SJLJ-exceptions broken

2005-09-12 Thread bkoz at gcc dot gnu dot org

--- Additional Comments From bkoz at gcc dot gnu dot org  2005-09-12 19:13 
---

There are no platform details, no reproducing sources, and all this on a
toolchain that is now mostly frozen.

In addition, I also cannot tell why dwarf eh is not being used. So, the answer
the question, does anybody use SJLJ exceptions on linux is: no, not really. 

Not unless the target is completely brain dead.

-benjamin

-- 


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


[Bug libstdc++/23497] [4.1 regression] Bogus 'is used uninitialized...' warning about std::complex

2005-09-12 Thread bkoz at gcc dot gnu dot org

--- Additional Comments From bkoz at gcc dot gnu dot org  2005-09-12 19:18 
---

Agree with Gaby.

-- 


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


[Bug c/10719] invalid code generated (x86, "int $5") with __builtin_va_arg(va, char);

2005-09-12 Thread falk at debian dot org

--- Additional Comments From falk at debian dot org  2005-09-12 19:19 
---
(In reply to comment #14)

> Why not reopen this to add a -Wundefined-behavior, so that at least bugs like 
> that could be caught up front when using -Werror?

There is already an unconditional warning, so what would be the point?


-- 


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


[Bug libstdc++/23417] bits/stl_tree.h isn't -Weffc++ clean

2005-09-12 Thread bkoz at gcc dot gnu dot org

--- Additional Comments From bkoz at gcc dot gnu dot org  2005-09-12 19:20 
---

Reproducer, compile with -Weffc++.

#include 
std::list l;

...fixing

-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |bkoz at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED


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


[Bug middle-end/23497] [4.1 regression] Bogus 'is used uninitialized...' warning about std::complex

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
19:21 ---
(In reply to comment #5)
> Agree with Gaby.

I disagree but what do I know.
It would be like doing:
int f(void)
{
  int i;
  i = (i&0x) | 0x;
  i = (i&0x) | 0x;
  return i;
}

There is no different in this example or the example which Falk gave really.

-- 
   What|Removed |Added

 CC||rth at gcc dot gnu dot org
  Component|libstdc++   |middle-end


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


[Bug fortran/23815] Add -byteswapio flag

2005-09-12 Thread falk at debian dot org

--- Additional Comments From falk at debian dot org  2005-09-12 19:22 
---
In case anybody wants to work on this, I have an old unfinished patch lying
around that adds builtins and RTL codes for byteswap operation. This allows
to use platform specific tricks that almost any platform has.


-- 


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


[Bug ada/23836] [4.0 Regression] Invalid code generated when accessing packed arrays

2005-09-12 Thread laurent at guerby dot net

--- Additional Comments From laurent at guerby dot net  2005-09-12 19:26 
---
Works on 4.1.0 20050908, confirm problem on 4.0.1 (don't have 3.4 handy).

[EMAIL PROTECTED]:~/tmp> gcc -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /home/guerby/work/gcc/version-head/configure
--prefix=/home/guerby/work/gcc/install/install-20050908T191957
--enable-languages=ada,c --enable-__cxa_atexit --disable-nls
--enable-threads=posix --disable-multilib --enable-checking
Thread model: posix
gcc version 4.1.0 20050908 (experimental)
[EMAIL PROTECTED]:~/tmp> gnatmake -g toto
gcc -c -g toto.adb
gnatbind -x toto.ali
gnatlink toto.ali -g
[EMAIL PROTECTED]:~/tmp> ./toto
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

[EMAIL PROTECTED]:~/tmp> gcc -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /home/guerby/tmp/gcc-4.0.1/configure --prefix=/opt/gcc/4.0.1
-enable-__cxa_atexit --disable-nls --enable-threads=posix --disable-multili
--enable-languages=c,ada
Thread model: posix
gcc version 4.0.1
[EMAIL PROTECTED]:~/tmp> ./toto
 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0
0 1 1 0 1 1 1 0 0 1 1 1 0 1 1 0 0 1 1 0 1 1 1 0



-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-09-12 19:26:49
   date||
Summary|Invalid code generated  |[4.0 Regression] Invalid
   ||code generated when
   ||accessing packed arrays
   Target Milestone|--- |4.0.2


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


[Bug tree-optimization/23838] New: infinite loop in dse

2005-09-12 Thread belyshev at depni dot sinp dot msu dot ru
// testcase, compile with "-O2 -fno-tree-dce -fno-tree-ccp -fno-tree-copy-prop
-fno-tree-dominator-opts"

int foo (void);

struct A {
  struct B {
struct B *n;
  } *p;
};

static inline void baz (struct A *a)
{
  a->p = a->p->n;
}

void bar (struct A a)
{
  while (foo ())
baz (&a);
  while (foo ());
}

-- 
   Summary: infinite loop in dse
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Keywords: compile-time-hog
  Severity: normal
  Priority: P2
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: belyshev at depni dot sinp dot msu dot ru
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug ada/23836] [4.0 Regression] Invalid code generated when accessing packed arrays

2005-09-12 Thread laurent at guerby dot net

--- Additional Comments From laurent at guerby dot net  2005-09-12 19:31 
---
>From a language point of view I doubt this construct is guaranteed to work, 
>I'll
let someone more knowledgeable say if GCC should support this or not.

In particular at -O1 or -O2 the program fail with 4.1. Could you report with -O1
and -O2 on 3.4?


-- 


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


[Bug tree-optimization/23838] infinite loop in dse

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
19:45 ---
Confirmed.
The loop below:
  /* Skip through any PHI nodes we have already seen if the PHI
 represents the only use of this store.

 Note this does not handle the case where the store has
 multiple V_{MAY,MUST}_DEFs which all reach a set of PHI nodes in the
 same block.  */

Is causing the issue.

-- 
   What|Removed |Added

 CC||law at gcc dot gnu dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-09-12 19:46:00
   date||


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


[Bug libstdc++/23417] bits/stl_tree.h isn't -Weffc++ clean

2005-09-12 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-12 
19:48 ---
Subject: Bug 23417

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-09-12 19:48:05

Modified files:
libstdc++-v3   : ChangeLog 
libstdc++-v3/include/bits: stl_list.h 

Log message:
2005-09-12  Benjamin Kosnik  <[EMAIL PROTECTED]>

PR libstdc++/23417
* include/bits/stl_list.h (_List_impl): Use member initialization
list for -Weffc++.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.3097&r2=1.3098
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/stl_list.h.diff?cvsroot=gcc&r1=1.52&r2=1.53



-- 


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


[Bug tree-optimization/22237] [4.0/4.1 Regression] struct copy inlining generates overlapping memcpy

2005-09-12 Thread janis at gcc dot gnu dot org

--- Additional Comments From janis at gcc dot gnu dot org  2005-09-12 19:51 
---
A regression hunt on mainline for powerpc64-linux (with -m64) shows that the
test starts failing with this patch from rth:

  http://gcc.gnu.org/ml/gcc-cvs/2004-07/msg00914.html

The test does not fail with -m32.

-- 
   What|Removed |Added

 CC||rth at gcc dot gnu dot org


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


[Bug c++/7874] [3.4/4.0/4.1 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace

2005-09-12 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-12 
19:54 ---
Subject: Bug 7874

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-09-12 19:54:23

Modified files:
gcc: ChangeLog c.opt 
gcc/cp : ChangeLog call.c class.c cp-tree.h decl.c 
 friend.c name-lookup.c name-lookup.h pt.c 
 semantics.c 
gcc/doc: invoke.texi 
gcc/testsuite  : ChangeLog 
gcc/testsuite/g++.dg/parse: defarg4.C 
gcc/testsuite/g++.old-deja/g++.brendan: crash56.C 
gcc/testsuite/g++.old-deja/g++.jason: friend.C scoping15.C 
gcc/testsuite/g++.old-deja/g++.mike: net43.C 
Added files:
gcc/testsuite/g++.dg/lookup: friend7.C friend8.C 

Log message:
./
PR g++/7874
* c.opt (ffriend-injection): New C++ option.
* doc/invoke.texi (Option Summary): Mention -ffriend-injection.
(C++ Dialect Options): Document -ffriend-injection.
cp/
PR g++/7874
* cp-tree.h (struct lang_decl_flags): Add hidden_friend_p
bitfield.  Make dummy bitfield one bit smaller.
(DECL_HIDDEN_FRIEND_P): Define.
(pushdecl_maybe_friend): Declare.
(pushdecl_top_level_maybe_friend): Declare.
* decl.c (duplicate_decls): Add newdecl_is_friend parameter.
Change prototype and all callers.  Add assertion that a
DECL_ARTIFICIAL FUNCTION_DECL is not DECL_HIDDEN_FRIEND_P.  Set
DECL_ANTICIPATED and DECL_HIDDEN_FRIEND_P in duplicated decl if
appropriate.
* name-lookup.c (supplement_binding): Don't ignore a
DECL_HIDDEN_FRIEND_P.
(pushdecl_maybe_friend): Break out contents of pushdecl.  Add
is_friend parameter.  Set DECL_ANTICIPATED and
DECL_HIDDEN_FRIEND_P for a friend function.
(pushdecl): Just call pushdecl_maybe_friend.
(pushdecl_with_scope): Add is_friend parameter.  Change prototype
and all callers.
(pushdecl_namespace_level): Likewise.
(push_overloaded_decl): Likewise.  Check DECL_HIDDEN_FRIEND_P as
well as DECL_ANTICIPATED when checking for a builtin.
(do_nonmember_using_decl): Check DECL_HIDDEN_FRIEND_P as well as
DECL_ANTICIPATED when checking for a builtin.
(do_nonmember_using_decl): Likewise.
(pushdecl_top_level_1): Add is_friend parameter.  Change all
callers.
(pushdecl_top_level_maybe_friend): New function.
(remove_hidden_names): New function.
(struct arg_lookup): Add args field.
(friend_of_associated_class_p): New static function.
(arg_assoc_namespace): Ignore hidden functions which are not
friends of an associated class of some argument.
(lookup_arg_dependent): Remove hidden functions from list passed
in.  Initialize k.args.
* name-lookup.h (remove_hidden_names): Declare.
* friend.c (do_friend): Call pushdecl_maybe_friend instead of
pushdecl.
* call.c (add_function_candidate): Change DECL_ANTICIPATED test to
an assertion, with a check for DECL_HIDDEN_FRIEND_P.
(build_new_function_call): Add koenig_p parameter.  Change
prototype and callers.
* pt.c (register_specialization): Add is_friend parameter.  Change
all callers.
(push_template_decl_real): Change is_friend parameter to bool.
Change prototype and all callers.
(tsubst_friend_class): Call pushdecl_top_level_maybe_friend
instead of pushdecl_top_level.
testsuite/
PR g++/7874
* g++.dg/lookup/friend7.C: New test.
* g++.dg/lookup/friend8.C: New test.
* g++.dg/parse/defarg4.C: Add a parameter to the friend function,
so that it will be found via argument dependent lookup.
* g++.old-deja/g++.brendan/crash56.C: Don't expect errors for
friend functions which will no longer be found.
* g++.old-deja/g++.jason/friend.C: Add a parameter to the friend
function g, so that it will be found via argument dependent
lookup.
* g++.old-deja/g++.jason/scoping15.C: Use -ffriend-injection.
* g++.old-deja/g++.mike/net43.C: Likewise.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.9941&r2=2.9942
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c.opt.diff?cvsroot=gcc&r1=1.50&r2=1.51
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4884&r2=1.4885
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/call.c.diff?cvsroot=gcc&r1=1.551&r2=1.552
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/class.c.diff?cvsroot=gcc&r1=1.731&r2=1.732
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&r1=1.1163&r2=1.1164
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl.c.diff?cvsroot=gcc&r1=1.1425&r2=1.1426
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/g

[Bug libstdc++/23417] bits/stl_tree.h isn't -Weffc++ clean

2005-09-12 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-12 
19:55 ---
Subject: Bug 23417

CVSROOT:/cvs/gcc
Module name:gcc
Branch: gcc-4_0-branch
Changes by: [EMAIL PROTECTED]   2005-09-12 19:54:56

Modified files:
libstdc++-v3   : ChangeLog 
libstdc++-v3/include/bits: stl_list.h 

Log message:
2005-09-12  Benjamin Kosnik  <[EMAIL PROTECTED]>

PR libstdc++/23417
* include/bits/stl_list.h (_List_impl): Use member initialization
list for -Weffc++.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.2917.2.80&r2=1.2917.2.81
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/stl_list.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.47.6.1&r2=1.47.6.2



-- 


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


[Bug libstdc++/23417] bits/stl_tree.h isn't -Weffc++ clean

2005-09-12 Thread pcarlini at suse dot de

--- Additional Comments From pcarlini at suse dot de  2005-09-12 19:59 
---
Benjamin, can you also check, say, std::set? After all the PR is about
stl_tree.h... ;)

-- 


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


[Bug c++/23839] New: [4.1 Regression] ICE: expected var_decl, have parm_decl in cxx_mark_addressable, at cp/typeck.c:4343

2005-09-12 Thread jsm28 at gcc dot gnu dot org
class C
{
  int i;
public:
  C(int j) : i(j) { }
  operator int() { return i; }
};

C
f (register C x)
{
  return x + 31;
}

ICEs with current mainline (I suppose a regression, unless --enable-checking
compilers from previous release branches show the problem there too).

t1.cc: In function 'C f(C)':
t1.cc:12: internal compiler error: tree check: expected var_decl, have parm_decl
in cxx_mark_addressable, at cp/typeck.c:4343
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html> for instructions.

-- 
   Summary: [4.1 Regression] ICE: expected var_decl, have parm_decl
in cxx_mark_addressable, at cp/typeck.c:4343
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jsm28 at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug c++/23839] [4.0/4.1 Regression] ICE: expected var_decl, have parm_decl in cxx_mark_addressable, at cp/typeck.c:4343

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
20:04 ---
Confirmed, a regression from 3.4.0 (with checking) which did not ICE on this.
It also worked with "3.5.0 20040909".

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||ice-on-valid-code
  Known to fail||4.0.0 4.1.0
  Known to work||3.4.0
   Last reconfirmed|-00-00 00:00:00 |2005-09-12 20:04:30
   date||
Summary|[4.1 Regression] ICE:   |[4.0/4.1 Regression] ICE:
   |expected var_decl, have |expected var_decl, have
   |parm_decl in|parm_decl in
   |cxx_mark_addressable, at|cxx_mark_addressable, at
   |cp/typeck.c:4343|cp/typeck.c:4343
   Target Milestone|--- |4.0.2


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


[Bug libstdc++/23417] bits/stl_tree.h isn't -Weffc++ clean

2005-09-12 Thread bkoz at gcc dot gnu dot org

--- Additional Comments From bkoz at gcc dot gnu dot org  2005-09-12 20:05 
---

Yep. Sorry. I fixed that bit too.

-benjamin

-- 


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


[Bug ada/23836] [4.0 Regression] Invalid code generated when accessing packed arrays

2005-09-12 Thread james at recherche dot enac dot fr

--- Additional Comments From james at recherche dot enac dot fr  2005-09-12 
20:05 ---
Works perfectly well with -O1 and -O2 with gcc-3.4

There is no language trick here. The overlay A_I (which is the only tricky part)
is never used, it is only declared.

Moreover, declaring Bit as an unsigned type with modular typing as suggested by
some people in the comp.lang.ada newsgroup with 
type Bit is mod 2;
doesn't change the general behavior of the compilers.


-- 


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


[Bug libstdc++/23417] bits/stl_tree.h isn't -Weffc++ clean

2005-09-12 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-12 
20:09 ---
Subject: Bug 23417

CVSROOT:/cvs/gcc
Module name:gcc
Branch: gcc-4_0-branch
Changes by: [EMAIL PROTECTED]   2005-09-12 20:09:18

Modified files:
libstdc++-v3   : ChangeLog 
libstdc++-v3/include/bits: stl_tree.h 

Log message:
2005-09-12  Benjamin Kosnik  <[EMAIL PROTECTED]>

PR libstdc++/23417
* include/bits/stl_list.h (_List_impl): Use member initialization
list for -Weffc++.
* include/bits/stl_tree.h (_Rb_tree_impl): Same.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.2917.2.81&r2=1.2917.2.82
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/stl_tree.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.44.6.2&r2=1.44.6.3



-- 


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


[Bug c++/23840] New: [3.4/4.0/4.1 Regression] Bogus "invalid lvalue in unary '&'" diagnostic and ICE with va_arg

2005-09-12 Thread jsm28 at gcc dot gnu dot org
#include 
struct S
{
  int f(int n) { return n; }
};
void f(int i, ...)
{
  va_list ap;
  va_start(ap, i);
  va_arg(ap, S).f(0);
}

yields a bogus diagnostic and ICE with current mainline:

t2.cc: In function 'void f(int, ...)':
t2.cc:10: error: invalid lvalue in unary '&'

tree check: expected class 'type', have 'exceptional' (error_mark) in
pp_c_type_qualifier_list, at c-pretty-print.c:232
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html> for instructions.

4.0 also gives a bogus diagnostic:

t2.cc: In function 'void f(int, ...)':
t2.cc:10: error: invalid lvalue in unary '&'
t2.cc:10: error: no matching function for call to 'S::f(int)'
t2.cc:4: note: candidates are: int S::f(int)

as does 3.4, while 3.3 compiles the test OK.

-- 
   Summary: [3.4/4.0/4.1 Regression] Bogus "invalid lvalue in unary
'&'" diagnostic and ICE with va_arg
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jsm28 at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug c++/7874] [3.4/4.0/4.1 regression] g++ finds friend functions defined in class-definition but not declared in the enclosing namespace

2005-09-12 Thread ian at airs dot com

--- Additional Comments From ian at airs dot com  2005-09-12 20:10 ---
Bug is fixed in mainline.  The fix will not be migrated back to the 3.4 or 4.0
branches, as it is inappropriate to change default behaviour to stop accepting
working programs in a point release.


-- 
   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|4.0.2   |4.1.0


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


[Bug c++/16995] [meta-bug] C++ friend injection

2005-09-12 Thread ian at airs dot com


-- 
Bug 16995 depends on bug 7874, which changed state.

Bug 7874 Summary: [3.4/4.0/4.1 regression] g++ finds friend functions defined 
in class-definition but not declared in the enclosing namespace
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7874

   What|Old Value   |New Value

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

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


[Bug c++/12944] [meta-bug] C++ name-lookup problems

2005-09-12 Thread ian at airs dot com


-- 
Bug 12944 depends on bug 7874, which changed state.

Bug 7874 Summary: [3.4/4.0/4.1 regression] g++ finds friend functions defined 
in class-definition but not declared in the enclosing namespace
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7874

   What|Old Value   |New Value

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

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


[Bug c++/16995] [meta-bug] C++ friend injection

2005-09-12 Thread ian at airs dot com

--- Additional Comments From ian at airs dot com  2005-09-12 20:12 ---
All known problems with C++ friend injection are now fixed, so closing this
meta-bug.

-- 
   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.1.0


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


[Bug c++/12944] [meta-bug] C++ name-lookup problems

2005-09-12 Thread ian at airs dot com


-- 
Bug 12944 depends on bug 16995, which changed state.

Bug 16995 Summary: [meta-bug] C++ friend injection
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16995

   What|Old Value   |New Value

 Status|NEW |RESOLVED
 Resolution||FIXED

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


[Bug c++/23841] New: [4.0/4.1 Regression] Floating-point literals cast to integral types should be accepted in integer constant expressions

2005-09-12 Thread jsm28 at gcc dot gnu dot org
template 
struct S
{
  int f(int i = I) { return i; }
};

void
g ()
{
  S<(int)0.> a2;
}

is valid code - floating-point literals immediately cast to integral types are
valid in integral constant expressions - but GCC (4.0/4.1) wrongly rejects it
with -ansi -pedantic-errors.

Mark has asked for this bug to be assigned to him.

-- 
   Summary: [4.0/4.1 Regression] Floating-point literals cast to
integral types should be accepted in integer constant
expressions
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: c++
AssignedTo: mark at codesourcery dot com
ReportedBy: jsm28 at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug c++/23840] [3.4/4.0/4.1 Regression] Bogus "invalid lvalue in unary '&'" diagnostic and ICE with va_arg

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
20:15 ---
Confirmed.  Hmm, I don't think this is defined code as you are trying to get a 
non-POD from a va_args.
But we should not reject this as it is only undefined.
Reduced testcae:
#include 
struct S
{
  int f(int n) { return n; }
};
void f(va_list ap)
{
  va_arg(ap, S).f(0);
}

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||ice-checking, ice-on-valid-
   ||code, rejects-valid
  Known to fail||4.0.0 4.1.0 3.4.0
  Known to work||3.3.3
   Last reconfirmed|-00-00 00:00:00 |2005-09-12 20:15:48
   date||
   Target Milestone|--- |4.0.2


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


[Bug c++/23841] [4.0/4.1 Regression] Floating-point literals cast to integral types should be accepted in integer constant expressions

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
20:19 ---
Confirmed, worked with "3.5.0 20040909".

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||rejects-valid
  Known to fail||4.0.0 4.1.0
  Known to work||3.4.0
   Last reconfirmed|-00-00 00:00:00 |2005-09-12 20:19:25
   date||
   Target Milestone|--- |4.0.2


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


[Bug c++/23842] New: [3.4/4.0/4.1 Regression] Incorrect access control context

2005-09-12 Thread jsm28 at gcc dot gnu dot org
struct S;
extern S *p;
template int f(T*, int y = ((T*)p)->x) {
  return y;
}
struct S {
private:
  int x;
  template friend int f(U*, int); 
};
int g() {
  return f(p);
}

compiles OK with 3.3, but is rejected by 4.1, 4.0 and 3.4:

t4.cc:8: error: 'int S::x' is private
t4.cc:12: error: within this context

According to Mark: This is a G++ bug.  G++ is apparently performing access
control for the default argument expression for "y" (in the template function
"f") in the context of the instantiation, rather than in the context of the
template function.  See [temp.inst] for details.

-- 
   Summary: [3.4/4.0/4.1 Regression] Incorrect access control
context
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jsm28 at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug c++/23842] [3.4/4.0/4.1 Regression] Incorrect access control context

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
20:28 ---
Confirmed, this worked with "3.4.0 20040116" so it was caused after 3.4 was 
branched.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||rejects-valid
  Known to fail||3.4.0 4.0.0 4.1.0
  Known to work||3.3.3
   Last reconfirmed|-00-00 00:00:00 |2005-09-12 20:28:46
   date||
   Target Milestone|--- |4.0.2


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


[Bug c++/23842] [3.4/4.0/4.1 Regression] Incorrect access control context

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
20:29 ---
: Search converges between 2004-03-01-trunk (#446) and 2004-04-01-trunk (#447).

: Search converges between 2004-03-15-3.4 (#3) and 2004-04-01-3.4 (#4).


-- 


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


[Bug c++/23841] [4.0/4.1 Regression] Floating-point literals cast to integral types should be accepted in integer constant expressions

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
20:30 ---
It also worked with 4.0.0 20041211.

-- 


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


[Bug c++/23840] [3.4/4.0/4.1 Regression] Bogus "invalid lvalue in unary '&'" diagnostic and ICE with va_arg

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
20:32 ---
: Search converges between 2003-01-02-trunk (#161) and 2003-01-10-trunk (#162).



-- 


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


[Bug c++/23839] [4.0/4.1 Regression] ICE: expected var_decl, have parm_decl in cxx_mark_addressable, at cp/typeck.c:4343

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
20:32 ---
: Search converges between 2004-11-10-161001-trunk (#627) and 
2004-11-11-014001-trunk 
(#628).


-- 


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


[Bug libstdc++/23417] bits/stl_tree.h isn't -Weffc++ clean

2005-09-12 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-12 
20:33 ---
Subject: Bug 23417

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-09-12 20:32:54

Modified files:
libstdc++-v3   : ChangeLog 
libstdc++-v3/include/bits: stl_tree.h 

Log message:
2005-09-12  Benjamin Kosnik  <[EMAIL PROTECTED]>

PR libstdc++/23417
* include/bits/stl_list.h (_List_impl): Use member initialization
list for -Weffc++.
* include/bits/stl_tree.h (_Rb_tree_impl): Same.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.3098&r2=1.3099
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/stl_tree.h.diff?cvsroot=gcc&r1=1.48&r2=1.49



-- 


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


[Bug c++/21228] [4.0/4.1 Regression] -Wunreachable-code produces spurious warnings for constructor

2005-09-12 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 
20:40 ---
: Search converges between 2004-05-11-trunk (#454) and 2004-05-14-trunk (#455).

: Search converges between 2003-11-11-ssa (#132) and 2003-11-14-ssa (#133).


-- 


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


  1   2   >