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

2005-11-06 Thread ebotcazou at gcc dot gnu dot org


--- Comment #26 from ebotcazou at gcc dot gnu dot org  2005-11-06 08:42 
---
 How does stopping violate the standard?  If the standard says behavior is
 undefined, then you can do anything you want, including stopping.

You're confusing compile time and run time.  Please read the whole audit trail,
in particular comment #3.


-- 


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



[Bug target/19520] protected function pointer doesn't work right

2005-11-06 Thread simon dot strandman at telia dot com


--- Comment #21 from simon dot strandman at telia dot com  2005-11-06 09:50 
---
(In reply to comment #18)
 I posted an updated patch
 
 http://gcc.gnu.org/ml/gcc-patches/2005-02/msg00196.html
 
 I hope it will work better.

Sorry to bother but where is the updated patch? That link leads to something
else.


-- 


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



[Bug other/24692] New: Atomic builtins for v3

2005-11-06 Thread pcarlini at suse dot de
This is to track this issue:

  http://gcc.gnu.org/ml/gcc/2005-11/msg00285.html

In a nutshell, we need an easy way to exploit the new atomic builtins in the
library, irrespective of the actual target.


-- 
   Summary: Atomic builtins for v3
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pcarlini at suse dot de


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



[Bug libstdc++/24693] New: Deque improvements

2005-11-06 Thread pcarlini at suse dot de
This is to track this issue:

  http://gcc.gnu.org/ml/libstdc++/2005-11/msg00031.html

A first part, about _M_erase_at_end/_M_erase_at_begin, should be doable
relatively
quickly.


-- 
   Summary: Deque improvements
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pcarlini at suse dot de


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



[Bug other/24692] Atomic builtins for v3

2005-11-06 Thread pcarlini at suse dot de


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

   Severity|normal  |enhancement


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



[Bug fortran/24096] huge() returns infinity for long doubles

2005-11-06 Thread amodra at bigpond dot net dot au


--- Comment #1 from amodra at bigpond dot net dot au  2005-11-06 11:09 
---
Revised patch http://gcc.gnu.org/ml/gcc-patches/2005-11/msg00388.html


-- 

amodra at bigpond dot net dot au changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2005-
   ||11/msg00388.html


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



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

2005-11-06 Thread steven at gcc dot gnu dot org


--- Comment #12 from steven at gcc dot gnu dot org  2005-11-06 11:50 ---
Folks, what's up with this bug?  Is it HPPA-only now?  Can someone comment on
the status of this bug please?


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||danglin at gcc dot gnu dot
   ||org, steven at gcc dot gnu
   ||dot org
 Status|NEW |WAITING


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



[Bug rtl-optimization/24497] [3.4/4.0/4.1 Regression] internal compiler error: in apply_opt_in_copies, at loop-unroll.c:2122

2005-11-06 Thread pbrook at gcc dot gnu dot org


--- Comment #4 from pbrook at gcc dot gnu dot org  2005-11-06 12:23 ---
Both still fail for me

Target: m68k-elf
Configured with: ../gcc/configure --prefix=/home/paul/arm --target=m68k-elf
--with-newlib --disable-shared --disable-threads --enable-languages=c,c++
Thread model: single
gcc version 4.1.0 20051106 (experimental)


-- 


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



[Bug libstdc++/18174] documentation example for std::priority_queue usage

2005-11-06 Thread paolo at gcc dot gnu dot org


--- Comment #4 from paolo at gcc dot gnu dot org  2005-11-06 13:07 ---
Subject: Bug 18174

Author: paolo
Date: Sun Nov  6 13:07:11 2005
New Revision: 106560

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=106560
Log:
2005-11-06  Paolo Carlini  [EMAIL PROTECTED]

PR libstdc++/18174
* include/bits/stl_queue.h (priority_queue): Tweak a bit the
comment describing the container.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/stl_queue.h


-- 


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



[Bug libstdc++/18174] documentation example for std::priority_queue usage

2005-11-06 Thread paolo at gcc dot gnu dot org


--- Comment #5 from paolo at gcc dot gnu dot org  2005-11-06 13:09 ---
Subject: Bug 18174

Author: paolo
Date: Sun Nov  6 13:09:50 2005
New Revision: 106561

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=106561
Log:
2005-11-06  Paolo Carlini  [EMAIL PROTECTED]

PR libstdc++/18174
* include/bits/stl_queue.h (priority_queue): Tweak a bit the
comment describing the container.

Modified:
branches/gcc-4_0-branch/libstdc++-v3/ChangeLog
branches/gcc-4_0-branch/libstdc++-v3/include/bits/stl_queue.h


-- 


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



[Bug libstdc++/18174] documentation example for std::priority_queue usage

2005-11-06 Thread pcarlini at suse dot de


--- Comment #6 from pcarlini at suse dot de  2005-11-06 13:10 ---
Fixed for 4.0.3.


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

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


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



[Bug other/24692] Atomic builtins for v3

2005-11-06 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2005-11-06 14:10 ---
Maybe the easy way to fix this is just have the distro change their policy of
compiling with i386 to compile always with i686.


-- 


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



[Bug other/24692] Atomic builtins for v3

2005-11-06 Thread pcarlini at suse dot de


--- Comment #2 from pcarlini at suse dot de  2005-11-06 14:13 ---
(In reply to comment #1)
 Maybe the easy way to fix this is just have the distro change their policy of
 compiling with i386 to compile always with i686.

Indeed, that's one point. However, there isn't only i386 to cause problems,
also
old Sparc. And targets which *may* have builtins but are simply not
implemented,
for one reason or another. And situations at the border, e.g., hppa.

Really, we want a *uniform* way to call the builtins from the library.


-- 


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



[Bug other/24692] Atomic builtins for v3

2005-11-06 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2005-11-06 14:25 ---
(In reply to comment #2)
Let first point out i486 is more than 15 years old.
Second why do you really need an uniform way?  This seems like a way to make
everything in the compiler.  Maybe next you will be asking for the template
string to be part of the compiler and not the library (maybe I am going over
board here)?

Oh, for libobjc I need a way to describe the alignment and sizes of a struct
can that be built into the compiler too please (Really I don't think it
should).


-- 


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



[Bug other/24692] Atomic builtins for v3

2005-11-06 Thread pcarlini at suse dot de


--- Comment #4 from pcarlini at suse dot de  2005-11-06 14:28 ---
(In reply to comment #3)
 Let first point out i486 is more than 15 years old.

Sure, but it's not up to me and you to decide what is on the market, in
embedded form or otherwise. And it's not only about i386, again, please
read my previous message.
.(maybe I am going over
 board here)?

Definitely.


-- 


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



[Bug tree-optimization/24670] [4.1 Regression] VRP ICE in compare_name_with_value

2005-11-06 Thread dnovillo at gcc dot gnu dot org


--- Comment #3 from dnovillo at gcc dot gnu dot org  2005-11-06 14:51 
---
Subject: Bug 24670

Author: dnovillo
Date: Sun Nov  6 14:51:16 2005
New Revision: 106562

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=106562
Log:

PR 24670
* tree-vrp.c (fix_equivalence_set): New.
(extract_range_from_assert): Call it.


testsuite/

PR 24670
* gcc.dg/tree-ssa/pr24670.c: New test.


Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr24670.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-vrp.c


-- 


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



[Bug tree-optimization/24670] [4.1 Regression] VRP ICE in compare_name_with_value

2005-11-06 Thread dnovillo at gcc dot gnu dot org


--- Comment #4 from dnovillo at gcc dot gnu dot org  2005-11-06 14:56 
---

Fixed.  http://gcc.gnu.org/ml/gcc-patches/2005-11/msg00405.html


-- 

dnovillo at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug fortran/22495] Different ideas about .true. and .false.

2005-11-06 Thread tkoenig at gcc dot gnu dot org


--- Comment #11 from tkoenig at gcc dot gnu dot org  2005-11-06 15:01 
---
(In reply to comment #10)

 Thomas, can you point to the text in the standard that
 prohibits the equivalence of integer and logical. AFAICT,
 the 4th constraint in 5.5.1, contradicts your assertation.

I was wrong there.  What actually happens is that the
integer value becomes undefined on assignment of the
equivalenced logical, and vice versa.  This still means
that the program is illegal, of course.


-- 


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



[Bug java/24441] [4.1 regression] ICE's when building the ecj compiler 3.1.1

2005-11-06 Thread bero at arklinux dot org


--- Comment #2 from bero at arklinux dot org  2005-11-06 15:32 ---
An alternative way of building that doesn't trigger this error:

cd build/bin
find -name '*.java' filelist
gcj -C @filelist

That compiles all classes without complaining, but I suspect it of generating
broken code (will open a new bug for that)


-- 


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



[Bug tree-optimization/24694] New: Address taken and addressable variables and call clobber

2005-11-06 Thread pinskia at gcc dot gnu dot org
Take the following code:
int f(int);
int g(void)
{
  int i;
  int *iptr = i;
  int **ipp = iptr;
  **ipp = 1;
  f(i);
  return **ipp;
}
--
Here we consider i being call clobber because we lose the fact that iptr is
addressable but we don't look to see if its address escapes at all (which in
this case it does not).


-- 
   Summary: Address taken and addressable variables and call clobber
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: enhancement
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org


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



[Bug tree-optimization/24694] Address taken and addressable variables and call clobber

2005-11-06 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2005-11-06 15:47 ---
Found this while looking a little into PR 24689.


-- 


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



[Bug libstdc++/20647] Wrong typeid for incomplete types

2005-11-06 Thread pcarlini at suse dot de


--- Comment #4 from pcarlini at suse dot de  2005-11-06 15:58 ---
FWIW, is also KO with ICC 9.0.


-- 


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



[Bug tree-optimization/24694] Address taken and addressable variables and call clobber

2005-11-06 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2005-11-06 16:08 ---
Note this is not fixed on the iab.


-- 


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



[Bug libgcj/24616] linking BC-compiled classes: NoClassDefFoundErrors should be deferred

2005-11-06 Thread aph at gcc dot gnu dot org


--- Comment #6 from aph at gcc dot gnu dot org  2005-11-06 16:15 ---
You can get the class by generating a special-purpose thunk using the libffi
invocation interface and pointing the vector at the thunk.

Virtual methods are easy to do by adding a suitable NoClassDefFoundError
method to class Object; this method will then be inherited by every class.

Instance variables are tricky, but can be done either by adding an inline check
or changing the ABI so that virtual accessor methods are generated for all
public instance variables.  There aren't very many such variables so this might
not be much of a problem.


-- 


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



[Bug libstdc++/20647] Wrong typeid for incomplete types

2005-11-06 Thread pcarlini at suse dot de


--- Comment #5 from pcarlini at suse dot de  2005-11-06 16:19 ---
Nathan, can you have a look to this PR? (Googling reveals a lot of hits for
nathan  typeid ;) Thanks in advance.


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

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


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



[Bug libstdc++/20647] Wrong typeid for incomplete types

2005-11-06 Thread frederic dot riss at gmail dot com


--- Comment #6 from frederic dot riss at gmail dot com  2005-11-06 16:33 
---
I nearly forgot that I submitted this bug report... 
I got myself a version of the C++ standard since I submitted that, and I just
had a look at the part describing typeid :

5.2.8.4 reads : When typeid is applied to a itype-id/i, [...]. If the type
of the type-id is a class type or a reference to a class type, the class shall
be completely-defined.

I believe A* in 2.C qualifies a a reference to a not-completely defined class
type, and thus shouldn't be passed to std::typeid. 

I'm not an expert in standard reading, but it seems to me that the current
behaviour isn't really a bug. If possible, I would be glad to see a warning
emited by GCC in that case, because I hit that problem in real-world code
(generic callback system using boost::any behind the scenes) and I spent hours
finding out what was happening. Maybe I should suggest adding a concept check
to the boost code if it is possible to detect it.


-- 


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



[Bug target/21715] [4.0/4.1 regression] code-generation performance regression

2005-11-06 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2005-11-06 16:35 ---
I am starting to think what 3.4.x did was just an accident that it got it right
in the first place.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to fail|4.0.0 4.1.0 3.3.5   |4.0.0 4.1.0 3.3.5 3.3.6


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



[Bug treelang/23072] multiple runs of treelang testsuite does not work...

2005-11-06 Thread phython at gcc dot gnu dot org


--- Comment #18 from phython at gcc dot gnu dot org  2005-11-06 16:51 
---
Fixed on the 4.0 branch as well.


-- 

phython at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|4.1.0   |4.0.3


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



[Bug bootstrap/24695] New: [csl-arm-branch] Bootstrap failure with current csl-arm-branch

2005-11-06 Thread bero at arklinux dot org
Trying to generate an i686 - armv5te EABI crosscompiler using both binutils
and gcc csl-arm-branch checkouts from today fails with

/home/oe/tmp/work/gcc-cross-initial-3.4.4+csl-arm-20051105-r0/csl-arm-branch/b
uild.i686-linux.arm-linuxeabi/gcc/xgcc
-B/home/oe/tmp/work/gcc-cross-initial-3.4
.4+csl-arm-20051105-r0/csl-arm-branch/build.i686-linux.arm-linuxeabi/gcc/
-B/hom
e/oe/tmp/cross/arm-linuxeabi/bin/ -B/home/oe/tmp/cross/arm-linuxeabi/lib/
-isyst
em /home/oe/tmp/cross/arm-linuxeabi/include -isystem
/home/oe/tmp/cross/arm-linu
xeabi/sys-include -O2 -g -Os -DIN_GCC -DCROSS_COMPILE   -W -Wall
-Wwrite-strings
 -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem
./inc
lude  -I. -I.
-I/home/oe/tmp/work/gcc-cross-initial-3.4.4+csl-arm-20051105-r0/cs
l-arm-branch/gcc
-I/home/oe/tmp/work/gcc-cross-initial-3.4.4+csl-arm-20051105-r0
/csl-arm-branch/gcc/.
-I/home/oe/tmp/work/gcc-cross-initial-3.4.4+csl-arm-200511
05-r0/csl-arm-branch/gcc/../include   -g0 -finhibit-size-directive
-fno-inline-f
unctions -fno-exceptions -fno-zero-initialized-in-bss -fno-unit-at-a-time
-Dinhi
bit_libc  \
| -c
/home/oe/tmp/work/gcc-cross-initial-3.4.4+csl-arm-20051105-r0/csl-a
rm-branch/gcc/crtstuff.c -DCRT_BEGIN \
| -o crtbegin.o
| /tmp/ccvFKdr5.s: Assembler messages:
| /tmp/ccvFKdr5.s:1: Error: unknown pseudo-op: `.cpu'
| /tmp/ccvFKdr5.s:2: Error: unknown pseudo-op: `.fpu'


-- 
   Summary: [csl-arm-branch] Bootstrap failure with current csl-arm-
branch
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bero at arklinux dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: arm-ark-linuxeabi


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



[Bug libstdc++/20647] Wrong typeid for incomplete types

2005-11-06 Thread pcarlini at suse dot de


--- Comment #7 from pcarlini at suse dot de  2005-11-06 17:03 ---
(In reply to comment #6)
 I nearly forgot that I submitted this bug report... 
 [...]

At first, I was under the same impression - not a bug - however, I'm not sure
anymore... Have also a look to the ABI:

  http://www.codesourcery.com/cxx-abi/abi.html

section 2.9.3, and then the last sentence of 2.9.5/7... In your example the
NTBS
addresses (returned by type_info::name()) seem equal... ?!?


-- 


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



[Bug bootstrap/24695] [csl-arm-branch] Bootstrap failure with current csl-arm-branch

2005-11-06 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2005-11-06 17:05 ---
Are you sure that it is using the newest binutils?
.cpu and .fpu was added 10-08.
http://sourceware.org/ml/binutils-cvs/2005-10/msg00032.html


-- 


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



[Bug tree-optimization/24696] New: missing optimization in comparison of results of bit operations

2005-11-06 Thread drepper at redhat dot com
Take this little program:

int
f (unsigned long a, unsigned long b, unsigned long c)
{
  return (a  (c - 1)) != 0 || (b  (c - 1)) != 0;
}

Compiled on x86-64 with gcc 4.0.2 (but I think also with the current mainline)
yields with -O2 the following code:

 f:
   0:   48 ff cadec%rdx
   3:   48 85 d7test   %rdx,%rdi
   6:   75 07   jnef f+0xf
   8:   31 c0   xor%eax,%eax
   a:   48 85 d6test   %rdx,%rsi
   d:   74 05   je 14 f+0x14
   f:   b8 01 00 00 00  mov$0x1,%eax
  14:   f3 c3   repz retq

As can be seen, both comparisons are executed individually.  This is
unnecessarily slow.  Since the right operand for  is the same and this is a
pure bit-test it is perfectly fine to compile the code to the equivalent of

int
f (unsigned long a, unsigned long b, unsigned long c)
{
  return ((a | b)  (c - 1)) != 0;
}

This would be significantly faster.  On archs like x86-64 no conditional jump
(just a setne) would be needed.


-- 
   Summary: missing optimization in comparison of results of bit
operations
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: drepper at redhat dot com


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



[Bug libstdc++/20647] Wrong typeid for incomplete types

2005-11-06 Thread pcarlini at suse dot de


--- Comment #8 from pcarlini at suse dot de  2005-11-06 17:10 ---
(In reply to comment #7)

 section 2.9.3, and then the last sentence of 2.9.5/7... In your example the
 NTBS addresses (returned by type_info::name()) seem equal...

Sorry, I was wrong! The names, the strings, are equal, but the *addresses* are
not! Yes, it seems invalid... 


-- 


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



[Bug tree-optimization/24696] missing optimization in comparison of results of bit operations

2005-11-06 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2005-11-06 17:14 ---
The mainline gives:
f:
.LFB2:
decq%rdx
movl$1, %eax
testq   %rdi, %rdx
jne .L4
xorl%eax, %eax
testq   %rsi, %rdx
setne   %al
.L4:
rep ; ret
This is because of the improved PHI-OPT which I added but this is still not
fully optimized.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||missed-optimization
   Last reconfirmed|-00-00 00:00:00 |2005-11-06 17:14:59
   date||


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



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

2005-11-06 Thread danglin at gcc dot gnu dot org


--- Comment #13 from danglin at gcc dot gnu dot org  2005-11-06 17:32 
---
Fails on hppa2.0w-hp-hpux11.11 with 4.0.0, 4.0.1 and 4.0.2.  However, it
doesn't fail using 3.4.4.


-- 


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



[Bug libstdc++/20647] Wrong typeid for incomplete types

2005-11-06 Thread pcarlini at suse dot de


--- Comment #9 from pcarlini at suse dot de  2005-11-06 17:36 ---
Ok, I'm closing this, because the ABI, if not the standard, seems really
unequivocal. About the warning, I don't know, probably it's not that easy
to implement, I also looked for it, but no other compiler I have at hand
apparently is able to emit it...


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



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

2005-11-06 Thread steven at gcc dot gnu dot org


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |NEW
   Last reconfirmed|2005-09-20 19:06:43 |2005-11-06 17:47:35
   date||


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



[Bug libffi/21229] LibFFI can't handle Longs

2005-11-06 Thread green at redhat dot com


--- Comment #7 from green at redhat dot com  2005-11-06 17:51 ---
I'm unable to reproduce this with GCC 4.0.1 (x86 Linux).

Could you please try a more recent compiler?
If you are able to reproduce, could you please submit your example in the form
of a test case for the libffi testsuite?


-- 

green at redhat dot com changed:

   What|Removed |Added

 CC||green at redhat dot com


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



[Bug libstdc++/20647] Wrong typeid for incomplete types

2005-11-06 Thread nathan at gcc dot gnu dot org


--- Comment #10 from nathan at gcc dot gnu dot org  2005-11-06 17:54 ---
A * is not a reference to an incomplete type, but a pointer to one, so 5.2.8.4
does not apply.  I'm fairly certain the correct output should be 'OK'.  The two
type id objects should have different addresses (one should be weak, one should
be local static).  The typeid strings should have the same address (and be
emitted weak)


-- 

nathan at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|INVALID |


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



[Bug libstdc++/20647] Wrong typeid for incomplete types

2005-11-06 Thread nathan at gcc dot gnu dot org


-- 

nathan at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |nathan at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2005-11-06 17:54:46
   date||


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



[Bug libstdc++/20647] Wrong typeid for incomplete types

2005-11-06 Thread pcarlini at suse dot de


--- Comment #11 from pcarlini at suse dot de  2005-11-06 17:57 ---
Ah, ah, the addresses should be equal in the first place! Ok, thanks for
looking
into this.


-- 


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



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

2005-11-06 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |mark at codesourcery dot com
   |dot org |
 Status|NEW |ASSIGNED


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



[Bug libfortran/24174] real(10) array output broken

2005-11-06 Thread jb at gcc dot gnu dot org


--- Comment #11 from jb at gcc dot gnu dot org  2005-11-06 18:28 ---
Subject: Bug 24174

Author: jb
Date: Sun Nov  6 18:28:22 2005
New Revision: 106563

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=106563
Log:
gfortran ChangeLog

2005-11-06  Janne Blomqvist [EMAIL PROTECTED]

PR fortran/24174
PR fortran/24305
* fortran/trans-io.c (gfc_build_io_library_fndecls): Add kind
argument to transfer_array.
(transfer_array_desc): Add kind argument.

testsuite ChangeLog:

2005-11-06  Janne Blomqvist [EMAIL PROTECTED]

PR fortran/24174
PR fortran/24305
* testsuite/gfortran.dg/large_real_kind_form_io_1.f90: New file.

libgfortran Changelog:

2005-11-06  Janne Blomqvist [EMAIL PROTECTED]

PR fortran/24174
PR fortran/24305
* io/io.h: Add argument to prototypes, add prototypes for
size_from_*_kind functions.
* io/list_read.c (read_complex): Add size argument, use
it. 
(list_formatted_read): Add size argument, cleanup.
(list_formatted_read_scalar): Add size argument.
(nml_read_obj): Fix for padding.
* io/transfer.c: Add argument to transfer function pointer.
(unformatted_read): Add size argument.
(unformatted_write): Likewise.
(formatted_transfer_scalar): Fix for padding with complex(10).
(formatted_transfer): Add size argument, cleanup.
(transfer_integer): Add size argument to transfer call.
(transfer_real): Likewise.
(transfer_logical): Likewise.
(transfer_character): Likewise.
(transfer_complex): Likewise.
(transfer_array): New kind argument, use it.
(data_transfer_init): Add size argument to formatted_transfer
call.
(iolength_transfer): Add size argument, cleanup.
* io/write.c (write_complex): Add size argument, fix for padding
with complex(10).
(list_formatted_write): Add size argument, cleanup.
(list_formatted_write_scalar): Add size argument, use it.
(nml_write_obj): Fix for size vs. kind issue.
* io/size_from_kind.c: New file.
* Makefile.am: Add io/size_from_kind.c.
* configure: Regenerate.
* Makefile.in: Regenerate.


Added:
trunk/gcc/testsuite/gfortran.dg/large_real_kind_form_io_1.f90
trunk/libgfortran/io/size_from_kind.c
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-io.c
trunk/gcc/testsuite/ChangeLog
trunk/libgfortran/ChangeLog
trunk/libgfortran/Makefile.am
trunk/libgfortran/Makefile.in
trunk/libgfortran/configure
trunk/libgfortran/io/io.h
trunk/libgfortran/io/list_read.c
trunk/libgfortran/io/transfer.c
trunk/libgfortran/io/write.c


-- 


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



[Bug libfortran/24305] Complex(10) formatted IO is broken.

2005-11-06 Thread jb at gcc dot gnu dot org


--- Comment #3 from jb at gcc dot gnu dot org  2005-11-06 18:28 ---
Subject: Bug 24305

Author: jb
Date: Sun Nov  6 18:28:22 2005
New Revision: 106563

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=106563
Log:
gfortran ChangeLog

2005-11-06  Janne Blomqvist [EMAIL PROTECTED]

PR fortran/24174
PR fortran/24305
* fortran/trans-io.c (gfc_build_io_library_fndecls): Add kind
argument to transfer_array.
(transfer_array_desc): Add kind argument.

testsuite ChangeLog:

2005-11-06  Janne Blomqvist [EMAIL PROTECTED]

PR fortran/24174
PR fortran/24305
* testsuite/gfortran.dg/large_real_kind_form_io_1.f90: New file.

libgfortran Changelog:

2005-11-06  Janne Blomqvist [EMAIL PROTECTED]

PR fortran/24174
PR fortran/24305
* io/io.h: Add argument to prototypes, add prototypes for
size_from_*_kind functions.
* io/list_read.c (read_complex): Add size argument, use
it. 
(list_formatted_read): Add size argument, cleanup.
(list_formatted_read_scalar): Add size argument.
(nml_read_obj): Fix for padding.
* io/transfer.c: Add argument to transfer function pointer.
(unformatted_read): Add size argument.
(unformatted_write): Likewise.
(formatted_transfer_scalar): Fix for padding with complex(10).
(formatted_transfer): Add size argument, cleanup.
(transfer_integer): Add size argument to transfer call.
(transfer_real): Likewise.
(transfer_logical): Likewise.
(transfer_character): Likewise.
(transfer_complex): Likewise.
(transfer_array): New kind argument, use it.
(data_transfer_init): Add size argument to formatted_transfer
call.
(iolength_transfer): Add size argument, cleanup.
* io/write.c (write_complex): Add size argument, fix for padding
with complex(10).
(list_formatted_write): Add size argument, cleanup.
(list_formatted_write_scalar): Add size argument, use it.
(nml_write_obj): Fix for size vs. kind issue.
* io/size_from_kind.c: New file.
* Makefile.am: Add io/size_from_kind.c.
* configure: Regenerate.
* Makefile.in: Regenerate.


Added:
trunk/gcc/testsuite/gfortran.dg/large_real_kind_form_io_1.f90
trunk/libgfortran/io/size_from_kind.c
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-io.c
trunk/gcc/testsuite/ChangeLog
trunk/libgfortran/ChangeLog
trunk/libgfortran/Makefile.am
trunk/libgfortran/Makefile.in
trunk/libgfortran/configure
trunk/libgfortran/io/io.h
trunk/libgfortran/io/list_read.c
trunk/libgfortran/io/transfer.c
trunk/libgfortran/io/write.c


-- 


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



[Bug libstdc++/20647] Wrong typeid for incomplete types

2005-11-06 Thread frederic dot riss at gmail dot com


--- Comment #12 from frederic dot riss at gmail dot com  2005-11-06 18:35 
---
When I read the standard, I thought that 'reference to a class type' was used
in a sort of general way covering pointers and C++ references. I interpreted
this that way because I don't see what difference it could make to a compiler
and/or a developper that typeid(A*) is valid while typeid(A) isn't. 
So just for my personal knowledge, what could be the rationale behind this
special casing ?


-- 


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



[Bug libffi/12782] ffi.h #defines ffi_type_[us]long wrong on 32bit arches

2005-11-06 Thread green at redhat dot com


--- Comment #6 from green at redhat dot com  2005-11-06 18:41 ---
Created an attachment (id=10159)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10159action=view)
A patch

I think the attached patch will fix.


-- 

green at redhat dot com changed:

   What|Removed |Added

Attachment #5005 is|0   |1
   obsolete||


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



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

2005-11-06 Thread mmitchel at gcc dot gnu dot org


--- Comment #12 from mmitchel at gcc dot gnu dot org  2005-11-06 19:41 
---
Subject: Bug 21308

Author: mmitchel
Date: Sun Nov  6 19:41:18 2005
New Revision: 106566

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=106566
Log:
PR c++/21308
* class.c (sizeof_biggest_empty_class): New variable.
(record_subobject_offsets): Don't record offsets past biggest
empty class for data members.  Replace vbases_p parameter with
is_data_member parameter.
(build_base_field): Adjust call.
(layout_class_type): Likewise.  Maintain
sizeof_biggest_empty_class.

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


-- 


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



[Bug java/24698] New: [4.1 regression] Apparent problem getting non-.class files out of jars

2005-11-06 Thread bero at arklinux dot org
Sorry for the vague description and huge test case - I don't speak Java beyond
the it looks a lot like C++ level.

Trying to use a gcj 4.1 SVN rev 106562-compiled ecj (built using the workaround
from bug 24441) results in a SIGABRT when trying to translate any .java file
(even a simple helloworld.java).

strace-ing the output indicates it can't locate the compiler messages, which
are in messages.properties, which is definitely included in the .jar and the
.jar is in the classpath. Looks like gcj/gij look for a messages.class file
instead.
Relevant parts of strace output:
* open(/usr/lib/libeclipse-ecj.so, O_RDONLY) = 3
--- It finds the precompiled version [the problem doesn't go away if I delete
that and use the .jar only]
* stat64(/usr/share/java/eclipse-ecj.jar, {st_mode=S_IFREG|0644,
st_size=905576, ...}) = 0
* open(/usr/share/java/eclipse-ecj.jar, O_RDONLY|O_LARGEFILE) = 9
--- It finds and reads the jar file nevertheless
* open(/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages_en_US.la,
O_RDONLY) = -1 ENOENT (No such file or directory)
*
open(/usr/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages_en_US.la,
O_RDONLY) = -1 ENOENT (No such file or directory)
* open(lib-org-eclipse-jdt-internal-compiler-batch-messages_en_US.la,
O_RDONLY) = -1 ENOENT (No such file or directory)
* access(/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages_en_US.so,
R_OK) = -1 ENOENT (No such file or directory)
*
access(/usr/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages_en_US.so,
R_OK) = -1 ENOENT (No such file or directory)
* open(/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages_en_US.so,
O_RDONLY) = -1 ENOENT (No such file or directory)
*
open(/usr/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages_en_US.so,
O_RDONLY) = -1 ENOENT (No such file or directory)
*
access(/home/arklinux/./org/eclipse/jdt/internal/compiler/batch/messages_en.properties,
F_OK) = -1 ENOENT (No such file or directory)
* open(/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages.la,
O_RDONLY) = -1 ENOENT (No such file or directory)
* open(/usr/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages.la,
O_RDONLY) = -1 ENOENT (No such file or directory)
* open(lib-org-eclipse-jdt-internal-compiler-batch-messages.la, O_RDONLY) =
-1 ENOENT (No such file or directory)
* access(/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages.so, R_OK)
= -1 ENOENT (No such file or directory)
* access(/usr/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages.so,
R_OK) = -1 ENOENT (No such file or directory)
* open(/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages.so,
O_RDONLY) = -1 ENOENT (No such file or directory)
* open(/usr/lib/lib-org-eclipse-jdt-internal-compiler-batch-messages.so,
O_RDONLY) = -1 ENOENT (No such file or directory)
access(/home/arklinux/./org/eclipse/jdt/internal/compiler/batch/messages.class,
F_OK) = -1 ENOENT (No such file or directory)
--- It looks for org.eclipse.jdt.internal.compiler.batch.messages* in various
places without finding anything, insisting it's supposed to be a .class when
it's in fact looking for messages.properties

[strace-ing the 4.0.x generated version confirms messages.properties is what
it's looking for].

$ jar tfv eclipse-ecj.jar |grep compiler/util/messages
  2764 Wed Jan 12 00:13:34 CET 2005
org/eclipse/jdt/internal/compiler/util/messages.properties


The same code (and build process) works nicely if gcj/gij 4.0.x is used.


-- 
   Summary: [4.1 regression] Apparent problem getting non-.class
files out of jars
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bero at arklinux dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug c++/18462] [3.4 Regression] Segfault on declaration of large array member

2005-11-06 Thread mmitchel at gcc dot gnu dot org


--- Comment #12 from mmitchel at gcc dot gnu dot org  2005-11-06 19:53 
---


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


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


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



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

2005-11-06 Thread mmitchel at gcc dot gnu dot org


--- Comment #13 from mmitchel at gcc dot gnu dot org  2005-11-06 19:53 
---
*** Bug 18462 has been marked as a duplicate of this bug. ***


-- 
Bug 21308 depends on bug 18462, which changed state.

Bug 18462 Summary: [3.4 Regression] Segfault on declaration of large array 
member
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18462

   What|Old Value   |New Value

 Status|NEW |RESOLVED
 Resolution||DUPLICATE

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



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

2005-11-06 Thread mmitchel at gcc dot gnu dot org


--- Comment #14 from mmitchel at gcc dot gnu dot org  2005-11-06 19:56 
---
Fixed in 4.1.0.


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[3.4/4.0/4.1 Regression]|[3.4/4.0 Regression] Very
   |Very high compile time  |high compile time


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



[Bug c++/24686] [4.0/4.1 Regression] ICE when building a variation of NMSTL

2005-11-06 Thread mmitchel at gcc dot gnu dot org


--- Comment #8 from mmitchel at gcc dot gnu dot org  2005-11-06 19:59 
---
Showstopper; crash on valid code.


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P1


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



[Bug fortran/20838] ICE in gfc_conv_expr_descriptor, at fortran/trans-array.c:3606

2005-11-06 Thread pault at gcc dot gnu dot org


--- Comment #3 from pault at gcc dot gnu dot org  2005-11-06 20:05 ---
Subject: Bug 20838

Author: pault
Date: Sun Nov  6 20:05:12 2005
New Revision: 106567

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=106567
Log:
2005-11-06  Paul Thomas  [EMAIL PROTECTED]

PR fortran/24534
* resolve.c (resolve_symbol): Exclude case of PRIVATE declared
within derived type from error associated with PRIVATE type
components within derived type.

PR fortran/20838
PR fortran/20840
* gfortran.h: Add prototype for gfc_has_vector_index.
* io.c (gfc_resolve_dt): Error if internal unit has a vector index.
* expr.c (gfc_has_vector_index): New function to check if any of
the array references of an expression have vector inidices.
(gfc_check_pointer_assign): Error if internal unit has a vector index.

PR fortran/17737
* data.c (gfc_assign_data_value): Remove gcc_assert that caused the ICE
and replace by a standard dependent warning/error if overwriting an
existing initialization.
* decl.c (gfc_data_variable): Remove old error for already initialized
variable and the unused error check for common block variables.  Add
error for hots associated variable and standard dependent error for
common block variables, outside of blockdata.
* symbol.c (check_conflict): Add constraints for DATA statement.

2005-11-06  Paul Thomas  [EMAIL PROTECTED]

PR fortran/24534
gfortran.dg/private_type_2.f90: Modified to check that case with
PRIVATE declaration within derived type is accepted.

PR fortran/20838
gfortran.dg/pointer_assign_1.f90: New test.

PR fortran/20840
* gfortran.dg/arrayio_0.f90: New test.

PR fortran/17737
gfortran.dg/data_initialized.f90: New test.
gfortran.dg/data_constraints_1.f90: New test.
gfortran.dg/data_constraints_2.f90: New test.


Added:
trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90   (with props)
trunk/gcc/testsuite/gfortran.dg/data_constraints_1.f90
trunk/gcc/testsuite/gfortran.dg/data_constraints_2.f90
trunk/gcc/testsuite/gfortran.dg/data_initialized.f90
trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90   (with props)
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/data.c
trunk/gcc/fortran/decl.c
trunk/gcc/fortran/expr.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/io.c
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/symbol.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/private_type_2.f90

Added: trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90
URL:
http://gcc.gnu.org/viewcvs/trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90?root=gccview=autorev=106567
==
--- trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90 (added)
+++ trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90 Sun Nov  6 20:05:12 2005
@@ -1,0 +1,19 @@
+! { dg-do compile }
+! Tests fix for PR20840 - would ICE with vector subscript in 
+! internal unit.
+!
+! Contributed by Paul Thomas  [EMAIL PROTECTED]
+!
+  character(len=12), dimension(4) :: iu, buff
+  character(len=48), dimension(2) :: iue
+  equivalence (iu, iue)
+  integer, dimension(4) :: v = (/2,1,4,3/)
+  iu = (/Vector,subscripts,not,allowed!/)
+  read (iu, '(a12/)') buff
+  read (iue(1), '(4a12)') buff
+  read (iu(4:1:-1), '(a12/)') buff
+  read (iu(v), '(a12/)') buff   ! { dg-error with vector subscript }
+  read (iu((/2,4,3,1/)), '(a12/)') buff ! { dg-error with vector subscript }
+  print *, buff
+  end
+

Propchange: trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90
('svn:executable' added)

Added: trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90
URL:
http://gcc.gnu.org/viewcvs/trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90?root=gccview=autorev=106567
==
--- trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90 (added)
+++ trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90 Sun Nov  6 20:05:12
2005
@@ -1,0 +1,17 @@
+! { dg-do compile }
+! Tests fix for PR20838 - would ICE with vector subscript in 
+! pointer assignment.
+!
+! Contributed by Paul Thomas  [EMAIL PROTECTED]
+!
+  integer, parameter, dimension(3) :: i = (/2,1,3/)
+  integer, dimension(3), target   :: tar
+  integer, dimension(2, 3), target   :: tar2
+  integer, dimension(:), pointer  :: ptr
+  ptr = tar
+  ptr = tar(3:1:-1)
+  ptr = tar(i) ! { dg-error with vector subscript }
+  ptr = tar2(1, :)
+  ptr = tar2(2, i) ! { dg-error with vector subscript }
+  end
+

Propchange: trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90
('svn:executable' added)


-- 


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



[Bug fortran/17737] ICE when variable appears in two data statements

2005-11-06 Thread pault at gcc dot gnu dot org


--- Comment #11 from pault at gcc dot gnu dot org  2005-11-06 20:05 ---
Subject: Bug 17737

Author: pault
Date: Sun Nov  6 20:05:12 2005
New Revision: 106567

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=106567
Log:
2005-11-06  Paul Thomas  [EMAIL PROTECTED]

PR fortran/24534
* resolve.c (resolve_symbol): Exclude case of PRIVATE declared
within derived type from error associated with PRIVATE type
components within derived type.

PR fortran/20838
PR fortran/20840
* gfortran.h: Add prototype for gfc_has_vector_index.
* io.c (gfc_resolve_dt): Error if internal unit has a vector index.
* expr.c (gfc_has_vector_index): New function to check if any of
the array references of an expression have vector inidices.
(gfc_check_pointer_assign): Error if internal unit has a vector index.

PR fortran/17737
* data.c (gfc_assign_data_value): Remove gcc_assert that caused the ICE
and replace by a standard dependent warning/error if overwriting an
existing initialization.
* decl.c (gfc_data_variable): Remove old error for already initialized
variable and the unused error check for common block variables.  Add
error for hots associated variable and standard dependent error for
common block variables, outside of blockdata.
* symbol.c (check_conflict): Add constraints for DATA statement.

2005-11-06  Paul Thomas  [EMAIL PROTECTED]

PR fortran/24534
gfortran.dg/private_type_2.f90: Modified to check that case with
PRIVATE declaration within derived type is accepted.

PR fortran/20838
gfortran.dg/pointer_assign_1.f90: New test.

PR fortran/20840
* gfortran.dg/arrayio_0.f90: New test.

PR fortran/17737
gfortran.dg/data_initialized.f90: New test.
gfortran.dg/data_constraints_1.f90: New test.
gfortran.dg/data_constraints_2.f90: New test.


Added:
trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90   (with props)
trunk/gcc/testsuite/gfortran.dg/data_constraints_1.f90
trunk/gcc/testsuite/gfortran.dg/data_constraints_2.f90
trunk/gcc/testsuite/gfortran.dg/data_initialized.f90
trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90   (with props)
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/data.c
trunk/gcc/fortran/decl.c
trunk/gcc/fortran/expr.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/io.c
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/symbol.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/private_type_2.f90

Added: trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90
URL:
http://gcc.gnu.org/viewcvs/trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90?root=gccview=autorev=106567
==
--- trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90 (added)
+++ trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90 Sun Nov  6 20:05:12 2005
@@ -1,0 +1,19 @@
+! { dg-do compile }
+! Tests fix for PR20840 - would ICE with vector subscript in 
+! internal unit.
+!
+! Contributed by Paul Thomas  [EMAIL PROTECTED]
+!
+  character(len=12), dimension(4) :: iu, buff
+  character(len=48), dimension(2) :: iue
+  equivalence (iu, iue)
+  integer, dimension(4) :: v = (/2,1,4,3/)
+  iu = (/Vector,subscripts,not,allowed!/)
+  read (iu, '(a12/)') buff
+  read (iue(1), '(4a12)') buff
+  read (iu(4:1:-1), '(a12/)') buff
+  read (iu(v), '(a12/)') buff   ! { dg-error with vector subscript }
+  read (iu((/2,4,3,1/)), '(a12/)') buff ! { dg-error with vector subscript }
+  print *, buff
+  end
+

Propchange: trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90
('svn:executable' added)

Added: trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90
URL:
http://gcc.gnu.org/viewcvs/trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90?root=gccview=autorev=106567
==
--- trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90 (added)
+++ trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90 Sun Nov  6 20:05:12
2005
@@ -1,0 +1,17 @@
+! { dg-do compile }
+! Tests fix for PR20838 - would ICE with vector subscript in 
+! pointer assignment.
+!
+! Contributed by Paul Thomas  [EMAIL PROTECTED]
+!
+  integer, parameter, dimension(3) :: i = (/2,1,3/)
+  integer, dimension(3), target   :: tar
+  integer, dimension(2, 3), target   :: tar2
+  integer, dimension(:), pointer  :: ptr
+  ptr = tar
+  ptr = tar(3:1:-1)
+  ptr = tar(i) ! { dg-error with vector subscript }
+  ptr = tar2(1, :)
+  ptr = tar2(2, i) ! { dg-error with vector subscript }
+  end
+

Propchange: trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90
('svn:executable' added)


-- 


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



[Bug fortran/20840] accepts vector subscript on internal file

2005-11-06 Thread pault at gcc dot gnu dot org


--- Comment #3 from pault at gcc dot gnu dot org  2005-11-06 20:05 ---
Subject: Bug 20840

Author: pault
Date: Sun Nov  6 20:05:12 2005
New Revision: 106567

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=106567
Log:
2005-11-06  Paul Thomas  [EMAIL PROTECTED]

PR fortran/24534
* resolve.c (resolve_symbol): Exclude case of PRIVATE declared
within derived type from error associated with PRIVATE type
components within derived type.

PR fortran/20838
PR fortran/20840
* gfortran.h: Add prototype for gfc_has_vector_index.
* io.c (gfc_resolve_dt): Error if internal unit has a vector index.
* expr.c (gfc_has_vector_index): New function to check if any of
the array references of an expression have vector inidices.
(gfc_check_pointer_assign): Error if internal unit has a vector index.

PR fortran/17737
* data.c (gfc_assign_data_value): Remove gcc_assert that caused the ICE
and replace by a standard dependent warning/error if overwriting an
existing initialization.
* decl.c (gfc_data_variable): Remove old error for already initialized
variable and the unused error check for common block variables.  Add
error for hots associated variable and standard dependent error for
common block variables, outside of blockdata.
* symbol.c (check_conflict): Add constraints for DATA statement.

2005-11-06  Paul Thomas  [EMAIL PROTECTED]

PR fortran/24534
gfortran.dg/private_type_2.f90: Modified to check that case with
PRIVATE declaration within derived type is accepted.

PR fortran/20838
gfortran.dg/pointer_assign_1.f90: New test.

PR fortran/20840
* gfortran.dg/arrayio_0.f90: New test.

PR fortran/17737
gfortran.dg/data_initialized.f90: New test.
gfortran.dg/data_constraints_1.f90: New test.
gfortran.dg/data_constraints_2.f90: New test.


Added:
trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90   (with props)
trunk/gcc/testsuite/gfortran.dg/data_constraints_1.f90
trunk/gcc/testsuite/gfortran.dg/data_constraints_2.f90
trunk/gcc/testsuite/gfortran.dg/data_initialized.f90
trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90   (with props)
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/data.c
trunk/gcc/fortran/decl.c
trunk/gcc/fortran/expr.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/io.c
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/symbol.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/private_type_2.f90

Added: trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90
URL:
http://gcc.gnu.org/viewcvs/trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90?root=gccview=autorev=106567
==
--- trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90 (added)
+++ trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90 Sun Nov  6 20:05:12 2005
@@ -1,0 +1,19 @@
+! { dg-do compile }
+! Tests fix for PR20840 - would ICE with vector subscript in 
+! internal unit.
+!
+! Contributed by Paul Thomas  [EMAIL PROTECTED]
+!
+  character(len=12), dimension(4) :: iu, buff
+  character(len=48), dimension(2) :: iue
+  equivalence (iu, iue)
+  integer, dimension(4) :: v = (/2,1,4,3/)
+  iu = (/Vector,subscripts,not,allowed!/)
+  read (iu, '(a12/)') buff
+  read (iue(1), '(4a12)') buff
+  read (iu(4:1:-1), '(a12/)') buff
+  read (iu(v), '(a12/)') buff   ! { dg-error with vector subscript }
+  read (iu((/2,4,3,1/)), '(a12/)') buff ! { dg-error with vector subscript }
+  print *, buff
+  end
+

Propchange: trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90
('svn:executable' added)

Added: trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90
URL:
http://gcc.gnu.org/viewcvs/trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90?root=gccview=autorev=106567
==
--- trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90 (added)
+++ trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90 Sun Nov  6 20:05:12
2005
@@ -1,0 +1,17 @@
+! { dg-do compile }
+! Tests fix for PR20838 - would ICE with vector subscript in 
+! pointer assignment.
+!
+! Contributed by Paul Thomas  [EMAIL PROTECTED]
+!
+  integer, parameter, dimension(3) :: i = (/2,1,3/)
+  integer, dimension(3), target   :: tar
+  integer, dimension(2, 3), target   :: tar2
+  integer, dimension(:), pointer  :: ptr
+  ptr = tar
+  ptr = tar(3:1:-1)
+  ptr = tar(i) ! { dg-error with vector subscript }
+  ptr = tar2(1, :)
+  ptr = tar2(2, i) ! { dg-error with vector subscript }
+  end
+

Propchange: trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90
('svn:executable' added)


-- 


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



[Bug fortran/24534] [4.0/4.1 Regression] PUBLIC derived types with private components

2005-11-06 Thread pault at gcc dot gnu dot org


--- Comment #9 from pault at gcc dot gnu dot org  2005-11-06 20:05 ---
Subject: Bug 24534

Author: pault
Date: Sun Nov  6 20:05:12 2005
New Revision: 106567

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=106567
Log:
2005-11-06  Paul Thomas  [EMAIL PROTECTED]

PR fortran/24534
* resolve.c (resolve_symbol): Exclude case of PRIVATE declared
within derived type from error associated with PRIVATE type
components within derived type.

PR fortran/20838
PR fortran/20840
* gfortran.h: Add prototype for gfc_has_vector_index.
* io.c (gfc_resolve_dt): Error if internal unit has a vector index.
* expr.c (gfc_has_vector_index): New function to check if any of
the array references of an expression have vector inidices.
(gfc_check_pointer_assign): Error if internal unit has a vector index.

PR fortran/17737
* data.c (gfc_assign_data_value): Remove gcc_assert that caused the ICE
and replace by a standard dependent warning/error if overwriting an
existing initialization.
* decl.c (gfc_data_variable): Remove old error for already initialized
variable and the unused error check for common block variables.  Add
error for hots associated variable and standard dependent error for
common block variables, outside of blockdata.
* symbol.c (check_conflict): Add constraints for DATA statement.

2005-11-06  Paul Thomas  [EMAIL PROTECTED]

PR fortran/24534
gfortran.dg/private_type_2.f90: Modified to check that case with
PRIVATE declaration within derived type is accepted.

PR fortran/20838
gfortran.dg/pointer_assign_1.f90: New test.

PR fortran/20840
* gfortran.dg/arrayio_0.f90: New test.

PR fortran/17737
gfortran.dg/data_initialized.f90: New test.
gfortran.dg/data_constraints_1.f90: New test.
gfortran.dg/data_constraints_2.f90: New test.


Added:
trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90   (with props)
trunk/gcc/testsuite/gfortran.dg/data_constraints_1.f90
trunk/gcc/testsuite/gfortran.dg/data_constraints_2.f90
trunk/gcc/testsuite/gfortran.dg/data_initialized.f90
trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90   (with props)
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/data.c
trunk/gcc/fortran/decl.c
trunk/gcc/fortran/expr.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/io.c
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/symbol.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/private_type_2.f90

Added: trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90
URL:
http://gcc.gnu.org/viewcvs/trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90?root=gccview=autorev=106567
==
--- trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90 (added)
+++ trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90 Sun Nov  6 20:05:12 2005
@@ -1,0 +1,19 @@
+! { dg-do compile }
+! Tests fix for PR20840 - would ICE with vector subscript in 
+! internal unit.
+!
+! Contributed by Paul Thomas  [EMAIL PROTECTED]
+!
+  character(len=12), dimension(4) :: iu, buff
+  character(len=48), dimension(2) :: iue
+  equivalence (iu, iue)
+  integer, dimension(4) :: v = (/2,1,4,3/)
+  iu = (/Vector,subscripts,not,allowed!/)
+  read (iu, '(a12/)') buff
+  read (iue(1), '(4a12)') buff
+  read (iu(4:1:-1), '(a12/)') buff
+  read (iu(v), '(a12/)') buff   ! { dg-error with vector subscript }
+  read (iu((/2,4,3,1/)), '(a12/)') buff ! { dg-error with vector subscript }
+  print *, buff
+  end
+

Propchange: trunk/gcc/testsuite/gfortran.dg/arrayio_0.f90
('svn:executable' added)

Added: trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90
URL:
http://gcc.gnu.org/viewcvs/trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90?root=gccview=autorev=106567
==
--- trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90 (added)
+++ trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90 Sun Nov  6 20:05:12
2005
@@ -1,0 +1,17 @@
+! { dg-do compile }
+! Tests fix for PR20838 - would ICE with vector subscript in 
+! pointer assignment.
+!
+! Contributed by Paul Thomas  [EMAIL PROTECTED]
+!
+  integer, parameter, dimension(3) :: i = (/2,1,3/)
+  integer, dimension(3), target   :: tar
+  integer, dimension(2, 3), target   :: tar2
+  integer, dimension(:), pointer  :: ptr
+  ptr = tar
+  ptr = tar(3:1:-1)
+  ptr = tar(i) ! { dg-error with vector subscript }
+  ptr = tar2(1, :)
+  ptr = tar2(2, i) ! { dg-error with vector subscript }
+  end
+

Propchange: trunk/gcc/testsuite/gfortran.dg/pointer_assign_1.f90
('svn:executable' added)


-- 


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



[Bug debug/22313] [4.1 Regression] gcc HEAD as of 2005/07/05 fails to profiledbootstrap

2005-11-06 Thread halcy0n at gentoo dot org


--- Comment #11 from halcy0n at gentoo dot org  2005-11-06 20:29 ---
This is reproducable on gcc mainline on amd64:

{standard input}: Assembler messages:
{standard input}:510: Error: can't resolve `.text.unlikely' {.text.unlikely
section} - `.LFB96' {.text section}

Building gcc-4.1.0_beta20051105 with gcc-4.0.2, with binutils 2.16.91.0.3. 
Same error with binutils-2.16.1 as well.


-- 

halcy0n at gentoo dot org changed:

   What|Removed |Added

 CC||halcy0n at gentoo dot org


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



[Bug fortran/20838] ICE in gfc_conv_expr_descriptor, at fortran/trans-array.c:3606

2005-11-06 Thread pault at gcc dot gnu dot org


--- Comment #4 from pault at gcc dot gnu dot org  2005-11-06 22:50 ---
Subject: Bug 20838

Author: pault
Date: Sun Nov  6 22:50:38 2005
New Revision: 106572

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=106572
Log:
2005-11-06  Paul Thomas  [EMAIL PROTECTED]

PR fortran/24534
* resolve.c (resolve_symbol): Exclude case of PRIVATE declared
within derived type from error associated with PRIVATE type
components within derived type.

PR fortran/20838
PR fortran/20840
* gfortran.h: Add prototype for gfc_has_vector_index.
* io.c (gfc_resolve_dt): Error if internal unit has a vector index.
* expr.c (gfc_has_vector_index): New function to check if any of
the array references of an expression have vector inidices.
(gfc_check_pointer_assign): Error if internal unit has a vector index.

PR fortran/17737
* data.c (gfc_assign_data_value): Remove gcc_assert that caused the ICE
and replace by a standard dependent warning/error if overwriting an
existing initialization.
* decl.c (gfc_data_variable): Remove old error for already initialized
variable and the unused error check for common block variables.  Add
error for host associated variable and standard dependent error for
common block variables, outside of blockdata.
* symbol.c (check_conflict): Add constraints for DATA statement.

2005-11-06  Paul Thomas  [EMAIL PROTECTED]

PR fortran/24534
gfortran.dg/private_type_2.f90: Modified to check that case with
PRIVATE declaration within derived type is accepted.

PR fortran/20838
gfortran.dg/pointer_assign_1.f90: New test.

PR fortran/20840
* gfortran.dg/arrayio_0.f90: New test.

PR fortran/17737
gfortran.dg/data_initialized.f90: New test.
gfortran.dg/data_constraints_1.f90: New test.
gfortran.dg/data_constraints_2.f90: New test.


Added:
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90   (with
props)
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/data_constraints_1.f90
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/data_constraints_2.f90
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/data_initialized.f90
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90  
(with props)
Modified:
branches/gcc-4_0-branch/gcc/fortran/ChangeLog
branches/gcc-4_0-branch/gcc/fortran/data.c
branches/gcc-4_0-branch/gcc/fortran/decl.c
branches/gcc-4_0-branch/gcc/fortran/expr.c
branches/gcc-4_0-branch/gcc/fortran/gfortran.h
branches/gcc-4_0-branch/gcc/fortran/io.c
branches/gcc-4_0-branch/gcc/fortran/resolve.c
branches/gcc-4_0-branch/gcc/fortran/symbol.c
branches/gcc-4_0-branch/gcc/testsuite/ChangeLog
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/private_type_2.f90

Added: branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90
URL:
http://gcc.gnu.org/viewcvs/branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90?root=gccview=autorev=106572
==
--- branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90 (added)
+++ branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90 Sun Nov  6
22:50:38 2005
@@ -1,0 +1,19 @@
+! { dg-do compile }
+! Tests fix for PR20840 - would ICE with vector subscript in 
+! internal unit.
+!
+! Contributed by Paul Thomas  [EMAIL PROTECTED]
+!
+  character(len=12), dimension(4) :: iu, buff
+  character(len=48), dimension(2) :: iue
+  equivalence (iu, iue)
+  integer, dimension(4) :: v = (/2,1,4,3/)
+  iu = (/Vector,subscripts,not,allowed!/)
+  read (iu, '(a12/)') buff
+  read (iue(1), '(4a12)') buff
+  read (iu(4:1:-1), '(a12/)') buff
+  read (iu(v), '(a12/)') buff   ! { dg-error with vector subscript }
+  read (iu((/2,4,3,1/)), '(a12/)') buff ! { dg-error with vector subscript }
+  print *, buff
+  end
+

Propchange: branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90
('svn:executable' added)

Added: branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90
URL:
http://gcc.gnu.org/viewcvs/branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90?root=gccview=autorev=106572
==
--- branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90
(added)
+++ branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90 Sun
Nov  6 22:50:38 2005
@@ -1,0 +1,17 @@
+! { dg-do compile }
+! Tests fix for PR20838 - would ICE with vector subscript in 
+! pointer assignment.
+!
+! Contributed by Paul Thomas  [EMAIL PROTECTED]
+!
+  integer, parameter, dimension(3) :: i = (/2,1,3/)
+  integer, dimension(3), target   :: tar
+  integer, dimension(2, 3), target   :: tar2
+  integer, dimension(:), pointer  :: ptr
+  ptr = tar
+  

[Bug fortran/24534] [4.0/4.1 Regression] PUBLIC derived types with private components

2005-11-06 Thread pault at gcc dot gnu dot org


--- Comment #10 from pault at gcc dot gnu dot org  2005-11-06 22:50 ---
Subject: Bug 24534

Author: pault
Date: Sun Nov  6 22:50:38 2005
New Revision: 106572

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=106572
Log:
2005-11-06  Paul Thomas  [EMAIL PROTECTED]

PR fortran/24534
* resolve.c (resolve_symbol): Exclude case of PRIVATE declared
within derived type from error associated with PRIVATE type
components within derived type.

PR fortran/20838
PR fortran/20840
* gfortran.h: Add prototype for gfc_has_vector_index.
* io.c (gfc_resolve_dt): Error if internal unit has a vector index.
* expr.c (gfc_has_vector_index): New function to check if any of
the array references of an expression have vector inidices.
(gfc_check_pointer_assign): Error if internal unit has a vector index.

PR fortran/17737
* data.c (gfc_assign_data_value): Remove gcc_assert that caused the ICE
and replace by a standard dependent warning/error if overwriting an
existing initialization.
* decl.c (gfc_data_variable): Remove old error for already initialized
variable and the unused error check for common block variables.  Add
error for host associated variable and standard dependent error for
common block variables, outside of blockdata.
* symbol.c (check_conflict): Add constraints for DATA statement.

2005-11-06  Paul Thomas  [EMAIL PROTECTED]

PR fortran/24534
gfortran.dg/private_type_2.f90: Modified to check that case with
PRIVATE declaration within derived type is accepted.

PR fortran/20838
gfortran.dg/pointer_assign_1.f90: New test.

PR fortran/20840
* gfortran.dg/arrayio_0.f90: New test.

PR fortran/17737
gfortran.dg/data_initialized.f90: New test.
gfortran.dg/data_constraints_1.f90: New test.
gfortran.dg/data_constraints_2.f90: New test.


Added:
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90   (with
props)
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/data_constraints_1.f90
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/data_constraints_2.f90
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/data_initialized.f90
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90  
(with props)
Modified:
branches/gcc-4_0-branch/gcc/fortran/ChangeLog
branches/gcc-4_0-branch/gcc/fortran/data.c
branches/gcc-4_0-branch/gcc/fortran/decl.c
branches/gcc-4_0-branch/gcc/fortran/expr.c
branches/gcc-4_0-branch/gcc/fortran/gfortran.h
branches/gcc-4_0-branch/gcc/fortran/io.c
branches/gcc-4_0-branch/gcc/fortran/resolve.c
branches/gcc-4_0-branch/gcc/fortran/symbol.c
branches/gcc-4_0-branch/gcc/testsuite/ChangeLog
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/private_type_2.f90

Added: branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90
URL:
http://gcc.gnu.org/viewcvs/branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90?root=gccview=autorev=106572
==
--- branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90 (added)
+++ branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90 Sun Nov  6
22:50:38 2005
@@ -1,0 +1,19 @@
+! { dg-do compile }
+! Tests fix for PR20840 - would ICE with vector subscript in 
+! internal unit.
+!
+! Contributed by Paul Thomas  [EMAIL PROTECTED]
+!
+  character(len=12), dimension(4) :: iu, buff
+  character(len=48), dimension(2) :: iue
+  equivalence (iu, iue)
+  integer, dimension(4) :: v = (/2,1,4,3/)
+  iu = (/Vector,subscripts,not,allowed!/)
+  read (iu, '(a12/)') buff
+  read (iue(1), '(4a12)') buff
+  read (iu(4:1:-1), '(a12/)') buff
+  read (iu(v), '(a12/)') buff   ! { dg-error with vector subscript }
+  read (iu((/2,4,3,1/)), '(a12/)') buff ! { dg-error with vector subscript }
+  print *, buff
+  end
+

Propchange: branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90
('svn:executable' added)

Added: branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90
URL:
http://gcc.gnu.org/viewcvs/branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90?root=gccview=autorev=106572
==
--- branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90
(added)
+++ branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90 Sun
Nov  6 22:50:38 2005
@@ -1,0 +1,17 @@
+! { dg-do compile }
+! Tests fix for PR20838 - would ICE with vector subscript in 
+! pointer assignment.
+!
+! Contributed by Paul Thomas  [EMAIL PROTECTED]
+!
+  integer, parameter, dimension(3) :: i = (/2,1,3/)
+  integer, dimension(3), target   :: tar
+  integer, dimension(2, 3), target   :: tar2
+  integer, dimension(:), pointer  :: ptr
+  ptr = tar
+  

[Bug fortran/17737] ICE when variable appears in two data statements

2005-11-06 Thread pault at gcc dot gnu dot org


--- Comment #12 from pault at gcc dot gnu dot org  2005-11-06 22:50 ---
Subject: Bug 17737

Author: pault
Date: Sun Nov  6 22:50:38 2005
New Revision: 106572

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=106572
Log:
2005-11-06  Paul Thomas  [EMAIL PROTECTED]

PR fortran/24534
* resolve.c (resolve_symbol): Exclude case of PRIVATE declared
within derived type from error associated with PRIVATE type
components within derived type.

PR fortran/20838
PR fortran/20840
* gfortran.h: Add prototype for gfc_has_vector_index.
* io.c (gfc_resolve_dt): Error if internal unit has a vector index.
* expr.c (gfc_has_vector_index): New function to check if any of
the array references of an expression have vector inidices.
(gfc_check_pointer_assign): Error if internal unit has a vector index.

PR fortran/17737
* data.c (gfc_assign_data_value): Remove gcc_assert that caused the ICE
and replace by a standard dependent warning/error if overwriting an
existing initialization.
* decl.c (gfc_data_variable): Remove old error for already initialized
variable and the unused error check for common block variables.  Add
error for host associated variable and standard dependent error for
common block variables, outside of blockdata.
* symbol.c (check_conflict): Add constraints for DATA statement.

2005-11-06  Paul Thomas  [EMAIL PROTECTED]

PR fortran/24534
gfortran.dg/private_type_2.f90: Modified to check that case with
PRIVATE declaration within derived type is accepted.

PR fortran/20838
gfortran.dg/pointer_assign_1.f90: New test.

PR fortran/20840
* gfortran.dg/arrayio_0.f90: New test.

PR fortran/17737
gfortran.dg/data_initialized.f90: New test.
gfortran.dg/data_constraints_1.f90: New test.
gfortran.dg/data_constraints_2.f90: New test.


Added:
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90   (with
props)
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/data_constraints_1.f90
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/data_constraints_2.f90
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/data_initialized.f90
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90  
(with props)
Modified:
branches/gcc-4_0-branch/gcc/fortran/ChangeLog
branches/gcc-4_0-branch/gcc/fortran/data.c
branches/gcc-4_0-branch/gcc/fortran/decl.c
branches/gcc-4_0-branch/gcc/fortran/expr.c
branches/gcc-4_0-branch/gcc/fortran/gfortran.h
branches/gcc-4_0-branch/gcc/fortran/io.c
branches/gcc-4_0-branch/gcc/fortran/resolve.c
branches/gcc-4_0-branch/gcc/fortran/symbol.c
branches/gcc-4_0-branch/gcc/testsuite/ChangeLog
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/private_type_2.f90

Added: branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90
URL:
http://gcc.gnu.org/viewcvs/branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90?root=gccview=autorev=106572
==
--- branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90 (added)
+++ branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90 Sun Nov  6
22:50:38 2005
@@ -1,0 +1,19 @@
+! { dg-do compile }
+! Tests fix for PR20840 - would ICE with vector subscript in 
+! internal unit.
+!
+! Contributed by Paul Thomas  [EMAIL PROTECTED]
+!
+  character(len=12), dimension(4) :: iu, buff
+  character(len=48), dimension(2) :: iue
+  equivalence (iu, iue)
+  integer, dimension(4) :: v = (/2,1,4,3/)
+  iu = (/Vector,subscripts,not,allowed!/)
+  read (iu, '(a12/)') buff
+  read (iue(1), '(4a12)') buff
+  read (iu(4:1:-1), '(a12/)') buff
+  read (iu(v), '(a12/)') buff   ! { dg-error with vector subscript }
+  read (iu((/2,4,3,1/)), '(a12/)') buff ! { dg-error with vector subscript }
+  print *, buff
+  end
+

Propchange: branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90
('svn:executable' added)

Added: branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90
URL:
http://gcc.gnu.org/viewcvs/branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90?root=gccview=autorev=106572
==
--- branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90
(added)
+++ branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90 Sun
Nov  6 22:50:38 2005
@@ -1,0 +1,17 @@
+! { dg-do compile }
+! Tests fix for PR20838 - would ICE with vector subscript in 
+! pointer assignment.
+!
+! Contributed by Paul Thomas  [EMAIL PROTECTED]
+!
+  integer, parameter, dimension(3) :: i = (/2,1,3/)
+  integer, dimension(3), target   :: tar
+  integer, dimension(2, 3), target   :: tar2
+  integer, dimension(:), pointer  :: ptr
+  ptr = tar
+  

[Bug fortran/20840] accepts vector subscript on internal file

2005-11-06 Thread pault at gcc dot gnu dot org


--- Comment #4 from pault at gcc dot gnu dot org  2005-11-06 22:50 ---
Subject: Bug 20840

Author: pault
Date: Sun Nov  6 22:50:38 2005
New Revision: 106572

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=106572
Log:
2005-11-06  Paul Thomas  [EMAIL PROTECTED]

PR fortran/24534
* resolve.c (resolve_symbol): Exclude case of PRIVATE declared
within derived type from error associated with PRIVATE type
components within derived type.

PR fortran/20838
PR fortran/20840
* gfortran.h: Add prototype for gfc_has_vector_index.
* io.c (gfc_resolve_dt): Error if internal unit has a vector index.
* expr.c (gfc_has_vector_index): New function to check if any of
the array references of an expression have vector inidices.
(gfc_check_pointer_assign): Error if internal unit has a vector index.

PR fortran/17737
* data.c (gfc_assign_data_value): Remove gcc_assert that caused the ICE
and replace by a standard dependent warning/error if overwriting an
existing initialization.
* decl.c (gfc_data_variable): Remove old error for already initialized
variable and the unused error check for common block variables.  Add
error for host associated variable and standard dependent error for
common block variables, outside of blockdata.
* symbol.c (check_conflict): Add constraints for DATA statement.

2005-11-06  Paul Thomas  [EMAIL PROTECTED]

PR fortran/24534
gfortran.dg/private_type_2.f90: Modified to check that case with
PRIVATE declaration within derived type is accepted.

PR fortran/20838
gfortran.dg/pointer_assign_1.f90: New test.

PR fortran/20840
* gfortran.dg/arrayio_0.f90: New test.

PR fortran/17737
gfortran.dg/data_initialized.f90: New test.
gfortran.dg/data_constraints_1.f90: New test.
gfortran.dg/data_constraints_2.f90: New test.


Added:
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90   (with
props)
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/data_constraints_1.f90
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/data_constraints_2.f90
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/data_initialized.f90
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90  
(with props)
Modified:
branches/gcc-4_0-branch/gcc/fortran/ChangeLog
branches/gcc-4_0-branch/gcc/fortran/data.c
branches/gcc-4_0-branch/gcc/fortran/decl.c
branches/gcc-4_0-branch/gcc/fortran/expr.c
branches/gcc-4_0-branch/gcc/fortran/gfortran.h
branches/gcc-4_0-branch/gcc/fortran/io.c
branches/gcc-4_0-branch/gcc/fortran/resolve.c
branches/gcc-4_0-branch/gcc/fortran/symbol.c
branches/gcc-4_0-branch/gcc/testsuite/ChangeLog
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/private_type_2.f90

Added: branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90
URL:
http://gcc.gnu.org/viewcvs/branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90?root=gccview=autorev=106572
==
--- branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90 (added)
+++ branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90 Sun Nov  6
22:50:38 2005
@@ -1,0 +1,19 @@
+! { dg-do compile }
+! Tests fix for PR20840 - would ICE with vector subscript in 
+! internal unit.
+!
+! Contributed by Paul Thomas  [EMAIL PROTECTED]
+!
+  character(len=12), dimension(4) :: iu, buff
+  character(len=48), dimension(2) :: iue
+  equivalence (iu, iue)
+  integer, dimension(4) :: v = (/2,1,4,3/)
+  iu = (/Vector,subscripts,not,allowed!/)
+  read (iu, '(a12/)') buff
+  read (iue(1), '(4a12)') buff
+  read (iu(4:1:-1), '(a12/)') buff
+  read (iu(v), '(a12/)') buff   ! { dg-error with vector subscript }
+  read (iu((/2,4,3,1/)), '(a12/)') buff ! { dg-error with vector subscript }
+  print *, buff
+  end
+

Propchange: branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/arrayio_0.f90
('svn:executable' added)

Added: branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90
URL:
http://gcc.gnu.org/viewcvs/branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90?root=gccview=autorev=106572
==
--- branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90
(added)
+++ branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/pointer_assign_1.f90 Sun
Nov  6 22:50:38 2005
@@ -1,0 +1,17 @@
+! { dg-do compile }
+! Tests fix for PR20838 - would ICE with vector subscript in 
+! pointer assignment.
+!
+! Contributed by Paul Thomas  [EMAIL PROTECTED]
+!
+  integer, parameter, dimension(3) :: i = (/2,1,3/)
+  integer, dimension(3), target   :: tar
+  integer, dimension(2, 3), target   :: tar2
+  integer, dimension(:), pointer  :: ptr
+  ptr = tar
+  

[Bug fortran/24534] [4.0/4.1 Regression] PUBLIC derived types with private components

2005-11-06 Thread pault at gcc dot gnu dot org


--- Comment #11 from pault at gcc dot gnu dot org  2005-11-06 22:51 ---
Fixed on mainline and 4.0.


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/20838] ICE in gfc_conv_expr_descriptor, at fortran/trans-array.c:3606

2005-11-06 Thread pault at gcc dot gnu dot org


--- Comment #5 from pault at gcc dot gnu dot org  2005-11-06 22:53 ---
Fixed on mainline and 4.0


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/20840] accepts vector subscript on internal file

2005-11-06 Thread pault at gcc dot gnu dot org


--- Comment #5 from pault at gcc dot gnu dot org  2005-11-06 22:54 ---
Fixed on mainline and 4.0


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/17737] ICE when variable appears in two data statements

2005-11-06 Thread pault at gcc dot gnu dot org


--- Comment #13 from pault at gcc dot gnu dot org  2005-11-06 22:55 ---
Fixed on mainline and 4.0


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug c++/24687] [4.1 Regression] ICE after error

2005-11-06 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2005-11-06 23:21 ---
The CONST_DECL's type is null.

Seems like it should be error_mark_node instead.
Looking more into it.


-- 


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



[Bug c++/24687] [4.1 Regression] ICE after error

2005-11-06 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2005-11-06 23:23 ---
Actually it should be NULL as it is in a template.


-- 


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



[Bug c++/24687] [4.1 Regression] ICE after error

2005-11-06 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2005-11-06 23:27 ---
I have a patch.
Caused by:
2005-07-14  Daniel Berlin  [EMAIL PROTECTED]

Fix PR c++/22452
* tree.c (decl_linkage): Don't check DECL_COMDAT on CONST_DECL.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pinskia at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2005-11-06 23:27:28
   date||


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



[Bug other/24692] Atomic builtins for v3

2005-11-06 Thread rth at gcc dot gnu dot org


--- Comment #5 from rth at gcc dot gnu dot org  2005-11-06 23:40 ---
http://gcc.gnu.org/ml/gcc/2005-11/msg00326.html

In short, you'll never get a completely unified way to implement these
routines.


-- 


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



[Bug libfortran/24699] New: READ with T format specifier fails on end-of-record condition

2005-11-06 Thread jvdelisle at gcc dot gnu dot org
The following reduced test case fails to correctly read the same line twice
from the input file.  This was derived from the new Polyhedron test aermod.f90
which fails.

  character*132 :: rdfrm, runst1, foost
  character*1 :: runst(132)
  inunit = 11

  open (inunit, file = AERMODTEST.INP)

  RDFRM = (A080,T1,080A) ! read the same line twice

  READ (INUNIT, '(A080,T1,080A)', end = 999)  RUNST1 , foost
  write (*,'(a80)') runst1
  write (*,'(a80)') foost

  READ (INUNIT, '(A080,T1,080A)', end = 999)  RUNST1 , foost
  write (*,'(a80)') runst1
  write (*,'(a80)') foost

  READ (INUNIT, '(A080,T1,080A)', end = 999)  RUNST1 , foost
  write (*,'(a80)') runst1
  write (*,'(a80)') foost
  goto 1000
 999 call exit ()

 1000  continue
   end

The input file is:

$ cat AERMODTEST.INP
CO STARTING
   TITLEONE A Simple Example Problem for the AERMOD Model with PRIME
   MODELOPT  CONC   FLAT
   AVERTIME  3  24  PERIOD 
   POLLUTID  SO2
   RUNORNOT  RUN
CO FINISHED


-- 
   Summary: READ with T format specifier fails on end-of-record
condition
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libfortran
AssignedTo: jvdelisle at gcc dot gnu dot org
ReportedBy: jvdelisle at gcc dot gnu dot org
  GCC host triplet: i686-pc-linux-gnu


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



[Bug libfortran/24700] New: Bad write after backing up from end of file

2005-11-06 Thread jvdelisle at gcc dot gnu dot org
The following program from http://gcc.gnu.org/ml/fortran/2005-11/msg00084.html
incorrectly writesthe 'TEST' file.  Thanks to Georgy Salnikov for finding and
submitting this bug.  

  PROGRAM TEST
  CHARACTER*8 TXT
  DATA TXT/'**TEST**'/
  OPEN (1, FILE='TEST', STATUS='UNKNOWN', FORM='UNFORMATTED')
  WRITE (1) TXT
  REWIND 1
  READ (1, END=1) TXT
  READ (1, END=1) TXT
 1CONTINUE
  BACKSPACE 1
  WRITE (1) TXT
  CLOSE (1, STATUS='KEEP')
  END

Georgy also submitted a patch which is considered obvious:

diff -Naur gcc-4.0.2.orig/libgfortran/io/transfer.c
gcc-4.0.2/libgfortran/io/transfer.c
--- gcc-4.0.2.orig/libgfortran/io/transfer.c2005-09-12 01:55:16.0
+0700
+++ gcc-4.0.2/libgfortran/io/transfer.c 2005-10-15 12:29:13.0 +0700
@@ -1641,11 +1641,13 @@
  {
generate_error (ERROR_END, NULL);
current_unit-endfile = AFTER_ENDFILE;
+   current_unit-current_record = 0;
  }
break;

   case AFTER_ENDFILE:
generate_error (ERROR_ENDFILE, NULL);
+   current_unit-current_record = 0;
break;
   }
 }

Test results to follow:


-- 
   Summary: Bad write after backing up from end of file
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libfortran
AssignedTo: jvdelisle at gcc dot gnu dot org
ReportedBy: jvdelisle at gcc dot gnu dot org


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



[Bug libfortran/24700] Bad write after backing up from end of file

2005-11-06 Thread jvdelisle at gcc dot gnu dot org


--- Comment #1 from jvdelisle at gcc dot gnu dot org  2005-11-06 23:58 
---
Testing that patch gives the following results.  I will put together a test
case and commit this as obvious unless there are objections.

hex dump of TEST file created using gfortran 4.0.1 gives, with no patch:

$ xxd TEST
000: 0800    2a2a 5445 5354 2a2a  **TEST**
010: 0800    0800     
020: 2a2a 5445 5354 2a2a 0800     **TEST**

With gfortran 4.1 we get:

$ xxd TEST
000: 0800    2a2a 5445 5354 2a2a  **TEST**
010: 0800    2a2a 5445 5354 2a2a  **TEST**
020:    ff7f  

With Georgy's patch on 4.0.3:

$ xxd TEST
000: 0800    2a2a 5445 5354 2a2a  **TEST**
010: 0800    0800     
020: 2a2a 5445 5354 2a2a 0800     **TEST**

With Georgy's patch on 4.1:

$ xxd TEST
000: 0800    2a2a 5445 5354 2a2a  **TEST**
010: 0800    0800     
020: 2a2a 5445 5354 2a2a 0800     **TEST**

So it appears we had a regression from 4.0.1 in there somehow and did not catch
it. 

Regards

Jerry


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2005-11-06 23:58:36
   date||


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



Re: [Bug tree-optimization/24694] New: Address taken and addressable variables and call clobber

2005-11-06 Thread Daniel Berlin
On Sun, 2005-11-06 at 15:46 +, pinskia at gcc dot gnu dot org wrote:
 Take the following code:
 int f(int);
 int g(void)
 {
   int i;
   int *iptr = i;
   int **ipp = iptr;
   **ipp = 1;
   f(i);
   return **ipp;
 }
 --
 Here we consider i being call clobber because we lose the fact that iptr is
 addressable 

 but we don't look to see if its address escapes at all (which in
 this case it does not).
No, we don't actually.
In fact, that's not even close to what happens.

iptr isn't renamed, and thus, we assume the address taking of i and storage 
into iptr is the same as a global store, 
because we know nothing about unrenamed variables.





[Bug tree-optimization/24694] Address taken and addressable variables and call clobber

2005-11-06 Thread dberlin at dberlin dot org


--- Comment #3 from dberlin at gcc dot gnu dot org  2005-11-06 23:59 ---
Subject: Re:   New: Address taken and
addressable variables and call clobber

On Sun, 2005-11-06 at 15:46 +, pinskia at gcc dot gnu dot org wrote:
 Take the following code:
 int f(int);
 int g(void)
 {
   int i;
   int *iptr = i;
   int **ipp = iptr;
   **ipp = 1;
   f(i);
   return **ipp;
 }
 --
 Here we consider i being call clobber because we lose the fact that iptr is
 addressable 

 but we don't look to see if its address escapes at all (which in
 this case it does not).
No, we don't actually.
In fact, that's not even close to what happens.

iptr isn't renamed, and thus, we assume the address taking of i and storage
into iptr is the same as a global store, 
because we know nothing about unrenamed variables.


-- 


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



[Bug rtl-optimization/24683] [3.4/4.0/4.1 Regression] ICE in in extract_insn, at recog.c:2084

2005-11-06 Thread ian at airs dot com


--- Comment #19 from ian at airs dot com  2005-11-07 02:26 ---
Created an attachment (id=10160)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10160action=view)
Patch

I'm testing this patch.


-- 


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



[Bug other/24692] Atomic builtins for v3

2005-11-06 Thread pcarlini at suse dot de


--- Comment #6 from pcarlini at suse dot de  2005-11-07 02:49 ---
(In reply to comment #5)
 http://gcc.gnu.org/ml/gcc/2005-11/msg00326.html
 
 In short, you'll never get a completely unified way to implement these
 routines.

Disagree, see: http://gcc.gnu.org/ml/gcc/2005-11/msg00332.html


-- 


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



[Bug c++/17256] [3.4/4.0/4.1 Regression] undefined but used static or inline functions should be diagnosed

2005-11-06 Thread jason at gcc dot gnu dot org


--- Comment #14 from jason at gcc dot gnu dot org  2005-11-07 06:17 ---
Subject: Bug 17256

Author: jason
Date: Mon Nov  7 06:17:47 2005
New Revision: 106581

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=106581
Log:
PR c++/17256
* decl2.c (cp_finish_file): Fix conditions for undefined warning.
Set TREE_NO_WARNING instead of TREE_PUBLIC.
* pt.c (instantiate_pending_templates): Set DECL_INITIAL to avoid
a warning on a function we didn't instantiate because of excessive
recursion.

Added:
trunk/gcc/testsuite/g++.dg/warn/undefined1.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl2.c
trunk/gcc/cp/pt.c


-- 


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



[Bug ada/21952] Many attribute directive ignored warnings during Tru64 UNIX Ada bootstrap

2005-11-06 Thread phython at gcc dot gnu dot org


--- Comment #5 from phython at gcc dot gnu dot org  2005-11-07 06:55 ---
Subject: Bug 21952

Author: phython
Date: Mon Nov  7 06:54:52 2005
New Revision: 106582

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=106582
Log:
2005-11-07  James A. Morrison  [EMAIL PROTECTED]

PR treelang/21952
* treetree.c (LANG_HOOKS_ATTRIBUTE_TABLE): Set to
treelang_attribute_table.
(handle_attribute): New function.
(treelang_attribute_table): New attribute table.


Modified:
trunk/gcc/treelang/ChangeLog
trunk/gcc/treelang/treetree.c


-- 


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



[Bug ada/21952] Many attribute directive ignored warnings during Tru64 UNIX Ada bootstrap

2005-11-06 Thread phython at gcc dot gnu dot org


--- Comment #6 from phython at gcc dot gnu dot org  2005-11-07 07:02 ---
 The last commit was meant for PR24066


-- 


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



[Bug treelang/24066] almost all treelang testsuite fails with -maltivec as an option

2005-11-06 Thread phython at gcc dot gnu dot org


--- Comment #3 from phython at gcc dot gnu dot org  2005-11-07 07:03 ---
Fixed in the commit message that shows up in PR21952.


-- 

phython at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug treelang/24066] almost all treelang testsuite fails with -maltivec as an option

2005-11-06 Thread phython at gcc dot gnu dot org


-- 

phython at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.1.0


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



[Bug c++/24702] New: Koenig found functoid ref, but cannot be used as a function

2005-11-06 Thread pierhyth at gmail dot com
The problem relates to functoid objects (function like objects, ie
ones with an operator() defined) and references to them within a 
namespace.  When Koenig lookup is used to find such a 
reference-to-functoid, g++ seems to find it okay, but then states 
cannot be used as a function.  If I use an actual functoid object 
instead of a reference to one, it works fine.

Here is an example:

#include iostream

namespace dummyx {

  struct Dummy {
Dummy() {}
  };

  struct DummyFunct {
int operator()(Dummy d) const {return 5;}
static DummyFunct full() {static DummyFunct f; return f;}
  };
  static DummyFunct dummyFunct=DummyFunct::full();

  DummyFunct myDummyFunct;

  DummyFunct mymyDummyFunct=myDummyFunct;

}

int main() {

  ::dummyx::Dummy const d;

  std::coutdummyx::dummyFunct(d) = dummyx::dummyFunct(d)std::endl;
  std::coutdummyFunct(d) = dummyFunct(d)std::endl; // fails with 3.4
and 4.0
  std::coutmyDummyFunct(d) = myDummyFunct(d)std::endl;
  std::coutmymyDummyFunct(d) = mymyDummyFunct(d)std::endl; // fails
with 3.4 and 4.0

}

When I try to compile this code using g++ version 4.0.2 I get the
following errors:

testit.cc: In function ‘int main()’:
testit.cc:26: error: ‘dummyx::dummyFunct’ cannot be used as a function
testit.cc:28: error: ‘dummyx::mymyDummyFunct’ cannot be used as a function

I see no reason why such references should not be able to be used
as a function.  As you see, if it is explicitly namespace-qualified
it can be.  And according to Koenig rules, the unqualified name should
indeed be found and, as operator() is applicable for the found reference,
it should be usable as a function.  Indeed, this is what version 3.2.3
of g++ does.

The above test code compiles fine with g++ version 3.2.3.  The errors
seem only to occur in versions 3.4 and later (certainly they occur for 
versions 3.4.5 and 4.0.2.)

Additional version information:

  g++ (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-20)

  g++-3.4 (GCC) 3.4.5 20050809 (prerelease) (Ubuntu 3.4.4-6ubuntu8)

  g++-4.0 (GCC) 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu9)


-- 
   Summary: Koenig found functoid ref, but cannot be used as a
function
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pierhyth 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=24702