[Bug fortran/31608] wrong types in array transfer

2007-04-19 Thread Tobias dot Schlueter at physik dot uni-muenchen dot de


--- Comment #7 from Tobias dot Schlueter at physik dot uni-muenchen dot de  
2007-04-19 09:08 ---
Subject: Re:  wrong types in array transfer

burnus at gcc dot gnu dot org wrote:
> --- Comment #6 from burnus at gcc dot gnu dot org  2007-04-19 07:44 
> ---
>> Nevertheless, the accepts-invalid is also an embarassing problem (unless we
>> collectively misunderstand Fortran rules :)
> 
> Well, we do.

That doesn't make it any less embarassing :)  But indeed this is the 
same as "1 .eq. (/1,2/)" which evaluates to (/.true.,.false./), should 
have thought of this earlier.


-- 


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



[Bug fortran/31608] wrong types in array transfer

2007-04-19 Thread pault at gcc dot gnu dot org


--- Comment #8 from pault at gcc dot gnu dot org  2007-04-19 10:37 ---
(In reply to comment #7)

I am completely trapped by the workshop that I am running and have not even
managed to do what I promised last night.  Realistically, it might have to wait
until the weekend.  If you can develop a description of what the real PR should
be, I would be grateful.

BTW - thanks to Richard for noticing it.. might I ask how you came across
it?

Paul


-- 


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



[Bug middle-end/31631] New: Folding of A & (1 << B) pessimizes FRE

2007-04-19 Thread rguenth at gcc dot gnu dot org
void
foo (int control2, unsigned long *state, int size)
{
  int i;

  for(i=0; i:;
  D.1989_4 = (long unsigned int) i_1;
  D.1990_5 = D.1989_4 * 8;
  D.1991_6 = (long unsigned int *) D.1990_5;
  D.1992_8 = D.1991_6 + state_7(D);
  # VUSE 
  D.1993_9 = *D.1992_8;
  D.1994_11 = D.1993_9 >> control2_10(D);
  D.1995_12 = (int) D.1994_11;
  D.1996_13 = D.1995_12 & 1;
  if (D.1996_13 != 0) goto ; else goto ;

:;
  D.1989_19 = D.1989_4;
  D.1990_20 = D.1990_5;
  D.1991_21 = D.1991_6;
  D.1992_22 = D.1992_8;
  D.1993_23 = D.1993_9;
  D.1998_24 = 1 << control2_10(D);
  D.1999_25 = D.1993_23 ^ D.1998_24;
  # SMT.4_30 = VDEF 
  *D.1992_22 = D.1999_25;

This is related to PR29789 where this transformation causes other
pessimization.


-- 
   Summary: Folding of  A & (1 << B) pessimizes FRE
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: enhancement
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org


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



[Bug fortran/31608] wrong types in array transfer

2007-04-19 Thread rguenth at gcc dot gnu dot org


--- Comment #9 from rguenth at gcc dot gnu dot org  2007-04-19 12:08 ---
The patch in http://gcc.gnu.org/ml/gcc-patches/2007-04/msg01075.html makes the
testcase ICE because of the type mismatch.


-- 


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



[Bug rtl-optimization/29841] [4.2/4.3 regression] ICE with scheduling and __builtin_trap

2007-04-19 Thread ebotcazou at gcc dot gnu dot org


--- Comment #18 from ebotcazou at gcc dot gnu dot org  2007-04-19 12:19 
---
Subject: Bug 29841

Author: ebotcazou
Date: Thu Apr 19 12:19:16 2007
New Revision: 123970

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=123970
Log:
PR rtl-optimization/29841
* cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional
trap instructions.
* sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions
that may cause control flow transfer from being moved.


Added:
trunk/gcc/testsuite/gcc.dg/invalid-call-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cfgbuild.c
trunk/gcc/sched-deps.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug rtl-optimization/29841] [4.2/4.3 regression] ICE with scheduling and __builtin_trap

2007-04-19 Thread ebotcazou at gcc dot gnu dot org


--- Comment #19 from ebotcazou at gcc dot gnu dot org  2007-04-19 12:19 
---
Subject: Bug 29841

Author: ebotcazou
Date: Thu Apr 19 12:19:39 2007
New Revision: 123971

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=123971
Log:
PR rtl-optimization/29841
* cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional
trap instructions.
* sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions
that may cause control flow transfer from being moved.


Added:
branches/gcc-4_2-branch/gcc/testsuite/gcc.dg/invalid-call-1.c
Modified:
branches/gcc-4_2-branch/gcc/ChangeLog
branches/gcc-4_2-branch/gcc/cfgbuild.c
branches/gcc-4_2-branch/gcc/sched-deps.c
branches/gcc-4_2-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug rtl-optimization/29841] [4.2/4.3 regression] ICE with scheduling and __builtin_trap

2007-04-19 Thread ebotcazou at gcc dot gnu dot org


--- Comment #20 from ebotcazou at gcc dot gnu dot org  2007-04-19 12:21 
---
Should work now.


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot gnu dot
   ||org
URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2007-
   ||04/msg01114.html
 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/31632] New: [4.1 regression]

2007-04-19 Thread jakub at gcc dot gnu dot org



-- 
   Summary: [4.1 regression]
   Product: gcc
   Version: 4.1.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org


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



[Bug tree-optimization/31632] [4.1 regression] ICE in compare_values

2007-04-19 Thread jakub at gcc dot gnu dot org


--- Comment #1 from jakub at gcc dot gnu dot org  2007-04-19 12:40 ---
struct S
{
  long int l;
  void *m;
};

int
foo (struct S *x)
{
  unsigned long a;
  a = x->l;
  if (a <= ((void *) 0))
x->m = 0;
  return 0;
}

ICEs at -O2 on both x86_64-linux and ppc-linux.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
  Known to fail||4.1.3
  Known to work||3.4.6 4.2.0 4.3.0
Summary|[4.1 regression]|[4.1 regression] ICE in
   ||compare_values


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



[Bug tree-optimization/31632] [4.1 regression] ICE in compare_values

2007-04-19 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2007-04-19 12:56 ---
I'd say this is a frontend bug (in all of 4.1/4.2/4.3 at least), it shouldn't
have created
 
unit size 
align 8 symtab 0 alias set -1 precision 1 min  max >

arg 0 
unit size 
align 64 symtab 0 alias set -1 precision 64 min  max >
var  def_stmt 
version 3>
arg 1 
constant invariant 0>
A.c:12>

i.e. a comparison with integral type on one size and pointer on another one.
In 4.2+ forwprop1 fixes this up to comparison against 0L, but in 4.1 it makes
it through that up to vrp which asserts this is not the case.


-- 


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



[Bug fortran/31561] FAIL: gfortran.dg/vect/vect-4.f90

2007-04-19 Thread tprince at computer dot org


--- Comment #8 from tprince at computer dot org  2007-04-19 14:35 ---
4.2 branch appears to have the identical problem.


-- 


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



[Bug tree-optimization/31632] [4.1 regression] ICE in compare_values

2007-04-19 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2007-04-19 14:58 ---
Actually a bug in fold-const.


-- 

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 |2007-04-19 14:58:05
   date||


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



[Bug fortran/31608] wrong types in array transfer

2007-04-19 Thread pault at gcc dot gnu dot org


--- Comment #10 from pault at gcc dot gnu dot org  2007-04-19 15:20 ---
(In reply to comment #5)
> For the record, the problem Richard is pointing out is in the body of the
> function Up, namely in the expression for MERGE, probably caused by TRANSFER. 

Duuh! You are right about where the problem is.  Look, I am not in a position
to usefully contribute right now.  Please take such action as you see fit; eg.
withdraw the testcase and restore the PR, so that Richard can get going.

Paul


-- 


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



[Bug fortran/31608] wrong types in array transfer

2007-04-19 Thread rguenth at gcc dot gnu dot org


--- Comment #11 from rguenth at gcc dot gnu dot org  2007-04-19 15:55 
---
It's not blocking me atm as a different patch got accepted which doesn't expose
this problem.


-- 


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



[Bug fortran/25071] dummy argument larger than actual argument

2007-04-19 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2007-04-19 16:16 ---
Analogously for character lengths:

program test
   character(len=10) :: x
   call foo(x)
   write(*,*) 'X=',x
contains
subroutine foo(y)
   character(len=20) :: y
   y = 'hello world'
end subroutine
   end

Taken from: http://ftp.aset.psu.edu/pub/ger/fortran/test/ test17.f90 (slightly
modified).

g95: Actual character argument at (1) is shorter in length than the formal
argument

NAG f95: Character length too short for arg Y (no. 1) of FOO

ifort: Character length argument mismatch. [X]


-- 


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



[Bug c/31633] New: Calling an uninitialized function pointer does not trigger a warning

2007-04-19 Thread carottegcc at therodox dot com
See:

% cat gcc-bug.c
int foo(void) {
  int (*bar)(int);
  return bar(33);
}

% gcc -c -Wall gcc-bug.c
^ NO WARNING

% gcc -v
Using built-in specs.
Target: x86_64-pc-linux-gnu
Configured with:
/var/tmp/portage/sys-devel/gcc-4.1.1-r3/work/gcc-4.1.1/configure --prefix=/usr
--b
indir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.1
--includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/in
clude --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.1
--mandir=/usr/share/gcc-data/x86_64-p
c-linux-gnu/4.1.1/man
--infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.1/info --with-gxx-inclu
de-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4
--host=x86_64-pc-linux-gnu --build=x86
_64-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext
--with-system-zlib --dis
able-checking --disable-werror --enable-secureplt
--disable-libunwind-exceptions --enable-multilib 
--disable-libmudflap --disable-libssp --disable-libgcj --enable-languages=c,c++
--enable-shared --e
nable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
Thread model: posix
gcc version 4.1.1 (Gentoo 4.1.1-r3)


-- 
   Summary: Calling an uninitialized function pointer does not
trigger a warning
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: carottegcc at therodox dot com
GCC target triplet: x86_64-pc-linux-gnu, arm-lpc-elf


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



[Bug c/31633] Calling an uninitialized function pointer does not trigger a warning

2007-04-19 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-04-19 17:24 ---
Use -O1 if you want to find unitialized variables (including function
pointers):
[pinskia-laptop:gcc/objdir-noboot/gcc] pinskia% ./cc1 -quiet -W -Wall t5.c -O1
t5.c: In function 'foo':
t5.c:4: warning: 'bar' is used uninitialized in this function


This is documented as a limitation also.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WONTFIX


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



[Bug target/26290] [4.1 Regression]: code pessimization wrt. GCC 4.0 probably due to TARGET_MEM_REF

2007-04-19 Thread opruz at centrum dot cz


--- Comment #17 from opruz at centrum dot cz  2007-04-19 17:29 ---
4.1.2 -m32 -O2

.L6:
movl8(%ebp), %ebx
movl4(%edx), %ecx
movl-4(%ebx,%eax,4), %ebx
movl%ecx, -20(%ebp)
cmpl%ecx, %ebx
movl%ebx, -16(%ebp)
jle .L7
movl8(%ebp), %ebx
movl%ecx, -4(%ebx,%eax,4)
movl-16(%ebp), %ecx
movl%ecx, 4(%edx)
.L7:
incl-24(%ebp)
addl$4, %edx
cmpl-24(%ebp), %esi
jle .L12
jmp .L6

4.1.2 -m32 -O2

.L6:
movl-4(%rdx), %r10d
movl(%rcx), %r8d
cmpl%r8d, %r10d
jle .L7
movl%r8d, -4(%rdx)
movl%r10d, (%rcx)
.L7:
incl%edi
addq$4, %rcx
cmpl%edi, %esi
jle .L4
jmp .L6

Looks like noone gives a shit though...


-- 


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



[Bug java/31622] Segment violation in the “toString” method on a mathematical expression

2007-04-19 Thread eduardo dot iniesta at aquiline dot es


--- Comment #3 from eduardo dot iniesta at aquiline dot es  2007-04-19 
17:39 ---
(In reply to comment #1)

Thanks...

The exact version is:

$ gcj --version
gcj (GCC) 4.3.0 20061212 (experimental)
...

> Are you sure you are using gcj 4.3?
> 
> I see a SEGV with 4.1 and 4.2.  But with 4.3 I see an error:
> 
> opsy. gcj -C Fail.java 
> Fail.java:5: error: Cannot invoke toString() on the primitive type long
> r=(a-b).toString();
>   
> 1 problem (1 error)
> 
> (Note that, in all likelihood, we won't fix front end bugs of this nature
> in 4.1 or 4.2.)
> 

(In reply to comment #1)
> Are you sure you are using gcj 4.3?
> 
> I see a SEGV with 4.1 and 4.2.  But with 4.3 I see an error:
> 
> opsy. gcj -C Fail.java 
> Fail.java:5: error: Cannot invoke toString() on the primitive type long
> r=(a-b).toString();
>   
> 1 problem (1 error)
> 
> (Note that, in all likelihood, we won't fix front end bugs of this nature
> in 4.1 or 4.2.)
> 


-- 


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



[Bug target/31429] [4.3 Regression] __builtin_setjmp/__builtin_longjmp is broken on ppc-darwin

2007-04-19 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2007-04-19 17:39 ---
Fixed by:
Author: echristo
Date: Wed Apr 18 23:27:51 2007
New Revision: 123960

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=123960
Log:
2007-04-18  Eric Christopher  <[EMAIL PROTECTED]>

* config/rs6000/darwin.md (load_macho_picbase): Use link register
only. Update operands.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Update caller.
* config/rs6000/rs6000.md (builtin_setjmp_receiver): Ditto. Move from
link register to pic register.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/darwin.md
trunk/gcc/config/rs6000/rs6000.c
trunk/gcc/config/rs6000/rs6000.md


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug target/28623] [4.1/4.2/4.3 regression] ICE in extract_insn, at recog.c:2077 (nrecognizable insn) [alpha]

2007-04-19 Thread rth at gcc dot gnu dot org


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|-00-00 00:00:00 |2007-04-19 18:18:30
   date||


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



[Bug pch/31634] New: *_SECTION_ASM_OP storage has undocumented constraints

2007-04-19 Thread amylaar at gcc dot gnu dot org
The macros TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, SDATA_SECTION_ASM_OP,
READONLY_DATA_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
BSS_SECTION_ASM_OP and SBSS_SECTION_ASM_OP are used by
varasm.c:init_varasm_once
to pass their value to get_unnamed_section; the result of that function call
is then stored into a ggc root.
That means that pch fails if the string value one of these macros is in storage
that is not pch-safe, and the string is subsequently used in a compilation
useing
a precompiled header.
In particular, ggc-allocated strings are safe; string literals might be safe,
if they come from a cc1 binary (rather than a dso), and no address space
randomization is in effect.  (x)malloced emmory is not safe.

What I see with some gcc/dg/pch test cases for a port which uses xmalloed
memory is that the sections are swaitched around, most often .text against
.data (for valid-2.c Letext0 ended up in .data), but also .text or .rodata
against nothing (i.e. carry on in previous section), or just some garbage
string. 

We should either remove this restriction, or document it.

Considering that many ports use string literals, and many hosts in the wild
now use address space randomization, I think we should remove this
restriction by copying the string to ggc-allocated memory.

As far as I can see, all uses of get_unnamed_section pass a NULL or string
as third parameter, except for the rs6000, which passes pointers to
global variables - which in the case of address space randomization on the
host is just as unsuitable as a string literal.
The rs6000 cannot be converted trivially to using strings, since the variables
addresses are used in code called from backend_init, while the initialization
of the variables is called from do_compile, which is three lines down in
toplev.c:do_compile.

So I think the easiest solution is change get_unnamed_section to take a char*
for the third argument, which is copied to ggc-ed memory if not NULL, and
have another function providing the old functionality of get_unnamed_section
for the rs6000 target non-string usages.

The rs6000 target port could presumably be fixed to
work on a host with address space randomization by using indices into an
array instead of pointers, or by forcing initialization of the section names
from rs6000_xcoff_asm_init_sections, but this is really a separate issue.


-- 
   Summary: *_SECTION_ASM_OP storage has undocumented constraints
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: wrong-code, ice-on-valid-code, wrong-debug, link-
failure, assemble-failure
  Severity: normal
  Priority: P3
 Component: pch
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: amylaar at gcc dot gnu dot org


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



[Bug target/31635] New: -mno-vrsave ignored on ppc64

2007-04-19 Thread gcc at breakpoint dot cc
The -mno-vrsave switch as well as the old -mvrsave=no is ignored on 64bit
target.

Testcase is an empty file.

Results with powerpc64-unknown-linux-gnu-gcc -o a.s -c b.c -maltivec
-mno-vrsave -S -fverbose-asm -m64 into:

  # rs6000/powerpc options: -msdata=none
 .section".toc","aw"
 .section".text"
  # GNU C version 4.1.2 (Gentoo 4.1.2) (powerpc64-unknown-linux-gnu)
  #  compiled by GNU C version 4.1.1 (Gentoo 4.1.1-r3).
  # GGC heuristics: --param ggc-min-expand=44 --param ggc-min-heapsize=27672
  # options passed:  -D__unix__ -D__gnu_linux__ -D__linux__ -Dunix -D__unix
  # -Dlinux -D__linux -Asystem=linux -Asystem=unix -Asystem=posix
  # -msecure-plt -maltivec -mno-vrsave -m64 -auxbase-strip -fverbose-asm
  # options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
  # -fcommon -fearly-inlining -feliminate-unused-debug-types -ffunction-cse
  # -fgcse-lm -fident -finline-functions-called-once -fivopts
  # -fkeep-static-consts -fleading-underscore -floop-optimize2 -fmath-errno
  # -fpeephole -freg-struct-return -fsched-interblock -fsched-spec
  # -fsched-stalled-insns-dep -fshow-column -fsplit-ivs-in-unroller
  # -ftrapping-math -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize
  # -ftree-vect-loop-version -fverbose-asm -fzero-initialized-in-bss -m64
  # -maix-struct-return -maltivec -mbig -mbig-endian -mfp-in-toc
  # -mfused-madd -mhard-float -mnew-mnemonics -mpowerpc -mpowerpc-gfxopt
  # -mpowerpc64 -msched-prolog -msecure-plt -mupdate -mvrsave

  # Compiler executable checksum: 9f98a4867284f64c17c8db6425da4d5f

 .ident  "GCC: (GNU) 4.1.2 (Gentoo 4.1.2)"


Somehow -mvrsave comes into "option enabled"
-m32 does not pass this.


-- 
   Summary: -mno-vrsave ignored on ppc64
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc at breakpoint dot cc
 GCC build triplet: powerpc64-linux-gnu
  GCC host triplet: powerpc64-linux-gnu
GCC target triplet: powerpc64-linux-gnu


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



[Bug pch/31634] *_SECTION_ASM_OP storage has undocumented constraints

2007-04-19 Thread amylaar at gcc dot gnu dot org


--- Comment #1 from amylaar at gcc dot gnu dot org  2007-04-19 19:27 ---
On second thought, the implementation is simpler when NULL is not treated
specially.  But then there is a slight majority of the uses in the
config directory that wants the old behaviour of get_unnamed_section,
so it makes sense to use a new name for the new function - or macro -
which does an ggc_strdup of the third argument.


-- 


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



[Bug tree-optimization/31636] New: ICE in GCC 4.2 with dllimport attribute returns

2007-04-19 Thread arcangelpip at hotmail dot com
I know this is being reported again, but this seems to be occuring again after
being fixed.

This is the same bug that was reported in #29826 but it has now happened again
in gcc-4.2.

The test program is essentially the same as was given in the old version.

# 1 "test.c"
# 1 ""
# 1 ""
# 1 "test.c"
struct s
{
 const char *x1;
 const char *x2;
};

extern __attribute__((dllimport)) struct s v[];

int z();

int f()
{
 int i;
 for (i = 0; i < 2; i++)
 {
  z(v[i].x2);
 }
 return 0;
}

The error output which occurs is.

test.c: In function 'f':
test.c:19: error: unrecognizable insn:
(insn 15 13 16 3 (set (reg/f:SI 64)
(const:SI (plus:SI (mem:SI (symbol_ref:SI ("#i.v") ) [0 S4 A8])
(const_int 4 [0x4] -1 (nil)
(nil))
test.c:19: internal compiler error: in extract_insn, at recog.c:2077
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html> for instructions.

And my gcc information is.

Using built-in specs.
Target: i686-pc-mingw32
Configured with: ../gcc-4.2/configure --target=i686-pc-mingw32
--prefix=/crosstools/gccwin-4.2 --enable-shared --enable-threads --disable-nls
--disable-multilib --enable-c99 --enable-long-long --enable-sjlj-exceptions
--enable-languages=c,c++,ada,fortran,objc,obj-c++,java --enable-libada
--enable-boehm-gc
Thread model: win32
gcc version 4.2.0 20070419 (prerelease)

I have tried to report this using the old thread twice now, but it hasn't been
replied to so I decided to start a new bug report for it, forgive me if I made
a mistake.


-- 
   Summary: ICE in GCC 4.2 with dllimport attribute returns
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: arcangelpip at hotmail dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-mingw32


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



[Bug target/31636] ICE in GCC 4.2 with dllimport attribute returns

2007-04-19 Thread arcangelpip at hotmail dot com


--- Comment #1 from arcangelpip at hotmail dot com  2007-04-19 19:51 ---
Forgot to mention, it works the same as before. If the optimisations are
removed then it will compile, but if you have -O1 -O2 or -O3 in the command
line then it will ICE.
Also, if the dllimport is removed then it will work.


-- 


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



[Bug target/31636] ICE in GCC 4.2 with dllimport attribute returns

2007-04-19 Thread arcangelpip at hotmail dot com


--- Comment #2 from arcangelpip at hotmail dot com  2007-04-19 19:55 ---
Forgot to mention 2.

-_-; memory is getting worse, I'm sure of it.

Command line used. With the executable in the path.

i686-pc-mingw32-gcc -c -O2 -o test.o test.c


-- 


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



[Bug c++/31579] [4.3 regression] ICE when compiling attached code

2007-04-19 Thread bangerth at dealii dot org


--- Comment #3 from bangerth at dealii dot org  2007-04-19 20:06 ---
Confirmed. This is a regression on at least mainline. I don't
have my set of compilers around here to verify if it is also a 
regression on 4.1 and 4.2.x. It seems to work with 4.0.x.

W.


-- 

bangerth at dealii dot org changed:

   What|Removed |Added

 CC||bangerth at dealii dot org
Summary|ICE when compiling attached |[4.3 regression] ICE when
   |code|compiling attached code


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



[Bug c++/31596] Internal compiler error (Segmentation fault)

2007-04-19 Thread bangerth at dealii dot org


--- Comment #2 from bangerth at dealii dot org  2007-04-19 20:08 ---
This appears fixed since gcc 3.4.x.


-- 

bangerth at dealii dot org changed:

   What|Removed |Added

 CC||bangerth at dealii dot org
 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug c++/31579] [4.3 regression] ICE when compiling attached code

2007-04-19 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  GCC build triplet|i686-pc-linux-gnu   |
   GCC host triplet|i686-pc-linux-gnu   |
 GCC target triplet|i686-pc-linux-gnu   |
   Target Milestone|--- |4.3.0


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



[Bug c++/31597] Unrecognized ambiguity in function overloading

2007-04-19 Thread bangerth at dealii dot org


--- Comment #2 from bangerth at dealii dot org  2007-04-19 20:10 ---
Fixed since 4.0.x.
W.


-- 

bangerth at dealii dot org changed:

   What|Removed |Added

 CC||bangerth at dealii dot org
 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.0.0


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



[Bug c++/31579] [4.3 regression] ICE when compiling attached code

2007-04-19 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2007-04-19 20:15 ---
(In reply to comment #3)
> Confirmed. This is a regression on at least mainline. I don't
> have my set of compilers around here to verify if it is also a 
> regression on 4.1 and 4.2.x. It seems to work with 4.0.x.

I tried it out with 4.1.1 and 4.2.0 and it works there.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  Known to work|4.1.1   |4.1.1 4.2.0
   Last reconfirmed|-00-00 00:00:00 |2007-04-19 20:15:32
   date||


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



[Bug fortran/31637] New: warn about implicit conversion causing loss of precision

2007-04-19 Thread vivekrao4 at yahoo dot com
For the program

program main
implicit none
real :: xx
double precision :: yy
call random_seed()
call random_number(yy)
xx = yy ! assign double to single
print*,"yy =",yy
print*,"xx =",xx
end program main

g95 -Wall -Wextra says

In file xreal_dp.f90:7

xx = yy
 1
Warning (140): Implicit conversion at (1) may cause
precision loss

I request a similar warning from gfortran. None is currently given when
compiling with 

gfortran -Wall -pedantic -std=f2003 xreal_dp.f90 .

Vivek Rao


-- 
   Summary: warn about implicit conversion causing loss of precision
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: vivekrao4 at yahoo dot com


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



[Bug fortran/31610] ICE with transfer, merge in gfc_conv_expr_descriptor

2007-04-19 Thread pault at gcc dot gnu dot org


--- Comment #2 from pault at gcc dot gnu dot org  2007-04-19 20:47 ---
(In reply to comment #1)

This does the trick but I haven't checked against the standard, nor have I
regtested.

Paul

Index: /svn/trunk/gcc/fortran/check.c
===
*** /svn/trunk/gcc/fortran/check.c  (revision 123643)
--- /svn/trunk/gcc/fortran/check.c  (working copy)
*** static try
*** 218,224 
  same_type_check (gfc_expr *e, int n, gfc_expr *f, int m)
  {
if (gfc_compare_types (&e->ts, &f->ts))
! return SUCCESS;

gfc_error ("'%s' argument of '%s' intrinsic at %L must be the same type "
 "and kind as '%s'", gfc_current_intrinsic_arg[m],
--- 218,241 
  same_type_check (gfc_expr *e, int n, gfc_expr *f, int m)
  {
if (gfc_compare_types (&e->ts, &f->ts))
! {
!   if (e->ts.type != BT_CHARACTER)
!   return SUCCESS;
!
!   else if (e->ts.cl->length
!   && e->ts.cl->length->expr_type == EXPR_CONSTANT
!   && f->ts.cl->length
!   && f->ts.cl->length->expr_type == EXPR_CONSTANT
!   && mpz_cmp (e->ts.cl->length->value.integer,
!   f->ts.cl->length->value.integer) != 0)
!   {
! gfc_error ("'%s' argument of '%s' intrinsic at %L must have "
!"the same character length as '%s'",
!gfc_current_intrinsic_arg[m], gfc_current_intrinsic,
!&f->where, gfc_current_intrinsic_arg[n]);
! return FAILURE;
!   }
! }

gfc_error ("'%s' argument of '%s' intrinsic at %L must be the same type "
 "and kind as '%s'", gfc_current_intrinsic_arg[m],


-- 


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



[Bug libfortran/30694] minval/maxval with +/-Inf

2007-04-19 Thread tkoenig at gcc dot gnu dot org


--- Comment #15 from tkoenig at gcc dot gnu dot org  2007-04-19 21:03 
---
(In reply to comment #14)
> (In reply to comment #13)
> > The tree stuff is hard, btw.  Still trying :-)
> 
> Tree stuff? Do we generate inline code?

We generate inline code for rank 0 minval and minloc, i.e.

  real :: a(3)
  print *,minloc(a,dim=1)

Here's a partial patch for this case:

Index: gfortran.h
===
--- gfortran.h  (revision 123958)
+++ gfortran.h  (working copy)
@@ -1351,7 +1351,7 @@ extern gfc_logical_info gfc_logical_kind

 typedef struct
 {
-  mpfr_t epsilon, huge, tiny, subnormal;
+  mpfr_t epsilon, huge, tiny, subnormal, infinity;
   int kind, radix, digits, min_exponent, max_exponent;
   int range, precision;

Index: arith.c
===
--- arith.c (revision 123958)
+++ arith.c (working copy)
@@ -247,6 +247,10 @@ gfc_arith_init_1 (void)
if (i == real_info->radix)
  real_info->precision++;

+  /* Infinity.  */
+  mpfr_init (real_info->infinity);
+  mpfr_set_inf (real_info->infinity, 1);
+
   mpfr_clear (a);
   mpfr_clear (b);
   mpfr_clear (c);
@@ -277,6 +281,7 @@ gfc_arith_done_1 (void)
   mpfr_clear (rp->huge);
   mpfr_clear (rp->tiny);
   mpfr_clear (rp->subnormal);
+  mpfr_clear (rp->infinity);
 }
 }

Index: trans-intrinsic.c
===
--- trans-intrinsic.c   (revision 123958)
+++ trans-intrinsic.c   (working copy)
@@ -1926,8 +1926,10 @@ gfc_conv_intrinsic_minmaxloc (gfc_se * s
   tree limit;
   tree type;
   tree tmp;
+  tree tmp2;
   tree elsetmp;
   tree ifbody;
+  tree execute_loop;
   gfc_loopinfo loop;
   gfc_actual_arglist *actual;
   gfc_ss *arrayss;
@@ -1967,11 +1969,14 @@ gfc_conv_intrinsic_minmaxloc (gfc_se * s
 maskss = NULL;

   limit = gfc_create_var (gfc_typenode_for_spec (&arrayexpr->ts), "limit");
+  execute_loop = gfc_create_var (boolean_type_node, "execute_loop");
+
   n = gfc_validate_kind (arrayexpr->ts.type, arrayexpr->ts.kind, false);
   switch (arrayexpr->ts.type)
 {
 case BT_REAL:
-  tmp = gfc_conv_mpfr_to_tree (gfc_real_kinds[n].huge,
arrayexpr->ts.kind);+  tmp = gfc_conv_mpfr_to_tree
(gfc_real_kinds[n].infinity,
+  arrayexpr->ts.kind);
   break;

 case BT_INTEGER:
@@ -2007,14 +2012,18 @@ gfc_conv_intrinsic_minmaxloc (gfc_se * s

   gcc_assert (loop.dimen == 1);

-  /* Initialize the position to zero, following Fortran 2003.  We are free
- to do this because Fortran 95 allows the result of an entirely false
- mask to be processor dependent.  */
-  gfc_add_modify_expr (&loop.pre, pos, gfc_index_zero_node);
+  /* Initialize the position to one.  */
+  gfc_add_modify_expr (&loop.pre, pos, gfc_index_one_node);

   gfc_mark_ss_chain_used (arrayss, 1);
   if (maskss)
 gfc_mark_ss_chain_used (maskss, 1);
+
+  /* Check whether the loop is evaluated at all.  */
+
+  tmp2 = fold_build2 (GE_EXPR, boolean_type_node, loop.to[0], loop.from[0]);
+  gfc_add_modify_expr (&se->pre, execute_loop, tmp2);
+
   /* Generate the loop body.  */
   gfc_start_scalarized_body (&loop, &body);

@@ -2050,10 +2059,9 @@ gfc_conv_intrinsic_minmaxloc (gfc_se * s

   ifbody = gfc_finish_block (&ifblock);

-  /* If it is a more extreme value or pos is still zero.  */
-  tmp = build2 (TRUTH_OR_EXPR, boolean_type_node,
- build2 (op, boolean_type_node, arrayse.expr, limit),
- build2 (EQ_EXPR, boolean_type_node, pos,
gfc_index_zero_node));
+  /* If it is a more extreme value.  */
+  tmp =  build2 (op, boolean_type_node, arrayse.expr, limit);
+
   tmp = build3_v (COND_EXPR, tmp, ifbody, build_empty_stmt ());
   gfc_add_expr_to_block (&block, tmp);

@@ -2066,36 +2074,41 @@ gfc_conv_intrinsic_minmaxloc (gfc_se * s
 }
   else
 tmp = gfc_finish_block (&block);
+
   gfc_add_expr_to_block (&body, tmp);

   gfc_trans_scalarizing_loops (&loop, &body);

-  /* For a scalar mask, enclose the loop in an if statement.  */
+  /* Enclose the loop in an if statement.  We don't execute it if the
+ trip count would be zero, or if a scalar mask is false.  */
+
   if (maskexpr && maskss == NULL)
 {
   gfc_init_se (&maskse, NULL);
   gfc_conv_expr_val (&maskse, maskexpr);
-  gfc_init_block (&block);
-  gfc_add_block_to_block (&block, &loop.pre);
-  gfc_add_block_to_block (&block, &loop.post);
-  tmp = gfc_finish_block (&block);

-  /* For the else part of the scalar mask, just initialize
-the pos variable the same way as above.  */
+  execute_loop = fold_build2 (TRUTH_AND_EXPR, boolean_type_node,
execute_loop,
+ maskse.expr);
+}
+
+  gfc_init_block (&block);
+  gfc_add_block_to_block (&block, &loop.pre);
+  gfc_add_block_to_block (&block, &loop.post);

-  gfc_init_block (&elseblock);
-  gfc_add_

[Bug fortran/31618] backspace intrinsic is not working on an unformatted file

2007-04-19 Thread tkoenig at gcc dot gnu dot org


--- Comment #3 from tkoenig at gcc dot gnu dot org  2007-04-19 21:35 ---
(In reply to comment #2)
> Confirming.  g77 does not do it right either.  :)

gfortran 4.1 doesn't get this right either, so at least
this isn't a regression.  Uff :-)


-- 

tkoenig at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tkoenig at gcc dot gnu dot
   ||org
   Keywords||wrong-code


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



[Bug fortran/31637] warn about implicit conversion causing loss of precision

2007-04-19 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-04-19 21:45 ---


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


-- 

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



[Bug fortran/27866] Warn when casting, e.g. assigning a double precision to a real

2007-04-19 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2007-04-19 21:45 ---
*** Bug 31637 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||vivekrao4 at yahoo dot com


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



[Bug fortran/31612] -fsyntax-only documentation is not accurate

2007-04-19 Thread tobi at gcc dot gnu dot org


--- Comment #1 from tobi at gcc dot gnu dot org  2007-04-19 22:42 ---
module a
end module a

use a
end

How are you going to handle this?  There's no meaningful syntax checking
without also creating modules.  One could maybe create the modules in a
temporary place?


-- 

tobi at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tobi at gcc dot gnu dot org


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



[Bug fortran/31612] -fsyntax-only documentation is not accurate

2007-04-19 Thread fxcoudert at gcc dot gnu dot org


--- Comment #2 from fxcoudert at gcc dot gnu dot org  2007-04-19 22:44 
---
Simply fixing the doc is also fine with me :)


-- 


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



[Bug target/31480] [4.1/4.2 Regression] ICE with -O -fomit-frame-pointer on SH

2007-04-19 Thread kkojima at gcc dot gnu dot org


--- Comment #1 from kkojima at gcc dot gnu dot org  2007-04-20 00:05 ---
I've confirmed that the testcase doesn't fail with 3.4 compiler
and fails with 4.0, 4.1 and 4.2.  Although it doesn't fail with
the current trunk compiler, it might be simply latent.  The segfault
occurs in insn_current_length when evaluating GET_CODE for a null
rtx.  Now I'm testing the patch below.

--- ORIG/trunk/gcc/config/sh/sh.md  2007-03-29 08:44:33.0 +0900
+++ LOCAL/trunk/gcc/config/sh/sh.md 2007-04-19 11:02:06.0 +0900
@@ -420,10 +420,12 @@
 (eq_attr "type" "jump")
 (cond [(eq_attr "med_branch_p" "yes")
(const_int 2)
-   (and (eq (symbol_ref "GET_CODE (prev_nonnote_insn (insn))")
- (symbol_ref "INSN"))
- (eq (symbol_ref "INSN_CODE (prev_nonnote_insn (insn))")
- (symbol_ref "code_for_indirect_jump_scratch")))
+   (and (ne (symbol_ref "prev_nonnote_insn (insn)")
+(const_int 0))
+(and (eq (symbol_ref "GET_CODE (prev_nonnote_insn
(insn))")
+ (symbol_ref "INSN"))
+ (eq (symbol_ref "INSN_CODE (prev_nonnote_insn
(insn))")
+ (symbol_ref "code_for_indirect_jump_scratch"
 (cond [(eq_attr "braf_branch_p" "yes")
(const_int 6)
(eq (symbol_ref "flag_pic") (const_int 0))


-- 

kkojima at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||kkojima at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  Known to fail||4.0.4 4.1.2 4.2.0
  Known to work||3.4.6
   Last reconfirmed|-00-00 00:00:00 |2007-04-20 00:05:05
   date||
Summary|internal compiler error:|[4.1/4.2 Regression] ICE
   |Segmentation fault  |with -O -fomit-frame-pointer
   ||on SH


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



[Bug libstdc++/31638] New: [4.0/4.1/4.2/4.3 Regression] string usage leads to warning with -Wcast-align

2007-04-19 Thread tbm at cyrius dot com
[ Forwarded from http://bugs.debian.org/382153  This issue has been reported
by Margarita Manterola who also provided the testcase ]

If you compile the following testcase with -Wcast-align  you get a warning
on certain architectures, including alpha, arm, hppa, ia64 and sparc.
I've verified this on ia64 with gcc 4.0, 4.1 and 4.3.  3.3 and 3.4 don't
show this warning. The warning goes away when you include  in
addition to .


[EMAIL PROTECTED]:~/src$ /usr/lib/gcc-snapshot/bin/g++ -Wcast-align x.c
/usr/lib/gcc-snapshot/lib/gcc/ia64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/basic_string.h:
In member function 'std::basic_string<_CharT, _Traits, _Alloc>::_Rep*
std::basic_string<_CharT, _Traits, _Alloc>::_M_rep() const [with _CharT = char,
_Traits = std::char_traits, _Alloc = std::allocator]':
/usr/lib/gcc-snapshot/lib/gcc/ia64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/basic_string.h:496:
  instantiated from 'std::basic_string<_CharT, _Traits,
_Alloc>::~basic_string() [with _CharT = char, _Traits = std::char_traits,
_Alloc = std::allocator]'
x.c:6:   instantiated from here
/usr/lib/gcc-snapshot/lib/gcc/ia64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/basic_string.h:288:
warning: cast from 'char*' to 'std::basic_string,
std::allocator >::_Rep*' increases required alignment of target type

Testcase:

#include 

using namespace std;

int main (int argc, char **argv) {
string hi;
hi = "Hi";
return 0;
}


-- 
   Summary: [4.0/4.1/4.2/4.3 Regression] string usage leads to
warning with -Wcast-align
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tbm at cyrius dot com


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



[Bug libstdc++/31638] [4.0/4.1/4.2/4.3 Regression] string usage leads to warning with -Wcast-align

2007-04-19 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-04-20 00:49 ---
I think this is really the same as PR 19495.


-- 


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



[Bug fortran/31639] New: [4.1/4.2/4.3] ICE in gfc_conv_constant, at fortran/trans-const.c:348 with len

2007-04-19 Thread tbm at cyrius dot com
[ forwarded from http://bugs.debian.org/401496  The report and original
testcase came from Jonathan Stott.  I further reduced it down in size. ]

I've confirmed this bug with 4.1.2 20061115 and 4.3.0 20070326.

(sid)18753:[EMAIL PROTECTED]: ~/src/t] gfortran -c c.f90
c.f90: In function ‘xstrcmp’:
c.f90:5: internal compiler error: in gfc_conv_constant, at
fortran/trans-const.c:348
Please submit a full bug report,
with preprocessed source if appropriate.

Testcase:
module cfgfile

contains

   integer function xstrcmp(s1)

 character*(*), intent(in) :: s1
 integer :: n1 = len(s1)

 n1 = 1

 return
   end function xstrcmp
end module cfgfile


-- 
   Summary: [4.1/4.2/4.3] ICE in gfc_conv_constant, at
fortran/trans-const.c:348 with len
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tbm at cyrius dot com


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



[Bug fortran/31639] [4.1/4.2/4.3] ICE in gfc_conv_constant, at fortran/trans-const.c:348 with len

2007-04-19 Thread brooks at gcc dot gnu dot org


--- Comment #1 from brooks at gcc dot gnu dot org  2007-04-20 01:52 ---
This is invalid code, since initialization expressions must be constants, and
the length of an assumed-length string argument is not a constant.  Regardless,
we shouldn't be ICE'ing on it.


-- 

brooks at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||brooks at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||ice-on-invalid-code
  Known to fail||4.1.2 4.3.0
   Last reconfirmed|-00-00 00:00:00 |2007-04-20 01:52:43
   date||


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



[Bug fortran/30285] gfortran excessive memory usage with large modules

2007-04-19 Thread bdavis at gcc dot gnu dot org


--- Comment #11 from bdavis at gcc dot gnu dot org  2007-04-20 03:41 ---
i think not.  i must have confued myself (rather easy to do!).  will dig
through the source this weekend.


-- 


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



[Bug libfortran/27740] libgfortran should use versioned symbols

2007-04-19 Thread patchapp at dberlin dot org


--- Comment #13 from patchapp at dberlin dot org  2007-04-20 07:45 ---
Subject: Bug number PR 27740

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2007-04/msg01253.html


-- 


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



[Bug libfortran/27740] libgfortran should use versioned symbols

2007-04-19 Thread jb at gcc dot gnu dot org


--- Comment #14 from jb at gcc dot gnu dot org  2007-04-20 07:45 ---
Patch here: http://gcc.gnu.org/ml/gcc-patches/2007-04/msg01253.html

Also removed the dependency on PR25709 (ISO_C_BINDING), since we don't depend
on that one anymore for this functionality.


-- 

jb at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn|25709   |


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



[Bug target/29826] __attribute__ dllimport makes optimization crash on cygwin

2007-04-19 Thread dannysmith at users dot sourceforge dot net


--- Comment #14 from dannysmith at users dot sourceforge dot net  
2007-04-20 07:49 ---
(In reply to comment #13)
> I'm going to try again since it seems my last post was just ignored.
> The test case works fine on 4.2 but it still occurs under some circumstances.

If you provide preprocessed source that reproduces the circumstances , as
suggested,  I will not ignore it.

Danny  


-- 


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