[Bug c++/37552] New: [4.4 regression] ICE with invalid array access

2008-09-17 Thread reichelt at gcc dot gnu dot org
The following invalid code snippet triggers an ICE on mainline:


extern struct A a[1];

void foo()
{
  a[0];
}


bug.cc: In function 'void foo()':
bug.cc:5: error: invalid use of incomplete type 'struct A'
bug.cc:1: error: forward declaration of 'struct A'
bug.cc:5: internal compiler error: tree check: expected class 'expression',
have 'exceptional' (error_mark) in build_array_ref, at cp/typeck.c:2626
Please submit a full bug report, [etc.]

The regression appeared between 2008-08-29 and 2008-09-06.


-- 
   Summary: [4.4 regression] ICE with invalid array access
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, error-recovery, 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=37552



[Bug c++/37552] [4.4 regression] ICE with invalid array access

2008-09-17 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.4.0


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



[Bug c++/37553] New: ICE in build_c_cast

2008-09-17 Thread patrakov at gmail dot com
This code triggers an ICE in gcc-4.3.1 on i686 when compiled with g++:

typedef unsigned int ui32;
__extension__ typedef unsigned long long int ui64;

typedef ui32 __attribute__ ((__may_alias__)) ui32a;
typedef ui64 __attribute__ ((__may_alias__)) ui64a;

union u_u32
{
  ui32a v;
} __attribute__ ((__may_alias__));

union u_u64
{
  ui64a v;
  struct
  {
union u_u32 lo32, hi32;
  } u;
} __attribute__ ((__may_alias__));

void
out_long (ui64 longVal)
{
  if ((*(union u_u64 *) longVal).u.lo32.v  0x1000ul)
{
  if ((ui32) ((*(union u_u64 *) longVal).u.lo32.v)  0x4000u)
{
  /* do something useful */
}
}
}

longs3.c: In function 'void out_long(ui64)':
longs3.c:24: internal compiler error: in build_c_cast, at cp/typeck.c:5631


-- 
   Summary: ICE in build_c_cast
   Product: gcc
   Version: 4.3.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: patrakov at gmail dot com
 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=37553



[Bug c++/37554] New: [4.3/4.4 regression] ICE with invalid cast

2008-09-17 Thread reichelt at gcc dot gnu dot org
The following invalid code snippet triggers an ICE since GCC 4.3.0:


struct A {};
class B : A {};

void foo(B b)
{
  (A)b;
}


bug.cc: In function 'void foo(B)':
bug.cc:6: error: 'A' is an inaccessible base of 'B'
bug.cc:6: internal compiler error: tree check: expected class 'type', have
'exceptional' (error_mark) in useless_type_conversion_p_1, at tree-ssa.c:1075
Please submit a full bug report, [etc.]


-- 
   Summary: [4.3/4.4 regression] ICE with invalid cast
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, error-recovery, 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=37554



[Bug c++/37554] [4.3/4.4 regression] ICE with invalid cast

2008-09-17 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.3


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



[Bug c++/37555] New: [4.1/4.2/4.3/4.4 regression] ICE with invalid typedef

2008-09-17 Thread reichelt at gcc dot gnu dot org
The following invalid code snippet triggers an ICE since GCC 3.4.0:


struct A {};

typedef void (A::T)();

void foo()
{
  T t;
  t;
}


bug.cc:3: error: typedef name may not be a nested-name-specifier
bug.cc: In function 'void foo()':
bug.cc:8: internal compiler error: Segmentation fault
Please submit a full bug report, [etc.]


-- 
   Summary: [4.1/4.2/4.3/4.4 regression] ICE with invalid typedef
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, error-recovery, 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=37555



[Bug c++/37555] [4.1/4.2/4.3/4.4 regression] ICE with invalid typedef

2008-09-17 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.2.5


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



[Bug c++/37556] New: [4.4 regression] ICE with invalid typedef

2008-09-17 Thread reichelt at gcc dot gnu dot org
The following invalid code snippet triggers an ICE on mainline:


struct A
{
  void foo();
};

typedef void (A::T)();

void bar(T);

void baz()
{
  bar(A::foo);
}


bug.cc:6: error: typedef name may not be a nested-name-specifier
bug.cc:8: error: parameter 'anonymous' invalidly declared method type
bug.cc: In function 'void baz()':
bug.cc:12: internal compiler error: canonical types differ for identical types
void (A::*)() and void (A::*)()
Please submit a full bug report, [etc.]

The regression appeared between 2008-07-29 and 2008-08-23.

The bug is related to PR37555, but a more recent regression.


-- 
   Summary: [4.4 regression] ICE with invalid typedef
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, error-recovery, 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=37556



[Bug c++/37556] [4.4 regression] ICE with invalid typedef

2008-09-17 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.4.0


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



[Bug c++/37557] New: mixing wide and plain streams causes stream-errors (g++ 4.2.3 also affected)

2008-09-17 Thread nikola dot radovanovic at dmsgroup dot rs
hi, recetly i found out something that is possible/probably bug in g++. so far
i have tested on 4.1.0 and 4.2.3. on previous versions there were no such error
(tried with 3.3.5).
here is brief description: i use string and wstring (and appropriate cin/cout
and wcin/wcout) in same console app that simulates user login (for both ascii
and wide). i display 'menu' for user to 'choose' will it try to 'login' with
wide or ascii strings. if i uses ascii 'menu', then ascii 'login' works, but
wide not. on the other hand, if i use wide strings for 'menu', ascii 'login'
does not work, but wide do work. it seems that g++ can not use (or better say,
do not use properly) stream of type other than initial stream type

here are g++ versions that fails:
---
4.1.0 (not working)
---
[EMAIL PROTECTED]:~/tmp g++ -v -save-temps test.cpp
Using built-in specs.
Target: x86_64-suse-linux
Configured with: ../configure --enable-threads=posix --prefix=/usr
--with-local-prefix=/usr/local --infodir=/usr/share/info
--mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64
--enable-languages=c,c++,objc,fortran,java,ada --enable-checking=release
--with-gxx-include-dir=/usr/include/c++/4.1.0 --enable-ssp --disable-libssp
--enable-java-awt=gtk --enable-gtk-cairo --disable-libjava-multilib
--with-slibdir=/lib64 --with-system-zlib --enable-shared --enable-__cxa_atexit
--enable-libstdcxx-allocator=new --without-system-libunwind --with-cpu=generic
--host=x86_64-suse-linux
Thread model: posix
gcc version 4.1.0 (SUSE Linux)
 /usr/lib64/gcc/x86_64-suse-linux/4.1.0/cc1plus -E -quiet -v -D_GNU_SOURCE
test.cpp -mtune=generic -fpch-preprocess -o test.ii
#include ... search starts here:
#include ... search starts here:
 /usr/include/c++/4.1.0
 /usr/include/c++/4.1.0/x86_64-suse-linux
 /usr/include/c++/4.1.0/backward
 /usr/local/include
 /usr/lib64/gcc/x86_64-suse-linux/4.1.0/include
 /usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/include
 /usr/include
End of search list.
 /usr/lib64/gcc/x86_64-suse-linux/4.1.0/cc1plus -fpreprocessed test.ii -quiet
-dumpbase test.cpp -mtune=generic -auxbase test -version -o test.s
GNU C++ version 4.1.0 (SUSE Linux) (x86_64-suse-linux)
compiled by GNU C version 4.1.0 (SUSE Linux).
GGC heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=64086
Compiler executable checksum: 9b76824cc9116a4f771ea2bae2ced729
 /usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/as -V
-Qy -o test.o test.s
GNU assembler version 2.16.91.0.5 (x86_64-suse-linux) using BFD version
2.16.91.0.5 20051219 (SUSE Linux)
 /usr/lib64/gcc/x86_64-suse-linux/4.1.0/collect2 --eh-frame-hdr -m elf_x86_64
-dynamic-linker /lib64/ld-linux-x86-64.so.2
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../lib64/crt1.o
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../lib64/crti.o
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/crtbegin.o
-L/usr/lib64/gcc/x86_64-suse-linux/4.1.0
-L/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../lib64 -L/lib/../lib64
-L/usr/lib/../lib64
-L/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/lib
-L/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../.. test.o -lstdc++ -lm -lgcc_s
-lgcc -lc -lgcc_s -lgcc /usr/lib64/gcc/x86_64-suse-linux/4.1.0/crtend.o
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../lib64/crtn.o
---
4.2.3 (not working)
---
[EMAIL PROTECTED]:~/tmp$ g++ -v -save-temps test.cpp
Reading specs from /usr/lib/gcc/i486-slackware-linux/4.2.3/specs
Target: i486-slackware-linux
Configured with: ../gcc-4.2.3/configure --prefix=/usr --enable-shared
--enable-languages=ada,c,c++,fortran,java,objc --enable-threads=posix
--enable-__cxa_atexit --disable-checking --with-gnu-ld --verbose
--with-arch=i486 --target=i486-slackware-linux --host=i486-slackware-linux
Thread model: posix
gcc version 4.2.3
 /usr/libexec/gcc/i486-slackware-linux/4.2.3/cc1plus -E -quiet -v -D_GNU_SOURCE
test.cpp -mtune=i486 -march=i486 -fpch-preprocess -o test.ii
ignoring duplicate directory /usr/lib/qt/include
ignoring nonexistent directory
/usr/lib/gcc/i486-slackware-linux/4.2.3/../../../../i486-slackware-linux/include
#include ... search starts here:
#include ... search starts here:
 /usr/lib/qt/include
 /usr/lib/gcc/i486-slackware-linux/4.2.3/../../../../include/c++/4.2.3

/usr/lib/gcc/i486-slackware-linux/4.2.3/../../../../include/c++/4.2.3/i486-slackware-linux
 /usr/lib/gcc/i486-slackware-linux/4.2.3/../../../../include/c++/4.2.3/backward
 /usr/local/include
 /usr/lib/gcc/i486-slackware-linux/4.2.3/include
 /usr/include
End of search list.
 /usr/libexec/gcc/i486-slackware-linux/4.2.3/cc1plus -fpreprocessed test.ii
-quiet -dumpbase test.cpp -mtune=i486 -march=i486 -auxbase test -version -o
test.s
GNU C++ version 4.2.3 (i486-slackware-linux)

[Bug fortran/37545] impossible to link with -fopenmp

2008-09-17 Thread francois dot jacq at irsn dot fr


--- Comment #4 from francois dot jacq at irsn dot fr  2008-09-17 07:18 
---
Subject: Re:  impossible to link with -fopenmp

Le mardi 16 septembre 2008 20:26, pinskia at gcc dot gnu dot org a écrit :
 --- Comment #1 from pinskia at gcc dot gnu dot org  2008-09-16 18:26
 --- Did you compile gfortran yourself or are you using a prebuilt
 package?

I just downloaded the prebuilt package proposed by GfortranWiki 


-- 


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



[Bug fortran/37274] [Regression 4.4 (and 4.3?)] error: type name is ambiguous.

2008-09-17 Thread pault at gcc dot gnu dot org


--- Comment #17 from pault at gcc dot gnu dot org  2008-09-17 07:31 ---
(In reply to comment #16)
Lest anybody is worrying about the patch that I posted, I cannot commit until
tonight or tomorrow morning.

Since my laptop was stolen, I have no means to update my tree nor commit
anything when I am on the road - my work laptop does not give me administrator
rights:-(

Paul


-- 


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



[Bug fortran/37545] impossible to link with -fopenmp

2008-09-17 Thread francois dot jacq at irsn dot fr


--- Comment #5 from francois dot jacq at irsn dot fr  2008-09-17 07:34 
---
Subject: Re:  impossible to link with -fopenmp

Le mardi 16 septembre 2008 20:50, dfranke at gcc dot gnu dot org a écrit :
 --- Comment #2 from dfranke at gcc dot gnu dot org  2008-09-16 18:50
 ---

  Mandriva 2007.1

 What's the version of your glibc? If less than 2.6, try upgrading.
 I guess this is a downloaded package that meets an (somewhat) outdated
 system ...

Yes you are right but if I can upgrade my system at Home (Mandriva 2007.1), I 
cannot do the same at office (Debian etch for everybody and for several 
years).

I previously used Gfortran-4.3.0 prebuilt package, also implementing OpenMP, 
and this one did not have this trouble (but had few others). Unfortunately, 
this package has disappeared from GfortranWiki.

I would like to underline that the proposed package is assumed to be complete 
and not to interact with any other previous installed version (this is 
written in GfortranWiki).


-- 


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



[Bug ada/21327] gnat_ugn.texi invalid @direntry

2008-09-17 Thread sam at gcc dot gnu dot org


--- Comment #5 from sam at gcc dot gnu dot org  2008-09-17 07:59 ---
Subject: Bug 21327

Author: sam
Date: Wed Sep 17 07:58:12 2008
New Revision: 140411

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=140411
Log:
2008-09-17  Pascal Rigaux  [EMAIL PROTECTED]

gcc/ada/
PR ada/21327
* gnat_ugn.texi: Use proper format in direntry.

Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/gnat_ugn.texi


-- 


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



[Bug ada/21327] gnat_ugn.texi invalid @direntry

2008-09-17 Thread sam at gcc dot gnu dot org


--- Comment #6 from sam at gcc dot gnu dot org  2008-09-17 08:00 ---
Pascal's fix committed as trivial documentation fix in SVN trunk.


-- 

sam at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.4.0


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



[Bug c++/37057] 7 Internal Compiler Errors when compiling OpenFOAM-1.5

2008-09-17 Thread jorn dot amundsen at ntnu dot no


--- Comment #34 from jorn dot amundsen at ntnu dot no  2008-09-17 08:02 
---
(In reply to comment #33)
Thank you for the tip on libtool libpath. Looking into it with dump -H, I did
not know it was that ugly. Indeed, this should be cleaned up if when building
and installing software.

In order to reproduce your successful compilation, I did

0. shared mpfr 2.3.1, shared gmp 4.2.3, shared gettext 0.10.40
1. untar 4.3.2 gcc-core and gcc-g++
2. apply pt.c patch
3. environ settings:
export CONFIG_SHELL=/opt/freeware/bin/bash
export CONFIGURE_ENV_ARGS=/opt/freeware/bin/bash
export OBJECT_MODE=32
4. mkdir objdir
5. cd objdir
6. ../configure --enable-languages=c,c++
7. gmake bootstrap
8. objdir/gcc/g++ -Bobjdir/gcc -c icefiles.ii

This works! I am able to reproduce your successful compilation of every .ii
file  attached to this bug. The reason for the remaining failures is any of

 - a bug in any of the IBM GCC 4.2 RPM patches
 - one or more of the 4.2 hunks are not applicable with 4.3
 - I made an error in porting any of the 4.2 hunks to 4.3

Having a build tree which breaks and another with works I am now able to limit
and eventually find the root cause of this problem.

Hence this issue is resolved.


-- 


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



[Bug rtl-optimization/37544] [4.2/4.3/4.4 Regression] Conversion double - unsigned long long - unsigned - double gives wrong results

2008-09-17 Thread ubizjak at gmail dot com


--- Comment #6 from ubizjak at gmail dot com  2008-09-17 08:14 ---
cprop_hardreg pass is propagating DImode ax register, wrongly bypassing DI-SI
conversion.

Before cprop_hardreg, we have:

(call_insn/u:HI 27 88 28 4 pr37544.c:9 (set (reg:DI 0 ax)
(call (mem:QI (symbol_ref:SI (__fixunsdfdi) [flags 0x41]) [0 S1 A8])
(const_int 16 [0x10]))) 687 {*call_value_0} (expr_list:REG_UNUSED
(reg:SI 1 dx)
(expr_list:REG_EH_REGION (const_int -1 [0x])
(nil)))
(expr_list:REG_DEP_TRUE (use (mem:DF (plus:SI (reg/f:SI 7 sp)
(scratch:SI)) [0 S8 A8]))
(nil)))

(insn 95 28 104 4 pr37544.c:9 (set (reg:SI 21 xmm0)
(reg:SI 0 ax [78])) 41 {*movsi_1} (expr_list:REG_DEAD (reg:SI 0 ax
[78])
(nil)))

(insn 104 95 105 4 pr37544.c:9 (set (mem/c:DI (plus:SI (reg/f:SI 6 bp)
(const_int -8032 [0xe0a0])) [0 S8 A64])
(reg:DI 21 xmm0)) 63 {*movdi_2} (expr_list:REG_DEAD (reg:DI 21 xmm0)
(nil)))

(insn 105 104 89 4 pr37544.c:9 (set (reg/v:DF 8 st [orig:65 b ] [65])
(float:DF (mem/c:DI (plus:SI (reg/f:SI 6 bp)
(const_int -8032 [0xe0a0])) [0 S8 A64]))) 179
{*floatdidf2_i387} (nil))


and after cprop_hardreg:

(call_insn/u:HI 27 88 28 4 pr37544.c:9 (set (reg:DI 0 ax)
(call (mem:QI (symbol_ref:SI (__fixunsdfdi) [flags 0x41]) [0 S1 A8])
(const_int 16 [0x10]))) 687 {*call_value_0} (expr_list:REG_UNUSED
(reg:SI 1 dx)
(expr_list:REG_EH_REGION (const_int -1 [0x])
(nil)))
(expr_list:REG_DEP_TRUE (use (mem:DF (plus:SI (reg/f:SI 7 sp)
(scratch:SI)) [0 S8 A8]))
(nil)))

(insn 95 28 104 4 pr37544.c:9 (set (reg:SI 21 xmm0)
(reg:SI 0 ax [78])) 41 {*movsi_1} (expr_list:REG_DEAD (reg:SI 0 ax
[78])
(nil)))

(insn 104 95 105 4 pr37544.c:9 (set (mem/c:DI (plus:SI (reg/f:SI 6 bp)
(const_int -8032 [0xe0a0])) [0 S8 A64])
(reg:DI 0 ax [21])) 63 {*movdi_2} (expr_list:REG_DEAD (reg:DI 21 xmm0)
(nil)))

(insn 105 104 89 4 pr37544.c:9 (set (reg/v:DF 8 st [orig:65 b ] [65])
(float:DF (mem/c:DI (plus:SI (reg/f:SI 6 bp)
(const_int -8032 [0xe0a0])) [0 S8 A64]))) 179
{*floatdidf2_i387} (nil))


Please note, how DImode ax reg propagates into (insn 104), bypassing SImode
conversion in (insn 95).


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

  Component|target  |rtl-optimization
   Priority|P3  |P1
Summary|Conversion double -|[4.2/4.3/4.4 Regression]
   |unsigned long long -   |Conversion double -
   |unsigned - double gives|unsigned long long -
   |wrong results   |unsigned - double gives
   ||wrong results
   Target Milestone|--- |4.2.5


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



[Bug rtl-optimization/37544] [4.2/4.3/4.4 Regression] Conversion double - unsigned long long - unsigned - double gives wrong results

2008-09-17 Thread ubizjak at gmail dot com


--- Comment #7 from ubizjak at gmail dot com  2008-09-17 08:35 ---
(In reply to comment #5)
 Confirmed on i686-linux with -std=c99 -O -msse2 -mfpmath=387 -march=i386. 

Does not fail for x86_64-linux target with -m32 on x86_64-linux _and_
i686-linux hosts. 


-- 


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



[Bug fortran/35680] [4.3/4.4 regression] ICE on invalid transfer in variable declaration

2008-09-17 Thread pault at gcc dot gnu dot org


--- Comment #5 from pault at gcc dot gnu dot org  2008-09-17 08:55 ---
(In reply to comment #4)
 4.3.2 is released, changing milestones to 4.3.3.
 
Although this passes Lahey with only a warning that the return value is not
set, it manifestly is standard defying according to 7.1.6.2

A variable in a specification expression shall have its type and type
parameters, if any, specified by a previous declaration in the same scoping
unit, or by the implicit typing rules in effect for the scoping unit, or by
host or use association. If a variable in a specification expression is typed
by
the implicit typing rules, its appearance in any subsequent type declaration
statement shall confirm the implied type and type parameters.

Inverting the order of the declarations should make the code legal.

Paul 


-- 


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



[Bug middle-end/37491] [4.4 Regression] Revision 140257 causes vectorizer tests failures

2008-09-17 Thread rguenth at gcc dot gnu dot org


--- Comment #11 from rguenth at gcc dot gnu dot org  2008-09-17 10:10 
---
The problem in PR37385 is that we do not look at the canonical type in
get_alias_set, so we end up with a different alias set for the typedef
(which makes the behavior of get_alias_set inconsistent with the middle-end
type-system).  I have a patch.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-09-14 07:00:50 |2008-09-17 10:10:33
   date||


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



[Bug c++/37540] [4.4 regression] ICE on __decltype of method call in function template

2008-09-17 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2008-09-17 10:28 ---
Caused by http://gcc.gnu.org/viewcvs?root=gccview=revrev=138843
Any reason why you look at CALL_EXPR_FN's type instead of just TREE_TYPE
(expr)?
In this case TREE_TYPE (expr) is int, but CALL_EXPR_FN is COMPONENT_REF with
NULL TREE_TYPE, created by:
5692  if (processing_template_decl  call != error_mark_node)
5693call = (build_min_non_dep_call_list
5694(call,
5695 build_min_nt (COMPONENT_REF, orig_instance, orig_fns, NULL_TREE),
5696 orig_args));


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dgregor at gcc dot gnu dot
   ||org


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



[Bug c++/37552] [4.4 regression] ICE with invalid array access

2008-09-17 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-09-17 10:32:19
   date||


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



[Bug rtl-optimization/37544] [4.2/4.3/4.4 Regression] Conversion double - unsigned long long - unsigned - double gives wrong results

2008-09-17 Thread ubizjak at gmail dot com


--- Comment #8 from ubizjak at gmail dot com  2008-09-17 10:39 ---
The problem is in regrename.c, function maybe_mode_change. We enter the
function with:

orig_mode = DImode
copy_mode = SImode
new_mode = DImode

At the beginning of maybe_mode_change() we have:

  if (orig_mode == new_mode)
return gen_rtx_raw_REG (new_mode, regno);

we simply discard the change to a narrower mode.


-- 


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



[Bug ada/37309] Ada tasking is not implemented on NetBSD

2008-09-17 Thread sam at gcc dot gnu dot org


--- Comment #2 from sam at gcc dot gnu dot org  2008-09-17 11:06 ---
You should sent a patch against the latest SVN trunk, so that it can be
reviewed.


-- 

sam at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||sam at gcc dot gnu dot org


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



[Bug middle-end/37385] [4.4 Regression] ICE in set_mem_alias_set with the vectorizer and function pointers

2008-09-17 Thread rguenth at gcc dot gnu dot org


--- Comment #12 from rguenth at gcc dot gnu dot org  2008-09-17 11:43 
---
Subject: Bug 37385

Author: rguenth
Date: Wed Sep 17 11:42:11 2008
New Revision: 140412

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=140412
Log:
2008-09-17  Richard Guenther  [EMAIL PROTECTED]

PR middle-end/37385
PR tree-optimization/37491
* alias.c (get_alias_set): Use the canonical type.
* tree-vect-transform.c (vectorizable_store): Use the type of
the lhs for the vector type.  Adjust checking.
(vectorizable_load): Adjust checking.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/alias.c
trunk/gcc/tree-vect-transform.c


-- 


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



[Bug middle-end/37491] [4.4 Regression] Revision 140257 causes vectorizer tests failures

2008-09-17 Thread rguenth at gcc dot gnu dot org


--- Comment #13 from rguenth at gcc dot gnu dot org  2008-09-17 11:43 
---
Subject: Bug 37491

Author: rguenth
Date: Wed Sep 17 11:42:11 2008
New Revision: 140412

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=140412
Log:
2008-09-17  Richard Guenther  [EMAIL PROTECTED]

PR middle-end/37385
PR tree-optimization/37491
* alias.c (get_alias_set): Use the canonical type.
* tree-vect-transform.c (vectorizable_store): Use the type of
the lhs for the vector type.  Adjust checking.
(vectorizable_load): Adjust checking.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/alias.c
trunk/gcc/tree-vect-transform.c


-- 


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



[Bug fortran/37545] impossible to link with -fopenmp

2008-09-17 Thread brian at dessent dot net


--- Comment #6 from brian at dessent dot net  2008-09-17 11:44 ---
Subject: Re:  impossible to link with -fopenmp

If you can't change your glibc version then you need to build gfortran
yourself from source.  The problem is that the person that is building
the gfortran binary packages on the Wiki has a newer version of glibc
than you do, and the configure script accordingly detects and enables
the use of the newer glibc features.  If you try to use it with an older
glibc it will fail because they don't exist, but if you built it
yourself from source it won't detect and enable the use of those
features.  This is a general problem with relying on binary packages
that are not part of a distro (which has control over all versions.)


-- 


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



[Bug rtl-optimization/37544] [4.4 Regression] Conversion double - unsigned long long - unsigned - double gives wrong results

2008-09-17 Thread ubizjak at gmail dot com


--- Comment #9 from ubizjak at gmail dot com  2008-09-17 11:48 ---
4.2 and 4.3 work OK.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

  Known to work||4.2.4 4.3.3
Summary|[4.2/4.3/4.4 Regression]|[4.4 Regression] Conversion
   |Conversion double -|double - unsigned long long
   |unsigned long long -   |- unsigned - double gives
   |unsigned - double gives|wrong results
   |wrong results   |
   Target Milestone|4.2.5   |4.3.4


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



[Bug middle-end/37491] [4.4 Regression] Revision 140257 causes vectorizer tests failures

2008-09-17 Thread rguenth at gcc dot gnu dot org


--- Comment #12 from rguenth at gcc dot gnu dot org  2008-09-17 11:43 
---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug fortran/35770] implicit character(s) hides type of internal function

2008-09-17 Thread domob at gcc dot gnu dot org


--- Comment #4 from domob at gcc dot gnu dot org  2008-09-17 11:57 ---
Subject: Bug 35770

Author: domob
Date: Wed Sep 17 11:56:09 2008
New Revision: 140413

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=140413
Log:
2008-09-13  Daniel Kraft  [EMAIL PROTECTED]

PR fortran/35770
* primary.c (gfc_match_varspec): Added missing type-spec clearing
after wrong implicit character typing.

2008-09-13  Daniel Kraft  [EMAIL PROTECTED]

PR fortran/35770
* gfortran.dg/implicit_12.f90: New test.

Added:
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/implicit_12.f90
Modified:
branches/gcc-4_3-branch/gcc/fortran/ChangeLog
branches/gcc-4_3-branch/gcc/fortran/primary.c
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/35770] implicit character(s) hides type of internal function

2008-09-17 Thread domob at gcc dot gnu dot org


--- Comment #5 from domob at gcc dot gnu dot org  2008-09-17 11:59 ---
Fixed for trunk (4.4) and 4.3.


-- 

domob at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug rtl-optimization/37544] [4.4 Regression] Conversion double - unsigned long long - unsigned - double gives wrong results

2008-09-17 Thread ubizjak at gmail dot com


--- Comment #10 from ubizjak at gmail dot com  2008-09-17 12:01 ---
I'm testing following patch:

Index: regrename.c
===
--- regrename.c (revision 140409)
+++ regrename.c (working copy)
@@ -1314,6 +1314,9 @@
   enum machine_mode new_mode, unsigned int regno,
   unsigned int copy_regno ATTRIBUTE_UNUSED)
 {
+  if (GET_MODE_SIZE (copy_mode)  GET_MODE_SIZE (new_mode))
+return NULL_RTX;
+
   if (orig_mode == new_mode)
 return gen_rtx_raw_REG (new_mode, regno);
   else if (mode_change_ok (orig_mode, new_mode, regno))


-- 


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



[Bug c++/37057] 7 Internal Compiler Errors when compiling OpenFOAM-1.5

2008-09-17 Thread dje at gcc dot gnu dot org


--- Comment #35 from dje at gcc dot gnu dot org  2008-09-17 12:22 ---
User reports successful resolution.


-- 

dje at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|SUSPENDED   |RESOLVED
 Resolution||FIXED


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



[Bug bootstrap/37441] [4.4 regression] dwarf2 unwind info patches produce undefined symbols

2008-09-17 Thread ro at gcc dot gnu dot org


--- Comment #6 from ro at gcc dot gnu dot org  2008-09-17 12:28 ---
Fixed for 4.4.0.


-- 

ro at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug bootstrap/37441] [4.4 regression] dwarf2 unwind info patches produce undefined symbols

2008-09-17 Thread ro at gcc dot gnu dot org


--- Comment #7 from ro at gcc dot gnu dot org  2008-09-17 12:28 ---
Subject: Bug 37441

Author: ro
Date: Wed Sep 17 12:26:43 2008
New Revision: 140417

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=140417
Log:
PR bootstrap/37441
* dwarf2out.c (dwarf2out_do_cfi_asm) [MIPS_DEBUGGING_INFO]: Return
false.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/dwarf2out.c


-- 


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



[Bug c++/37558] New: rev 140120 changes the accessibility of a friend decl.

2008-09-17 Thread espindola at google dot com
Gcc 4.4 used to accept the program

---
class Foo {
 friend class Bar;
 friend void func(const class Bar*);
};
--

since 140120 it does not.

Simon found the following:

gcc 2.95.3, 3.4.5 and icc accept it. Previous versions of 4.4 reject it.

The standard says

11.4-7: A name nominated by a friend declaration shall be accessible in the
scope of the class containing the friend declaration...

I am not sure if we should accept or reject it, but we should have a testcase
once we decide.


-- 
   Summary: rev 140120 changes the accessibility of a friend decl.
   Product: gcc
   Version: lto
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: espindola at google dot com
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug c++/37559] New: pow() function outputs NaN in debug build

2008-09-17 Thread john at humanoidsounds dot co dot uk
When I compile and run the following code in my debug build using GCC 4.0.1 on
an Intel Mac (OSX10.5) I find that the pow() function returns NaN whereas in
the release build it works as expected. When using the powf() function it works
as expected.

const float dBgain = -2.75750828f;
const double A = pow((float)10,(float)(dBgain/20.0)));

The command line used to compile the code is as follows:

CompileC build/C2 Project XCode.build/Imported CodeWarrior Settings/C2 AU
Debug.build/Objects-normal/i386/CAFilterBiquad.o
/Users/john/Documents/Dev/C2/Libraries/CAEffects/CAFilterBiquad.cpp normal i386
c++ com.apple.compilers.gcc.4_0
cd /Users/john/Documents/Dev/C2
/Developer/usr/bin/gcc-4.0 -x c++ -arch i386 -pipe -Wno-trigraphs
-fpascal-strings -fasm-blocks -gstabs+ -fno-eliminate-unused-debug-symbols -O0
-fwritable-strings -DDEBUG=1 -fmessage-length=0 -msse3
-fvisibility-inlines-hidden -mmacosx-version-min=10.4
-I/Users/john/Documents/Dev/C2/build/C2 Project XCode.build/Imported
CodeWarrior Settings/C2 AU Debug.build/Alchemy.hmap -Wmost
-Wno-four-char-constants -Wno-unknown-pragmas
-F/Users/john/Documents/Dev/C2/build/Imported CodeWarrior Settings
-F/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks
-F/Users/john/Documents/Dev/C2 -I/Developer/SDKs/MacOSX10.5.sdk/usr/lib
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/dtrace
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/i686-apple-darwin9
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/java
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/powerpc-apple-darwin9
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/samba
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/sqlite3
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/system
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/darwin
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/powerpc-apple-darwin9
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/i686-apple-darwin9/4.0.1
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/powerpc-apple-darwin9/4.0.1
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/samba/auth
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/samba/charset
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/samba/idmap
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/samba/nss_info
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/samba/pdb
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/samba/vfs
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/darwin/3.3
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/powerpc-apple-darwin9/4.0.1
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/include
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/install-tools
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/x86_64
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/powerpc-apple-darwin9/4.0.1/install-tools
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/powerpc-apple-darwin9/4.0.1/ppc64
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/c++
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/pexpert
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/root
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/X11
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/install-tools/include
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/c++
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/powerpc-apple-darwin9/4.0.1/install-tools/include
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/c++/4.0.0
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/root/usr
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/X11/Xtrans
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/c++/4.0.0
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/root/usr/X11
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/root/usr/X11/include
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/root/usr/X11/include/X11
-I/Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/root/usr/X11/include/X11/Xtrans
-I/Users/john/Documents/Dev/C2/build/Imported CodeWarrior Settings/include
-I/Developer/SDKs/MacOSX10.5.sdk/usr/include
-I/Developer/SDKs/MacOSX10.5.sdk/Developer/Headers/FlatCarbon
-ILibrary/CAAnalyser/Loris -ILibrary/CACore -ILibrary/CAGui -ILibrary/CAUtil
-ILibrary/CAEffects -ILibrary/CASynthesis -ILibrary/FFT -ILibrary/CAMath
-ILibrary/CAAnalyser -I/Users/john/Documents/Dev/C2/build/C2 Project
XCode.build/Imported CodeWarrior Settings/C2 AU Debug.build/DerivedSources
-isysroot /Developer/SDKs/MacOSX10.5.sdk -include
/Users/john/Documents/Dev/C2/C2/C2AU_debug.h -c

[Bug tree-optimization/37102] [4.3/4.4 Regression] out-of-SSA is broken

2008-09-17 Thread rguenth at gcc dot gnu dot org


--- Comment #12 from rguenth at gcc dot gnu dot org  2008-09-17 14:25 
---
Ok, so I think we should be fine if we ignore PHI nodes with zero-use results
during building the elimination graph - chained unused PHIs will have lifeness
computed for all but the PHI node with the zero-use result.

So, on the 4.3 branch the following fixes the failure for me:

Index: tree-outof-ssa.c
===
*** tree-outof-ssa.c(revision 140417)
--- tree-outof-ssa.c(working copy)
*** eliminate_build (elim_graph g, basic_blo
*** 321,326 
--- 321,329 

for (phi = phi_nodes (B); phi; phi = PHI_CHAIN (phi))
  {
+   if (has_zero_uses (PHI_RESULT (phi)))
+   continue;
+ 
T0 = var_to_partition_to_var (g-map, PHI_RESULT (phi));

/* Ignore results which are not in partitions.  */


I am now giving this testing.


-- 


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



[Bug c++/37555] [4.2/4.3/4.4 regression] ICE with invalid typedef

2008-09-17 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P5


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



[Bug c++/37554] [4.3/4.4 regression] ICE with invalid cast

2008-09-17 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P5


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



[Bug c/37560] New: bitfield not promoted to int

2008-09-17 Thread clemens at ladisch dot de
In the following program, the type of the assignment expression f.x = 1
should be int, according to the integer promotion rules.
However, gcc 4.xx (on all architectures I've tested) prints 1.


#include stdio.h
int main()
{
struct foo { int x:1; } f;
printf(%u\n, sizeof(f.x = 1));
return 0;
}


-- 
   Summary: bitfield not promoted to int
   Product: gcc
   Version: 4.3.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: clemens at ladisch dot de
GCC target triplet: x86_64-suse-linux


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



[Bug tree-optimization/37102] [4.3/4.4 Regression] out-of-SSA is broken

2008-09-17 Thread amacleod at redhat dot com


--- Comment #13 from amacleod at redhat dot com  2008-09-17 14:34 ---
I was in the middle of updating this PR and taking possesion :-)

Upon further reflection, I don't think it is acceptable for out-of-ssa to
generate incorrect code simply because an optimization wasn't run before it.

So, there are 2 basic choices. ONnis as you state, only there is an additional
bit required during the rewrite verification.  

The other option is a very mini dead phi removal done at the same time as
virtual phis are eliminated. its only a few lines of code and simple removes
PHIs with no uses, and takes care of the ripple effect as well. I have a patch
for it as well, its just not completely tested yet.

I'll attach both in a minute, I just wanted you to know I was looking at it :-)


-- 


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



[Bug middle-end/36747] ICE in set_uids_in_ptset, at tree-ssa-structalias.c:4785 with -O

2008-09-17 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2008-09-17 14:34 ---
*** Bug 37310 has been marked as a duplicate of this bug. ***


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||petermorgan at grapevine dot
   ||net dot au


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



[Bug tree-optimization/37310] [4.3 Regression] gfortran errors in compilation and the making for upgraded compilers

2008-09-17 Thread rguenth at gcc dot gnu dot org


--- Comment #17 from rguenth at gcc dot gnu dot org  2008-09-17 14:34 
---
I think this is a duplicate of PR36747 as I no longer can reporduce this with
4.3.2.

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


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
  Known to fail|4.2.0   |4.2.0 4.3.1
  Known to work|4.4.0   |4.4.0 4.3.2
 Resolution||DUPLICATE


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



[Bug tree-optimization/37102] [4.3/4.4 Regression] out-of-SSA is broken

2008-09-17 Thread rguenth at gcc dot gnu dot org


--- Comment #14 from rguenth at gcc dot gnu dot org  2008-09-17 14:38 
---
Hm, it doesn't work - bootstrap fails as gengtype segfaults.


-- 


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



[Bug tree-optimization/37102] [4.3/4.4 Regression] out-of-SSA is broken

2008-09-17 Thread amacleod at redhat dot com


--- Comment #15 from amacleod at redhat dot com  2008-09-17 14:39 ---
Created an attachment (id=16343)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16343action=view)
potential patch 1

This is the first option which simply doesn't add the result of a PHI with no
uses to the partition map.  It passes bootstrap and all tests on
x86_64-unknown-linux-gnu with no regressions.


-- 

amacleod at redhat dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |amacleod at redhat dot com
   |dot org |
 Status|NEW |ASSIGNED


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



[Bug c++/37260] [4.1/4.2/4.3 Regression] infinite loop in init

2008-09-17 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P2


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



[Bug tree-optimization/36343] [4.3 Regression] Wrong code due to bad TBAA pruning of points-to-sets and use in call clobbering

2008-09-17 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2008-09-17 14:46 ---
Created an attachment (id=16344)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16344action=view)
patch disabling TBAA pruning

This is the patch we use for openSUSE to fix this bug.


-- 


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



[Bug tree-optimization/37102] [4.3/4.4 Regression] out-of-SSA is broken

2008-09-17 Thread amacleod at redhat dot com


--- Comment #16 from amacleod at redhat dot com  2008-09-17 14:48 ---
Created an attachment (id=16345)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16345action=view)
Potential patch #2

This is the other option, eliminate dead PHIs.  compiling all of GCC .c files
at -O3, it finds a total of 12 instances of dead phis, and 3 of those were
extra ones made dead by elimination of the original dead PHI.


This patch has not yet been bootstrapped and fully tested, its ongoing now.


-- 


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



[Bug testsuite/37561] New: [4.4 Regression] Revision 140405 caused g++.old-deja/g++.mike/warn1.C

2008-09-17 Thread hjl dot tools at gmail dot com
bash-3.2$ cat g++.old-deja/g++.mike/warn1.C
// { dg-do assemble  }
// { dg-options -Wall }

typedef char * charptr;
typedef __SIZE_TYPE__ size_t;
char c[]={'A','B','C','D'};
int i=size_t(c);
int *pp=i;
void foo() { }
int main()
{
 charptr(*pp)++;// { dg-warning  } 
 return 0;
}
bash-3.2$ gcc -Wall -S -o /tmp/x.s g++.old-deja/g++.mike/warn1.C -m64
g++.old-deja/g++.mike/warn1.C: In function ‘int main()’:
g++.old-deja/g++.mike/warn1.C:12: warning: value computed is not used
bash-3.2$ gcc -Wall -S -o /tmp/x.s g++.old-deja/g++.mike/warn1.C -m32
g++.old-deja/g++.mike/warn1.C: In function ‘int main()’:
g++.old-deja/g++.mike/warn1.C:12: error: lvalue required as increment operand
bash-3.2$ 

On Linux/x86-64, I got

FAIL: g++.old-deja/g++.mike/warn1.C  (test for errors, line 12)
FAIL: g++.old-deja/g++.mike/warn1.C (test for excess errors)


-- 
   Summary: [4.4 Regression] Revision 140405 caused g++.old-
deja/g++.mike/warn1.C
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com


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



[Bug c/37560] bitfield not promoted to int

2008-09-17 Thread joseph at codesourcery dot com


--- Comment #1 from joseph at codesourcery dot com  2008-09-17 14:50 ---
Subject: Re:   New: bitfield not promoted to int

On Wed, 17 Sep 2008, clemens at ladisch dot de wrote:

 In the following program, the type of the assignment expression f.x = 1
 should be int, according to the integer promotion rules.
 However, gcc 4.xx (on all architectures I've tested) prints 1.

Why do you think the type should be int instead of int:1?  The conclusion 
from C90 DRs was that bit-fields have their own types, and from C99 DRs 
was to leave whether they have their own types implementation-defined, and 
GCC follows the C90 DRs and so the assignment has type int:1 and is not 
promoted as an operand of sizeof.

Now, for C++ you have a valid bug report, since there bit-fields do not 
have their own types, and the reported behavior appears for C++ as well.


-- 


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



[Bug middle-end/18071] [4.2/4.3/4.4 Regression] -Winline does not respect -fno-default-inline

2008-09-17 Thread hubicka at gcc dot gnu dot org


--- Comment #37 from hubicka at gcc dot gnu dot org  2008-09-17 15:02 
---
Subject: Bug 18071

Author: hubicka
Date: Wed Sep 17 15:00:59 2008
New Revision: 140418

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=140418
Log:
PR c++/18071
* tree.h (DECL_INLINE): remove.
(DECL_DECLARED_INLINE_P): Update docs.
(DECL_NO_INLINE_WARNING_P): new.
(tree_function_decl): Replace inline_flag by no_inline_warning_flag.
* tree-inline.c (inlinable_function_p): Set DECL_NO_INLINE_WARNING_P.

Java:
* class.c (add_method_1): Do not initialize DECL_INLINE.
(make_local_function_alias): Likewise.
* expr.c (rewrite_arglist_getcaller): Set DECL_UNINLINABLE.
* lang.c (java_decl_ok_for_sibcall): Use DECL_UNINLINABLE.

Objc:
* objc/objc-act.c (objc_finish_method_definition): Do not set
DECL_INLINE.

C++:
* cp/decl.c (start_method): Set DECL_NO_INLINE_WARNING_P.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/java/ChangeLog
trunk/gcc/java/class.c
trunk/gcc/java/expr.c
trunk/gcc/java/lang.c
trunk/gcc/objc/ChangeLog
trunk/gcc/objc/objc-act.c
trunk/gcc/tree-inline.c
trunk/gcc/tree.h


-- 


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



[Bug tree-optimization/36343] [4.3 Regression] Wrong code due to bad TBAA pruning of points-to-sets and use in call clobbering

2008-09-17 Thread ebotcazou at gcc dot gnu dot org


--- Comment #7 from ebotcazou at gcc dot gnu dot org  2008-09-17 15:07 
---
 This is the patch we use for openSUSE to fix this bug.

Any particular reason for not installing it at the FSF as well?


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot gnu dot
   ||org


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



[Bug tree-optimization/36343] [4.3 Regression] Wrong code due to bad TBAA pruning of points-to-sets and use in call clobbering

2008-09-17 Thread rguenther at suse dot de


--- Comment #8 from rguenther at suse dot de  2008-09-17 15:10 ---
Subject: Re:  [4.3 Regression] Wrong code due
 to bad TBAA pruning of points-to-sets and use in call clobbering

On Wed, 17 Sep 2008, ebotcazou at gcc dot gnu dot org wrote:

 --- Comment #7 from ebotcazou at gcc dot gnu dot org  2008-09-17 15:07 
 ---
  This is the patch we use for openSUSE to fix this bug.
 
 Any particular reason for not installing it at the FSF as well?

It disables optimizations and the testcase was artificially created by
me from looking at the source.  But let me just submit the patch
(again) and ask for feedback.

Richard.


-- 


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



[Bug c/37560] bitfield not promoted to int

2008-09-17 Thread clemens at ladisch dot de


--- Comment #2 from clemens at ladisch dot de  2008-09-17 15:11 ---
According to the proposed TC in DR 315 (If an int can represent all values of
the original type (as restricted by the width, for a bit-field), the type is
converted to an int;), 


-- 

clemens at ladisch dot de changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug tree-optimization/37525] [4.4 Regression] IVOPTS difference causing 20% degradation in 173.applu benchmark

2008-09-17 Thread jakub at gcc dot gnu dot org


--- Comment #1 from jakub at gcc dot gnu dot org  2008-09-17 15:12 ---
I guess the problem might be that Fortran has signed size_type_node (and
unsigned
sizetype), so what the newly added code in int_fits_type_p does breaks Fortran
assumptions.  Say for sizetype -25 (i.e. unsigned value), when it is
force_fit_type_double into a signed type, it becomes signed -25, and given that
type_low_bound (of sizetype) is 0 and -25 is smaller than 0, int_fits_type_p
fails.
Perhaps just adding another TYPE_UNSIGNED (size_type_node) check to the if
would be sufficient.
That said, I still think such change isn't appropriate for 4.3 branch.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dodji at gcc dot gnu dot org


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



[Bug tree-optimization/37508] [4.4 Regression] ICE in in simplify_truth_ops_using_ranges, at tree-vrp.c:6334

2008-09-17 Thread bonzini at gnu dot org


--- Comment #7 from bonzini at gnu dot org  2008-09-17 15:17 ---
Do you have a missed optimization for optimizing the functions to return 1? 
Or does your patch fix it too?


-- 

bonzini at gnu dot org changed:

   What|Removed |Added

 CC||bonzini at gnu dot org


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



[Bug c++/37559] pow() function outputs NaN in debug build

2008-09-17 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2008-09-17 15:19 ---
GCC 4.0.1 is no longer supported by the FSF.  Please update to at least GCC
4.2.4
and re-check if the problem is fixed.  You may also want to report to Apple
instead which is known to heavily modify their compilers.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug fortran/37536] [4.3/4.4 Regression] a mfcr is produced instead of branches for DO loops

2008-09-17 Thread luisgpm at linux dot vnet dot ibm dot com


--- Comment #9 from luisgpm at linux dot vnet dot ibm dot com  2008-09-17 
15:22 ---
Gathered some PPC 32/64 performance numbers with the patch (based on 140409).
No noticeable performance regressions were found. 32-bit swin and 64-bit art
had a little boost on speed (7.8% and 3.4% respectivelly).


-- 

luisgpm at linux dot vnet dot ibm dot com changed:

   What|Removed |Added

 CC||luisgpm at linux dot vnet
   ||dot ibm dot com


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



[Bug tree-optimization/37508] [4.4 Regression] ICE in in simplify_truth_ops_using_ranges, at tree-vrp.c:6334

2008-09-17 Thread rguenther at suse dot de


--- Comment #8 from rguenther at suse dot de  2008-09-17 15:24 ---
Subject: Re:  [4.4 Regression] ICE in in
 simplify_truth_ops_using_ranges, at tree-vrp.c:6334

On Wed, 17 Sep 2008, bonzini at gnu dot org wrote:

 --- Comment #7 from bonzini at gnu dot org  2008-09-17 15:17 ---
 Do you have a missed optimization for optimizing the functions to return 1? 
 Or does your patch fix it too?

See PR37541.

Richard.


-- 


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



[Bug inline-asm/37562] New: [4.2] -funroll-loops destroys inline asm code von powerpc

2008-09-17 Thread rbuergel at web dot de
typedef unsigned int UInt32;
typedef unsigned char UInt8;

struct Data
{
  UInt8 data[16];

  const UInt8* getData() const
  {
return data + 4;
  }
};

struct Value {
  UInt32 value;
  static void update (Value signal, const Data source, UInt32 startBit);
};

void Value::update(Value signal, const Data source, UInt32 startByte)
{
  UInt32 value = signal.value;
  const UInt8* data = source.getData();
  asm( lwbrx %0,%1,%2;\n:=r(value): r(data), r(startByte), m (*(data
+ startByte)) );
}

generated for gcc-4.2.4 on powerpc:
 _ZN5Value6updateERS_RK4Dataj:
   0:   38 04 00 04 addir0,r4,4
   4:   7c 80 2c 2c lwbrx   r4,0,r5
   8:   90 83 00 00 stw r4,0(r3)
   c:   4e 80 00 20 blr

the correct version without -funroll-loops reads:
 _ZN5Value6updateERS_RK4Dataj:
   0:   38 84 00 04 addir4,r4,4
   4:   7c 84 2c 2c lwbrx   r4,r4,r5
   8:   90 83 00 00 stw r4,0(r3)
   c:   4e 80 00 20 blr


lwbrx sums the contents of r4 and r5 and accesses this address, swaps it's
value and stores it again in r4. The incorrect version accesses an invalid
address, which leads to a segmentation fault.

this is corrected at least with gcc-4.3.1, there i couldn't reproduce the
behaviour.


-- 
   Summary: [4.2] -funroll-loops destroys inline asm code von
powerpc
   Product: gcc
   Version: 4.2.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: inline-asm
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rbuergel at web dot de


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



[Bug inline-asm/37562] [4.2] -funroll-loops destroys inline asm code von powerpc

2008-09-17 Thread rbuergel at web dot de


--- Comment #1 from rbuergel at web dot de  2008-09-17 15:44 ---
oops, i forgot to mention my command line to compile it:
powerpc-linux-g++ -O3 -funroll-loops -c -o GetBytes2.o GetBytes2.cpp

using -O3 is important for reproducing this error


-- 


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



[Bug c/37560] bitfield not promoted to int

2008-09-17 Thread joseph at codesourcery dot com


--- Comment #3 from joseph at codesourcery dot com  2008-09-17 15:55 ---
Subject: Re:  bitfield not promoted to int

On Wed, 17 Sep 2008, clemens at ladisch dot de wrote:

 According to the proposed TC in DR 315 (If an int can represent all values of
 the original type (as restricted by the width, for a bit-field), the type is
 converted to an int;), 

That's part of the integer promotions, which are only applied in certain 
contexts (and the operand of sizeof is not one of those contexts).


-- 


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



[Bug testsuite/37561] [4.4 Regression] Revision 140405 caused g++.old-deja/g++.mike/warn1.C

2008-09-17 Thread janis at gcc dot gnu dot org


--- Comment #1 from janis at gcc dot gnu dot org  2008-09-17 16:00 ---
I tested with -m32 on powerpc64-linux, not with both -m32/-m64 which would have
caught this; I'll test with both for related patches.

The test previously used { dg-warning  }, which matched any message from that
line.  The patch, in preparation to using new versions of dg-error and
dg-warning that actually check for warning and error, changed that to {
dg-error lvalue }, which matches the error message for -m32 but not the
warning message for -m64.  It's a bug in the compiler that the error isn't
reported for -m64, and the change to the test merely detected that.

This should be a C++ bug, not a testsuite bug.


-- 


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



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

2008-09-17 Thread reichelt at gcc dot gnu dot org
The following valid code snippet is rejected since GCC 4.3.0:

==
struct A {};

templateint struct Traits
{
  typedef void X;
};

template struct Traits0
{
  typedef A X;
};

templateint N struct B
{
  typedef typename TraitsN::X Y;

  void foo(Y y)
  {
y.Y::A::~A();
  }
};
==

bug.cc: In member function 'void BN::foo(typename TraitsN::X)':
bug.cc:19: error: 'void' is not a class type


-- 
   Summary: [4.3/4.4 regression] Trouble calling qualified member
function
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Keywords: rejects-valid
  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=37563



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

2008-09-17 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.3


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



[Bug libfortran/37564] New: collect2: ld returned 1 exit status make[3]: *** [libgfortran.la] Error 1

2008-09-17 Thread reuben dot kraft at gmail dot com
Hello,

From the terminal, I many lines that look similar to:
.libs/in_unpack_generic.o(.text+0x820): In function `getline':
/usr/include/bits/stdio.h:103: multiple definition of `getline'
.libs/backtrace.o(.text+0xbc0):/usr/include/bits/stdio.h:103: first defined
here
.libs/in_unpack_generic.o(.text+0x830): In function `putchar_unlocked':
/usr/include/bits/stdio.h:94: multiple definition of `putchar_unlocked'
.libs/backtrace.o(.text+0xbd0):/usr/include/bits/stdio.h:94: first defined here
...
...
...


After that terminal output says:

collect2: ld returned 1 exit status
make[3]: *** [libgfortran.la] Error 1
make[3]: Leaving directory
`/home/rkraft/apps/gcc-4.3.1/x86_64-unknown-linux-gnu/libgfortran'
make[2]: *** [all] Error 2
make[2]: Leaving directory
`/home/rkraft/apps/gcc-4.3.1/x86_64-unknown-linux-gnu/libgfortran'
make[1]: *** [all-target-libgfortran] Error 2
make[1]: Leaving directory `/home/rkraft/apps/gcc-4.3.1'
make: *** [all] Error 2

I get this same error for gcc4.3.2 also.  What cause this and how do I fix it?
Configure log from x86_64-unknown-linux-gnu/libgfortran/ attached.

Thanks for your time.


-- 
   Summary: collect2: ld returned 1 exit status make[3]: ***
[libgfortran.la] Error 1
   Product: gcc
   Version: 4.3.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libfortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reuben dot kraft at gmail dot com


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



[Bug libfortran/37564] collect2: ld returned 1 exit status make[3]: *** [libgfortran.la] Error 1

2008-09-17 Thread reuben dot kraft at gmail dot com


--- Comment #1 from reuben dot kraft at gmail dot com  2008-09-17 16:04 
---
Created an attachment (id=16346)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16346action=view)
x86_64-unknown-linux-gnu/libgfortran/config.log


-- 


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



[Bug preprocessor/37324] [4.4 Regression] FAIL: gcc.dg/utf-array.c (test for errors)

2008-09-17 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2008-09-17 16:06 ---
Subject: Bug 37324

Author: jakub
Date: Wed Sep 17 16:05:11 2008
New Revision: 140421

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=140421
Log:
PR preprocessor/37324
* lib/target-supports.exp
(check_effective_target_wchar_t_char16_t_compatible,
check_effective_target_wchar_t_char32_t_compatible): New.
* gcc.dg/utf-array.c: Use __CHAR{16,32}_TYPE__ macros in typedefs.
Only require from incompatible errors for char{16,32}_t vs. wchar_t
initializations if those types are indeed incompatible.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/utf-array.c
trunk/gcc/testsuite/lib/target-supports.exp


-- 


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



[Bug preprocessor/37324] [4.4 Regression] FAIL: gcc.dg/utf-array.c (test for errors)

2008-09-17 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2008-09-17 16:07 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug c++/37552] [4.4 regression] ICE with invalid array access

2008-09-17 Thread jakub at gcc dot gnu dot org


--- Comment #1 from jakub at gcc dot gnu dot org  2008-09-17 16:08 ---
Subject: Bug 37552

Author: jakub
Date: Wed Sep 17 16:07:08 2008
New Revision: 140422

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=140422
Log:
PR c++/37552
* typeck.c (build_array_ref): Use protected_set_expr_location instead
of SET_EXPR_LOCATION when ret might not be an expression.

* g++.dg/parse/crash49.C: New test.

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


-- 


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



[Bug c++/37552] [4.4 regression] ICE with invalid array access

2008-09-17 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2008-09-17 16:10 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug testsuite/37561] [4.4 Regression] Revision 140405 caused g++.old-deja/g++.mike/warn1.C

2008-09-17 Thread hjl dot tools at gmail dot com


--- Comment #2 from hjl dot tools at gmail dot com  2008-09-17 16:11 ---
(In reply to comment #1)
 I tested with -m32 on powerpc64-linux, not with both -m32/-m64 which would 
 have
 caught this; I'll test with both for related patches.
 
 The test previously used { dg-warning  }, which matched any message from 
 that
 line.  The patch, in preparation to using new versions of dg-error and
 dg-warning that actually check for warning and error, changed that to {
 dg-error lvalue }, which matches the error message for -m32 but not the
 warning message for -m64.  It's a bug in the compiler that the error isn't
 reported for -m64, and the change to the test merely detected that.
 
 This should be a C++ bug, not a testsuite bug.
 

I am not sure if it is a C++ bug. The differences between -m32
and -m64 are the sizes of __SIZE_TYPE__, int and pointer. Replace
int with long gives me
[EMAIL PROTECTED] tmp]$ cat x.cc 
typedef char * charptr;
typedef __SIZE_TYPE__ size_t;
char c[]={'A','B','C','D'};
long i=size_t(c);
long *pp=i;
void foo() { }
int main()
{
   charptr(*pp)++;// { dg-warning  } 
return 0;
}
[EMAIL PROTECTED] tmp]$ gcc -Wall x.cc -S -m64 
x.cc: In function ‘int main()’:
x.cc:9: error: lvalue required as increment operand
[EMAIL PROTECTED] tmp]$ gcc -Wall x.cc -S -m32
x.cc: In function ‘int main()’:
x.cc:9: error: lvalue required as increment operand
[EMAIL PROTECTED] tmp]$ 


-- 


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



[Bug c++/37439] ICE using auto return-type in template function

2008-09-17 Thread jason at gcc dot gnu dot org


--- Comment #1 from jason at gcc dot gnu dot org  2008-09-17 16:12 ---
Fixed.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c++/37302] function parameters are declared too late

2008-09-17 Thread jason at gcc dot gnu dot org


--- Comment #1 from jason at gcc dot gnu dot org  2008-09-17 16:13 ---
Fixed.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug rtl-optimization/37544] [4.4 Regression] Conversion double - unsigned long long - unsigned - double gives wrong results

2008-09-17 Thread ubizjak at gmail dot com


--- Comment #11 from ubizjak at gmail dot com  2008-09-17 16:13 ---
Patch at http://gcc.gnu.org/ml/gcc-patches/2008-09/msg01221.html


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ubizjak at gmail dot com
   |dot org |
URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2008-
   ||09/msg01221.html
 Status|NEW |ASSIGNED
   Keywords||patch
   Last reconfirmed|2008-09-16 19:17:21 |2008-09-17 16:13:33
   date||
   Target Milestone|4.3.4   |4.2.5


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



[Bug c++/37208] C++0x deleted functions and SFINAE

2008-09-17 Thread jason at gcc dot gnu dot org


--- Comment #4 from jason at gcc dot gnu dot org  2008-09-17 16:14 ---
Fixed.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c++/37558] [4.4 regression] rev 140120 changes the accessibility of a friend decl.

2008-09-17 Thread jason at gcc dot gnu dot org


--- Comment #1 from jason at gcc dot gnu dot org  2008-09-17 16:19 ---
This doesn't have anything to do with accessibility, but it is a new bug.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Priority|P3  |P1
   Last reconfirmed|-00-00 00:00:00 |2008-09-17 16:19:57
   date||
Summary|rev 140120 changes the  |[4.4 regression] rev 140120
   |accessibility of a friend   |changes the accessibility of
   |decl.   |a friend decl.


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



Re: [Bug inline-asm/37562] New: [4.2] -funroll-loops destroys inline asm code von powerpc

2008-09-17 Thread Andrew Thomas Pinski



Sent from my iPhone

On Sep 17, 2008, at 8:42 AM, rbuergel at web dot de [EMAIL PROTECTED] 
 wrote:



typedef unsigned int UInt32;
typedef unsigned char UInt8;

struct Data
{
 UInt8 data[16];

 const UInt8* getData() const
 {
   return data + 4;
 }
};

struct Value {
 UInt32 value;
 static void update (Value signal, const Data source, UInt32  
startBit);

};

void Value::update(Value signal, const Data source, UInt32  
startByte)

{
 UInt32 value = signal.value;
 const UInt8* data = source.getData();
 asm( lwbrx %0,%1,%2;\n:=r(value): r(data), r(startByte),  
m (*(data

+ startByte)) );
}


The second constraint should be using b instead of r as b says  
don't use r0.






generated for gcc-4.2.4 on powerpc:
 _ZN5Value6updateERS_RK4Dataj:
  0:   38 04 00 04 addir0,r4,4
  4:   7c 80 2c 2c lwbrx   r4,0,r5
  8:   90 83 00 00 stw r4,0(r3)
  c:   4e 80 00 20 blr

the correct version without -funroll-loops reads:
 _ZN5Value6updateERS_RK4Dataj:
  0:   38 84 00 04 addir4,r4,4
  4:   7c 84 2c 2c lwbrx   r4,r4,r5
  8:   90 83 00 00 stw r4,0(r3)
  c:   4e 80 00 20 blr


lwbrx sums the contents of r4 and r5 and accesses this address,  
swaps it's
value and stores it again in r4. The incorrect version accesses an  
invalid

address, which leads to a segmentation fault.

this is corrected at least with gcc-4.3.1, there i couldn't  
reproduce the

behaviour.


--
  Summary: [4.2] -funroll-loops destroys inline asm code von
   powerpc
  Product: gcc
  Version: 4.2.4
   Status: UNCONFIRMED
 Severity: normal
 Priority: P3
Component: inline-asm
   AssignedTo: unassigned at gcc dot gnu dot org
   ReportedBy: rbuergel at web dot de


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



[Bug inline-asm/37562] [4.2] -funroll-loops destroys inline asm code for powerpc

2008-09-17 Thread pinskia at gmail dot com


--- Comment #2 from pinskia at gmail dot com  2008-09-17 16:52 ---
Subject: Re:   New: [4.2] -funroll-loops destroys inline asm code von powerpc



Sent from my iPhone

On Sep 17, 2008, at 8:42 AM, rbuergel at web dot de [EMAIL PROTECTED] 
  wrote:

 typedef unsigned int UInt32;
 typedef unsigned char UInt8;

 struct Data
 {
  UInt8 data[16];

  const UInt8* getData() const
  {
return data + 4;
  }
 };

 struct Value {
  UInt32 value;
  static void update (Value signal, const Data source, UInt32  
 startBit);
 };

 void Value::update(Value signal, const Data source, UInt32  
 startByte)
 {
  UInt32 value = signal.value;
  const UInt8* data = source.getData();
  asm( lwbrx %0,%1,%2;\n:=r(value): r(data), r(startByte),  
 m (*(data
 + startByte)) );
 }

The second constraint should be using b instead of r as b says  
don't use r0.




 generated for gcc-4.2.4 on powerpc:
  _ZN5Value6updateERS_RK4Dataj:
   0:   38 04 00 04 addir0,r4,4
   4:   7c 80 2c 2c lwbrx   r4,0,r5
   8:   90 83 00 00 stw r4,0(r3)
   c:   4e 80 00 20 blr

 the correct version without -funroll-loops reads:
  _ZN5Value6updateERS_RK4Dataj:
   0:   38 84 00 04 addir4,r4,4
   4:   7c 84 2c 2c lwbrx   r4,r4,r5
   8:   90 83 00 00 stw r4,0(r3)
   c:   4e 80 00 20 blr


 lwbrx sums the contents of r4 and r5 and accesses this address,  
 swaps it's
 value and stores it again in r4. The incorrect version accesses an  
 invalid
 address, which leads to a segmentation fault.

 this is corrected at least with gcc-4.3.1, there i couldn't  
 reproduce the
 behaviour.


 -- 
   Summary: [4.2] -funroll-loops destroys inline asm code von
powerpc
   Product: gcc
   Version: 4.2.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: inline-asm
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rbuergel at web dot de


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



-- 


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



[Bug testsuite/37561] [4.4 Regression] Revision 140405 caused g++.old-deja/g++.mike/warn1.C

2008-09-17 Thread janis at gcc dot gnu dot org


--- Comment #3 from janis at gcc dot gnu dot org  2008-09-17 17:02 ---
This is twisting my brain, but in this simplified testcase:

  __PTRDIFF_TYPE__ p;
  short q;
  void foo () { ((char *)p)++; }
  void bar () { ((char *)q)++; }

we get an error with both -m32 and-m64 for foo but not for bar:

  elm3b149% /home/janis/tools/gcc-trunk-anonsvn/bin/g++ -c -m32 z.C
  z.C: In function ‘void foo()’:
  z.C:3: error: lvalue required as increment operand
  elm3b149% /home/janis/tools/gcc-trunk-anonsvn/bin/g++ -c -m64 z.C
  z.C: In function ‘void foo()’:
  z.C:3: error: lvalue required as increment operand

although the expression (char *)q in bar is not an lvalue.  What am I
missing?


-- 


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



[Bug c++/37558] [4.4 regression] rev 140120 changes the accessibility of a friend decl.

2008-09-17 Thread jason at gcc dot gnu dot org


--- Comment #2 from jason at gcc dot gnu dot org  2008-09-17 17:31 ---
Fixed


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug libstdc++/37547] [c++0x] minmax with initializer_list gives incorrect results

2008-09-17 Thread paolo dot carlini at oracle dot com


--- Comment #1 from paolo dot carlini at oracle dot com  2008-09-17 17:35 
---
Thanks for catching this early, apparently this is a fundamental issue with the
current proposal: having such overloads returning const refs to elements of the
initializer_list is a very bad idea, because the initializer_list goes away
upon function return. The important point here is that when the
initializer_list is build it contains a *copy* of v, not v itself, which thus
goes away when the initializer_list dies.

Let's fix the proposal... ;)


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-09-17 17:35:05
   date||


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



[Bug testsuite/37561] [4.4 Regression] Revision 140405 caused g++.old-deja/g++.mike/warn1.C

2008-09-17 Thread janis at gcc dot gnu dot org


--- Comment #4 from janis at gcc dot gnu dot org  2008-09-17 17:38 ---
The same thing happens in C for the simplified testcase; z.c is a copy of z.C
from comment #3:

  elm3b149% /home/janis/tools/gcc-trunk-anonsvn/bin/gcc -c -m32 z.c
  z.c: In function ‘foo’:
  z.c:3: error: lvalue required as increment operand
  z.c: In function ‘bar’:
  z.c:4: warning: cast to pointer from integer of different size
  elm3b149% /home/janis/tools/gcc-trunk-anonsvn/bin/gcc -c -m64 z.c
  z.c: In function ‘foo’:
  z.c:3: error: lvalue required as increment operand
  z.c: In function ‘bar’:
  z.c:4: warning: cast to pointer from integer of different size


-- 


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



[Bug middle-end/37448] [4.3 Regression] gcc 4.3.1 cannot compile big function

2008-09-17 Thread lucier at math dot purdue dot edu


--- Comment #13 from lucier at math dot purdue dot edu  2008-09-17 17:49 
---
In the attached statistics file you find where this allocation overflowed

Alloc-pool KindPools  Allocated  PeakLeak
-
df_scan_ref pool 868 -1403330584  607042176  0

which is similar to what happens in 26854, so perhaps this PR could also be
improved with factored use-def chains.


-- 


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



[Bug c++/37450] [4.4 Regression] C++ FE times out on duplicated parameter

2008-09-17 Thread hjl at gcc dot gnu dot org


--- Comment #3 from hjl at gcc dot gnu dot org  2008-09-17 17:58 ---
Subject: Bug 37450

Author: hjl
Date: Wed Sep 17 17:57:24 2008
New Revision: 140425

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=140425
Log:
2008-09-17  H.J. Lu  [EMAIL PROTECTED]

PR c++/37450
* name-lookup.c (pushdecl_maybe_friend): Don't return the old
parameter for duplicate.

Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/name-lookup.c


-- 


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



[Bug c++/37450] [4.4 Regression] C++ FE times out on duplicated parameter

2008-09-17 Thread hjl dot tools at gmail dot com


--- Comment #4 from hjl dot tools at gmail dot com  2008-09-17 17:59 ---
Fixed.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug target/37394] [4.4 Regression] Segfault in ia64_variable_issue with -O -fschedule-insns2

2008-09-17 Thread hjl dot tools at gmail dot com


--- Comment #8 from hjl dot tools at gmail dot com  2008-09-17 18:06 ---
It may also impact PR 37283.


-- 


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



[Bug inline-asm/37562] [4.2] -funroll-loops destroys inline asm code for powerpc

2008-09-17 Thread rbuergel at web dot de


--- Comment #3 from rbuergel at web dot de  2008-09-17 18:46 ---
 The second constraint should be using b instead of r as b says
 don't use r0.
Is this documented anywhere? The gcc manual says r means any general purpose
register and b means Address base register. Any Documentation (for example
http://developer.apple.com/documentation/DeveloperTools/Reference/Assembler/PPCInstructions/chapter_6_section_2.html
) i've found, lists r0-r31 as general purpose registers.

Anyway, ignoring this point, you seem to be right. I remember 4.3.1 using r6
instead of r0, probably that's why it works. Unfortunately, i can't check your
suggestion until monday, when i'm back at work.


-- 


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



[Bug inline-asm/37562] [4.2] -funroll-loops destroys inline asm code for powerpc

2008-09-17 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2008-09-17 18:50 ---
From:
http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Machine-Constraints.html#Machine-Constraints

b
Address base register

Address base register is the standard saying rN or 0 (if r0 is used).  This is
just the way PPC asm works.


-- 

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=37562



[Bug libfortran/37564] collect2: ld returned 1 exit status make[3]: *** [libgfortran.la] Error 1

2008-09-17 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2008-09-17 18:53 ---
Did you compile in the source directory?  If so, don't.  It is not well
supported and it is currently known to be broken for this same reason, see PR
35619.


-- 


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



[Bug inline-asm/37562] [4.2] -funroll-loops destroys inline asm code for powerpc

2008-09-17 Thread rbuergel at web dot de


--- Comment #5 from rbuergel at web dot de  2008-09-17 18:57 ---
Too bad for newbies to ppc asm. :)
But thank you for your explanations


-- 


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



[Bug libfortran/37564] collect2: ld returned 1 exit status make[3]: *** [libgfortran.la] Error 1

2008-09-17 Thread reuben dot kraft at gmail dot com


--- Comment #3 from reuben dot kraft at gmail dot com  2008-09-17 19:04 
---
Do you mean do not run make from gcc-4.3.1 ?  Or do mean do not set prefix to
gcc-4.3.1 ? 

Currently I run make from /home/rkraft/apps/gcc-4.3.1 and I set prefix to
/home/rkraft/apps/gcc4

Here is my configure:

./configure --prefix=/home/rkraft/apps/gcc4
--with-mpfr=/home/rkraft/apps/mpfr-2.3.2 --disable-multilib
--enable-languages=fortran,c,c++ --with-gmp=/home/rkraft/apps/gmp-4.2.3 
--with-gmp-lib=/home/rkraft/apps/gmp-4.2.3/lib
--with-mpfr-lib=/home/rkraft/apps/mpfr-2.3.2/lib:


-- 


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



[Bug inline-asm/37562] [4.2] -funroll-loops destroys inline asm code for powerpc

2008-09-17 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2008-09-17 19:06 ---
You can also use __builtin_bswap32 in GCC 4.3 and above which gives you the
best code generation as it understands loading from memory and if the value is
in a register already.


-- 


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



[Bug libfortran/37564] collect2: ld returned 1 exit status make[3]: *** [libgfortran.la] Error 1

2008-09-17 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2008-09-17 19:07 ---
Please read http://gcc.gnu.org/install/configure.html:
First, we highly recommend that GCC be built into a separate directory than the
sources which does not reside within the source tree. This is how we generally
build GCC; building where srcdir == objdir should still work, but doesn't get
extensive testing; building where objdir is a subdirectory of srcdir is
unsupported.




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


-- 

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=37564



[Bug bootstrap/35619] [4.3/4.4 Regression] fixed includes not being found if building in src dir

2008-09-17 Thread pinskia at gcc dot gnu dot org


--- Comment #23 from pinskia at gcc dot gnu dot org  2008-09-17 19:07 
---
*** Bug 37564 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||reuben dot kraft at gmail
   ||dot com


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



[Bug libfortran/37564] collect2: ld returned 1 exit status make[3]: *** [libgfortran.la] Error 1

2008-09-17 Thread burnus at gcc dot gnu dot org


--- Comment #5 from burnus at gcc dot gnu dot org  2008-09-17 19:08 ---
 Currently I run make from /home/rkraft/apps/gcc-4.3.1

 Here is my configure:
 
 ./configure --prefix=/home/rkraft/apps/gcc4

Try:

cd /home/rkraft/apps/
mkdir gcc-4.3.1-build
cd gcc-4.3.1-build
../gcc-4.3.1/configure --prefix=/home/rkraft/apps/gcc4  \
--with-mpfr=/home/rkraft/apps/mpfr-2.3.2 --disable-multilib \
--enable-languages=fortran,c,c++ --with-gmp=/home/rkraft/apps/gmp-4.2.3 \
--with-gmp-lib=/home/rkraft/apps/gmp-4.2.3/lib \
--with-mpfr-lib=/home/rkraft/apps/mpfr-2.3.2/lib:

As Andrew already wrote: You should not build in the source directory but you
should build into another, empty directory like I did in the example above.


-- 


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



[Bug c++/22374] C++ front-end produces mis-match types in MODIFY_EXPR (dynamic_cast)

2008-09-17 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2008-09-17 19:08 ---
Subject: Bug 22374

Author: rguenth
Date: Wed Sep 17 19:07:27 2008
New Revision: 140427

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=140427
Log:
2008-09-17  Richard Guenther  [EMAIL PROTECTED]

PR c++/22374
* rtti.c (build_dynamic_cast_1): Convert the COND_EXPR
result to the correct type.

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


-- 


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



[Bug c++/22374] C++ front-end produces mis-match types in MODIFY_EXPR (dynamic_cast)

2008-09-17 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2008-09-17 19:08 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.4.0


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



[Bug tree-optimization/26854] [4.3/4.4 Regression] Inordinate compile times on large routines

2008-09-17 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P2
   Target Milestone|--- |4.3.3


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



  1   2   >