[Bug ada/25117] GNAT Bug Box, GCC error, verify_ssa failed

2005-11-29 Thread bauhaus at futureapps dot de


--- Comment #5 from bauhaus at futureapps dot de  2005-11-29 08:56 ---
Created an attachment (id=10359)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10359&action=view)
source file set for the 4.1 Bug Box

To reproduce,

$ cd src
$ gcc -c -gnatwecfijkmruv -gnaty3abcefhiklmnoprstx -Wall \
 -O2 -gnatn -I- -I../include/ai302 -I../include -I. \
-gnatA aws-containers-key_value.ads


-- 


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



[Bug libstdc++/11953] _REENTRANT defined when compiling non-threaded code.

2005-11-29 Thread marc dot waeckerlin at siemens dot com


--- Comment #35 from marc dot waeckerlin at siemens dot com  2005-11-29 
09:13 ---
I had a look in google about "#ifdef _REENTRANT", and it gets about 20'200
entries, so this is a widely used funtinality that must not be broken!

Imagine all the code the does the "#ifdef _REENTRANT" to enable threading: If
now _REENTRANT is always true, regardless of whether -pthreads is given or not,
then all this code will crash when compiled with gcc += 3.4!

This is really a severe problem!

Please return to the previous behaviour of _REENTRANT, and fix it for those
platforms, where it previousely did not work (s390x and ia64).

The _REENTRANT must work as 90% of the programmers expect it to work! It wasn't
my idea to look for _REENTRANT, i learnt it from a collegue who has seen it in
system C libraries and e.g. the QpThread library. It is a widely used feature!
It must neither be broken, nor be replaced by something else, sich as
__GCC_PTHREADS__ or the like!

In errno.h, AFAIK they also tested for _REENTRANT, now they test for:
#  if !defined _LIBC || defined _LIBC_REENTRANT

Is this an acceptable way to do it now, test for _LIBC_REENTRANT?

Reentrant is also used in /usr/include/features.h:
/* These are defined by the user (or the compiler)
   to specify the desired environment:
 [...]
   _REENTRANT   Select additionally reentrant object.
   _THREAD_SAFE Same as _REENTRANT, often used by other systems.
 [...]
*/
  --> So it should be set correctly by the compiler
#if defined _REENTRANT || defined _THREAD_SAFE
# define __USE_REENTRANT1
#endif


-- 


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



[Bug libstdc++/11953] _REENTRANT defined when compiling non-threaded code.

2005-11-29 Thread marc dot waeckerlin at siemens dot com


--- Comment #36 from marc dot waeckerlin at siemens dot com  2005-11-29 
09:27 ---
New information:

_REENTRANT is definitively defined in the headers:

> echo "" | g++ \
-I /usr/include/c++/4.0.2 -I /usr/include/c++/4.0.2/i586-suse-linux \
-E -dM -c - | grep REENTRANT
> echo "" | g++ \
-I /usr/include/c++/4.0.2 -I /usr/include/c++/4.0.2/i586-suse-linux \
-E -dM -c -pthread - | grep REENTRANT
#define _REENTRANT 1
> echo "#include" | g++ \
-I /usr/include/c++/4.0.2 -I /usr/include/c++/4.0.2/i586-suse-linux \
-E -dM -c - | grep REENTRANT
#define _REENTRANT 1
#define _POSIX_REENTRANT_FUNCTIONS 1

--> So, without "#include " it works as expected!

This opens a new possibility to work around this bug:

--file.cpp
#define GCC_BUGFIX _REENTRANT
#include 
#include ...
#undef _REENTRANT
#define _REENTRANT GCC_BUGFIX

#ifdef _REENTRANT
  ...
#endif
--



> g++ -v
Using built-in specs.
Target: i586-suse-linux
Configured with: ../configure --enable-threads=posix --prefix=/usr
--with-local-prefix=/usr/local --infodir=/usr/share/info
--mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib
--enable-languages=c,c++,objc,f95,java,ada --disable-checking
--with-gxx-include-dir=/usr/include/c++/4.0.2 --enable-java-awt=gtk
--disable-libjava-multilib --with-slibdir=/lib --with-system-zlib
--enable-shared --enable-__cxa_atexit --without-system-libunwind
--host=i586-suse-linux
Thread model: posix
gcc version 4.0.2 20050901 (prerelease) (SUSE Linux)


-- 


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



[Bug ada/25117] GNAT Bug Box, GCC error, verify_ssa failed

2005-11-29 Thread bauhaus at futureapps dot de


--- Comment #6 from bauhaus at futureapps dot de  2005-11-29 09:30 ---
Created an attachment (id=10360)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10360&action=view)
source file set for the 4.2 Bug Box

To reproduce,

$ cd src
$ gcc -c -gnatwecfijkmruv -gnaty3abcefhiklmnoprstx -Wall \
-O2 -gnatn -I- -gnatA -I../include/ai302 -I../include -I. \
aws-attachments.adb


-- 


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



[Bug libstdc++/11953] _REENTRANT defined when compiling non-threaded code.

2005-11-29 Thread marc dot waeckerlin at siemens dot com


--- Comment #37 from marc dot waeckerlin at siemens dot com  2005-11-29 
09:33 ---
Correction: The above work around only works, as long, as your file is not
included by another file...


-- 


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



[Bug libfortran/25017] sqrt, csqrt may give a wrong result if real part of compex argument is zero

2005-11-29 Thread harald dot vogt at desy dot de


--- Comment #7 from harald dot vogt at desy dot de  2005-11-29 09:42 ---
(In reply to comment #6)
> Subject: Re:  sqrt, csqrt may give a wrong result if real part of compex
> argument is zero
> 
> On Thu, Nov 24, 2005 at 05:05:12PM -, pinskia at gcc dot gnu dot org 
> wrote:
> > 
> > (In reply to comment #4)
> > > c99_functions.c contains implementations of csqrt[fl],
> > > which are the fixed glibc routines.  We can remove
> > > the "#if !defined(HAVE_CSQRTF)" and simply have gfortran
> > > use its own versions.
> > 
> > For only targets which have a broken csqrtf yes.  Please don't do it all the
> > time.
> > 
> 
> I've never used glibc.  Does it define a _GLIBC_VERSION_MAJOR
> and _GLIBC_VERSION_MINOR?  We could do
> 
> #if !defined(HAVE_CSQRTF) || (xx_MAJOR < 42 & xx_MINOR < 42)
> 

Dont rely on the glibc version. The better way should be to use
libgfortran/configure for csqrt, csqrtf, csqrtl to check them and setting 
HAVE_CSQRT, HAVE_CSQRTF, HAVE_CSQRTL if the checks will not fail.


-- 


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



[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L

2005-11-29 Thread pcarlini at suse dot de


--- Comment #39 from pcarlini at suse dot de  2005-11-29 10:24 ---
Eric, I'm sorry, any news?!? Thanks.


-- 


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



[Bug fortran/25084] Interface for assumed length character function allowed

2005-11-29 Thread eedelman at gcc dot gnu dot org


--- Comment #1 from eedelman at gcc dot gnu dot org  2005-11-29 11:21 
---
Confirmed.  Reminds a bit of PR 24705, except here we have an interface only.


-- 

eedelman at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||diagnostic
   Last reconfirmed|-00-00 00:00:00 |2005-11-29 11:21:56
   date||
Summary|better diagnostic needed|Interface for assumed length
   ||character function allowed


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



[Bug middle-end/24804] [3.4 Regression] Produces wrong code

2005-11-29 Thread reichelt at gcc dot gnu dot org


--- Comment #7 from reichelt at gcc dot gnu dot org  2005-11-29 11:26 
---
The command line flags "-O -fgcse" are sufficient to reproduce the bug.
The constructor of DummyType can be omitted.


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||reichelt at gcc dot gnu dot
   ||org
   Keywords||monitored


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



[Bug fortran/25085] Array valued assumed length character function allowed

2005-11-29 Thread eedelman at gcc dot gnu dot org


--- Comment #1 from eedelman at gcc dot gnu dot org  2005-11-29 11:27 
---
Confirmed.  Reminds a bit of PR 24705.


-- 

eedelman at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||diagnostic
   Last reconfirmed|-00-00 00:00:00 |2005-11-29 11:27:03
   date||
Summary|better diagnostic needed|Array valued assumed length
   ||character function allowed


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



[Bug fortran/25086] Pointer valued assumed length character function allowed

2005-11-29 Thread eedelman at gcc dot gnu dot org


--- Comment #1 from eedelman at gcc dot gnu dot org  2005-11-29 11:30 
---
Confirmed.


-- 

eedelman at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||diagnostic
   Last reconfirmed|-00-00 00:00:00 |2005-11-29 11:30:29
   date||
Summary|better diagnostic needed|Pointer valued assumed
   ||length character function
   ||allowed


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



[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L

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


--- Comment #40 from ebotcazou at gcc dot gnu dot org  2005-11-29 11:51 
---
> Eric, I'm sorry, any news?!? Thanks.

Bootstrap was broken last week and I was away for the week-end...  I'll need to
re-compute baseline results first, so maybe at the end of this week.


-- 


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



[Bug fortran/25087] better diagnostic needed

2005-11-29 Thread eedelman at gcc dot gnu dot org


--- Comment #2 from eedelman at gcc dot gnu dot org  2005-11-29 12:00 
---
Reduced testcase:

SUBROUTINE s(n)
 CHARACTER(LEN=n), EXTERNAL :: a
 write(6,*) a(n)
END SUBROUTINE s

The problem, unless I'm missing something, is that the external function a
would need an explicit interface. From the draft F2003 standard, 12.3.1.1:

"A procedure [...] shall have an explicit interface if it is referenced and


-- 


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



[Bug fortran/25087] Error for missing explicit interface needed.

2005-11-29 Thread eedelman at gcc dot gnu dot org


--- Comment #3 from eedelman at gcc dot gnu dot org  2005-11-29 12:06 
---
(In reply to comment #2)
> Reduced testcase:
> 
> SUBROUTINE s(n)
>  CHARACTER(LEN=n), EXTERNAL :: a
>  write(6,*) a(n)
> END SUBROUTINE s
> 
> The problem, unless I'm missing something, is that the external function a
> would need an explicit interface. From the draft F2003 standard, 12.3.1.1:
> 
> "A procedure [...] shall have an explicit interface if it is referenced and
> 

Sorry, I messed up.  Here's what I intended to write:

"A procedure [...] shall have an explicit interface if it is referenced and

  [...]

(3) The procedure has a result that
  [...]
  (c) has a nonassumed type parameter value that is not an initialization 
  expression"


Ifort 8.1 gives the following error message for this code:
beam:~$ ifort huj.f90
fortcom: Error: huj.f90, line 2: This passed length character name has been
used in an invalid context.   [A]
 CHARACTER(LEN=n), EXTERNAL :: a
---^


-- 

eedelman at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||diagnostic
   Last reconfirmed|-00-00 00:00:00 |2005-11-29 12:06:22
   date||
Summary|better diagnostic needed|Error for missing explicit
   ||interface needed.


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



[Bug libfortran/25139] "Invalid argument" error on I/O

2005-11-29 Thread fxcoudert at gcc dot gnu dot org


--- Comment #2 from fxcoudert at gcc dot gnu dot org  2005-11-29 12:12 
---
Well, since it relies on uninitialized variables, it's a bit hard to reproduce.
The following code (I believe it is legal) reproducibly fails for me on
i686-linux:

  integer dat(5)
  dat = (/ 0, 0, 0, 0, 18651460 /)
  write(11) dat,dat,dat
  rewind 11
  write(11) dat,dat,dat,dat
  rewind 11
  write(11) dat
  rewind 11
  write(11) dat
  rewind 11
  read(11) dat
  read(11,end=1008) dat
 1008 continue
  backspace 11
  write(11) dat
  backspace 11
  read(11) dat
  read(11,end=1011) dat
 1011 continue
  backspace 11
  backspace 11
  end

I think it has to do with array transfer, and overwriting the record markes
with data. Adding Janne in CC list for opinion.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jb at gcc dot gnu dot org,
   ||fxcoudert at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   GCC host triplet|powerpc-apple-darwin8.3.0   |
   Last reconfirmed|-00-00 00:00:00 |2005-11-29 12:12:42
   date||
Summary|Fortran runtime error:  |"Invalid argument" error on
   |Invalid argument|I/O


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



[Bug libfortran/25139] "Invalid argument" error on I/O

2005-11-29 Thread fxcoudert at gcc dot gnu dot org


--- Comment #3 from fxcoudert at gcc dot gnu dot org  2005-11-29 12:29 
---
The testcase can be reduced further:

  integer dat(5)
  dat = (/ 0, 0, 0, 0, 1 /)
  write(11) dat,dat,dat,dat
  rewind 11
  write(11) dat
  read(11,end=1008) dat
 1008 continue
  backspace 11
  write(11) dat
  read(11,end=1011) dat
 1011 continue
  backspace 11
  backspace 11
  end

At line 13 of file testio2.f
Fortran runtime error: Invalid argument


>From looking at the fort.11 file, I think the output is correct at every point
of the program. Also note that if we comment two lines of this testcase, like
that:

  integer dat(5)
  dat = (/ 0, 0, 0, 0, 1 /)
  write(11) dat,dat,dat,dat
  rewind 11
  write(11) dat
  read(11,end=1008) dat
 1008 continue
!  backspace 11
!  write(11) dat
  read(11,end=1011) dat
 1011 continue
  backspace 11
  backspace 11
  end

then we get another error message (which shouldn't happen):

At line 10 of file testio2.f
Fortran runtime error: Read past ENDFILE record

I don't know yet if these bugs have the same cause.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

   Last reconfirmed|2005-11-29 12:12:42 |2005-11-29 12:29:53
   date||


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



[Bug libfortran/25017] sqrt, csqrt may give a wrong result if real part of compex argument is zero

2005-11-29 Thread sgk at troutmask dot apl dot washington dot edu


--- Comment #8 from sgk at troutmask dot apl dot washington dot edu  
2005-11-29 12:47 ---
Subject: Re:  sqrt, csqrt may give a wrong result if real part of compex
argument is zero

On Tue, Nov 29, 2005 at 09:42:05AM -, harald dot vogt at desy dot de wrote:
> 
> 
> Comment #7 from harald dot vogt at desy dot de  2005-11-29 09:42 ---
> > 
> > I've never used glibc.  Does it define a _GLIBC_VERSION_MAJOR
> > and _GLIBC_VERSION_MINOR?  We could do
> > 
> > #if !defined(HAVE_CSQRTF) || (xx_MAJOR < 42 & xx_MINOR < 42)
> > 
> 
> Dont rely on the glibc version. The better way should be to use
> libgfortran/configure for csqrt, csqrtf, csqrtl to check them and setting 
> HAVE_CSQRT, HAVE_CSQRTF, HAVE_CSQRTL if the checks will not fail.
> 

Do you have a patch?  Because I have no idea want you
mean.  libgfortran/configurei already checks for the existence
of these functions.   glibc's are broken in the release,
but are fixed in cvs.


-- 


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



[Bug c++/25152] New: -fstrict-aliasing generates wrong code, but no warning from -Wstrict-aliasing

2005-11-29 Thread frederic dot devernay at m4x dot org
the attached program generates wrong code with -O -fstrict-aliasing (-O works),
although -Wstrict-aliasing doesn't issue a warning.

The bug was not present in gcc version 3.3.3 20040412 (Red Hat Linux 3.3.3-7)
(the generated code was OK even with -O3).

The bug is present in :
- gcc version 4.0.1 20050727 (Red Hat 4.0.1-5)
- gcc 4.0.2
- gcc version 4.1.0 20051128 (prerelease) gcc-4_1-branch

gcc version 4.2.0 20051128 (experimental) issues the warning, and generates the
right code with -O2 -fstrict-aliasing, though it breaks with -O3. My conclusion
is that gcc 4.2 doesn't have this bug.

IMHO this is critical, since it's a regression from 3.3, and gcc generates
wrong code without the user being warned.

Fred


-- 
   Summary: -fstrict-aliasing generates wrong code, but no warning
from -Wstrict-aliasing
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: frederic dot devernay at m4x dot org
 GCC build triplet: i386-redhat-linux
  GCC host triplet: i386-redhat-linux
GCC target triplet: i386-redhat-linux


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



[Bug c++/25152] -fstrict-aliasing generates wrong code, but no warning from -Wstrict-aliasing

2005-11-29 Thread frederic dot devernay at m4x dot org


--- Comment #1 from frederic dot devernay at m4x dot org  2005-11-29 13:30 
---
Created an attachment (id=10361)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10361&action=view)
test case

this source generates wrong code without issueing a warning, using:
g++ -DMAIN -O -Wstrict-aliasing -fstrict-aliasing cxcopy-preproc.cpp -o
testcase
it generates the right code with:
g++ -DMAIN -O cxcopy-preproc.cpp -o testcase


-- 


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



[Bug target/24842] testsuite failure: gcc.dg/attr-weakref-1.c execution test

2005-11-29 Thread aoliva at gcc dot gnu dot org


--- Comment #3 from aoliva at gcc dot gnu dot org  2005-11-29 13:50 ---
Sorry, I totally misread the testsuite output.

Can you tell what part of the execution test that fails?  I find it very
unlikely that this is a compiler error; it's far more likely to be a linker
failure to handle weak symbols properly, unless there's something very peculiar
about the way this target handles weak symbols.


-- 


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



[Bug middle-end/25140] aliases, including weakref, break alias analysis

2005-11-29 Thread aoliva at gcc dot gnu dot org


--- Comment #4 from aoliva at gcc dot gnu dot org  2005-11-29 13:55 ---
Make it a weak alias, then.

Anyhow, the point is that the alias infrastructure in GCC is available for all
ports.  If some port limits what kinds of aliases you can use, then, well, too
bad.  But the smarts to get alias analysis to follow symbol aliases is missing
for all kinds of aliases, not only weakrefs, and the good news is that fixing
it for regular and weak aliases will fix it for weakrefs as well, unless you
try really hard to keep weakrefs broken just to make a point :-)


-- 


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



[Bug testsuite/19231] Execute failure in gcc.c-torture/execute/builtins/strlen-3.c with -fpic/-fPIC

2005-11-29 Thread ghazi at gcc dot gnu dot org


--- Comment #3 from ghazi at gcc dot gnu dot org  2005-11-29 13:55 ---
Fixed by:
http://gcc.gnu.org/ml/gcc-patches/2005-11/msg01889.html


-- 

ghazi at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L

2005-11-29 Thread pcarlini at suse dot de


--- Comment #41 from pcarlini at suse dot de  2005-11-29 14:00 ---
Ok, agreed. I'm eager to finally close the oldest open libstdc++ PR... ;)


-- 


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



[Bug target/19227] [3.4 only] Error in gcc.c-torture/compile/20000804-1.c when using -fpic/-fPIC on i686-pc-linux-gnu

2005-11-29 Thread ghazi at gcc dot gnu dot org


--- Comment #2 from ghazi at gcc dot gnu dot org  2005-11-29 14:03 ---
Fixed in 4.0.3 and later by:
http://gcc.gnu.org/ml/gcc-patches/2005-11/msg01889.html


-- 


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



[Bug target/24842] testsuite failure: gcc.dg/attr-weakref-1.c execution test

2005-11-29 Thread hp at gcc dot gnu dot org


--- Comment #4 from hp at gcc dot gnu dot org  2005-11-29 14:08 ---
Yes, it may be a linker error.  This target uses the generic linker machinery
(since linking from ELF to mmo), which is not exactly the hot-path for other
targets.

I know of no particular way of telling *which* part of the test that failed,
without looking at the simulator trace of course, which I'll do when I get to
looking at this myself.  (Which anyone can do anyway before that; just install
the simulator and start printf-ing.)


-- 


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



[Bug testsuite/19275] [3.4/4.0] gcc.dg/20020919-1.c fails with -fpic/-fPIC on i686-pc-linux-gnu

2005-11-29 Thread ghazi at gcc dot gnu dot org


--- Comment #5 from ghazi at gcc dot gnu dot org  2005-11-29 14:25 ---
These two patches fixed the problem on mainline/4.1 and need to be backported:
http://gcc.gnu.org/ml/gcc-patches/2005-03/msg02322.html
http://gcc.gnu.org/ml/gcc-patches/2005-03/msg02828.html

I'll do it after testing.


-- 

ghazi at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ghazi at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2005-11-03 17:09:40 |2005-11-29 14:25:19
   date||


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



[Bug target/24831] [4.1/4.2 regression] gthr-dce.h:77: error: expected expression before '{' token

2005-11-29 Thread aoliva at gcc dot gnu dot org


--- Comment #9 from aoliva at gcc dot gnu dot org  2005-11-29 14:27 ---
Created an attachment (id=10362)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10362&action=view)
Tentative patch to accomodate expressions, absent functions et al

Dave, could you please give this patch a try?  I haven't tested it yet, but I
think the approach is promising.  It certainly conflicts with your patch.  I've
tried to merge the essential bits from it (i.e., the UNUSED changes are not
in).

Sorry for taking so long to get to this, I've been away for most of last week.


-- 


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



[Bug c++/25153] New: Bug in name lookup in template -- 4.0 regression against 3.4

2005-11-29 Thread richard at ex-parrot dot com
The code below compiles fine with gcc 3.3.1 and 3.4.0 (and does the right
thing); it produces a compile time error in 4.0.2.  Lookup of the << operator
in the definition of serializable::impl::value fails when it is instatiated
via the bar or baz templates but succeeds when instantiated via the foo
template.  (Use of the bar or baz templates will succeed if instantation has
alread occured.)

Curiously, the bug seems very specific -- a number of very similar pieces of
code in 4.0.2's  header compile correctly.

// 

extern "C" int printf( char const*, ... );

namespace std2 {
  class ostream { void* ptr; };
  class string;

  ostream& operator<<( ostream&, string const& );
} 

namespace serializable {
  struct two { std2::ostream a, b; };
  template  two operator<<(U&, V const&);

  template 
  struct impl {
static T const& make();
static std2::ostream& stream();
static const bool value 
  = sizeof( stream() << make() ) == sizeof(std2::ostream);
  };
}

template  struct foo { foo() { printf("%d\n", V); } };
template  struct baz : foo< T::value > {};
template  struct bar : baz< serializable::impl > {};
struct X {};

int main() {
  bar< X >();  // -- Fails
  baz< serializable::impl >(); // -- Fails
  foo< serializable::impl::value >(); // -- Succeeds
  baz< serializable::impl >(); // -- Succeeds 
  bar< X >();  // -- Succeeds
}

// Expected output: 0 0 0 0 0


-- 
   Summary: Bug in name lookup in template -- 4.0 regression against
3.4
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: richard at ex-parrot dot com


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



[Bug c++/25152] -fstrict-aliasing generates wrong code, but no warning from -Wstrict-aliasing

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


--- Comment #2 from pinskia at gcc dot gnu dot org  2005-11-29 15:12 ---
4.2 warns:
t.cc: In function 'CvStatus icvSet_8u_C4MR(int*, int, const uchar*, int,
CvSize, const int*)':
t.cc:21: warning: dereferencing type-punned pointer will break strict-aliasing
rules


Because the warning was not in 4.1.0 at all for C++.
This is invalid as:
CvStatus
icvSet_8u_C4MR (int *dst, int step, const uchar * mask, int step2,
  CvSize size, const int *scalar)
{
  int s0 = scalar[0];
  for (; size.height--; mask += step2, (char *&) dst += step)
{

"(char *&) dst += step" is equaliant to *((char**)&dst) += step
so we are accessing dst as a "char*" which violates alaiasing rules.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug c++/25153] [4.0 Regression] Bug in name lookup in template -- 4.0 regression against 3.4

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2005-11-29 15:19 ---
Fixed in 4.0.3 already.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
Summary|Bug in name lookup in   |[4.0 Regression] Bug in name
   |template -- 4.0 regression  |lookup in template -- 4.0
   |against 3.4 |regression against 3.4
   Target Milestone|--- |4.0.3
Version|unknown |4.0.2


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



[Bug libobjc/24775] libobjc should not include GCC's target headers

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


--- Comment #2 from pinskia at gcc dot gnu dot org  2005-11-29 16:01 ---
A start is done on the branch libobjc_noheaders.  I almost forgot about
thrd-objc.c.


-- 


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



[Bug c/25155] New: Base type of expressions involving short operands is shown as int

2005-11-29 Thread santhosh dot selvaraj at wipro dot com
I don't know whether it is a bug or not.

Consider the following example:

short int sh1 = 1;
short int sh2 = 2;

printf("Size of short: %d\n", sizeof(short));
printf("Size of int: %d\n", sizeof(int));
printf("Size of expr: %d\n", sizeof(sh1+sh2));

Output:
Size of short: 2
Size of int: 4
Size of expr: 4

GCC is converting short to int while doing any arithmatic operation. Can anyone
explain why it is happening and where exactly(function) does this conversion
happen?


-- 
   Summary: Base type of expressions involving short operands is
shown as int
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: santhosh dot selvaraj at wipro dot com


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



[Bug libstdc++/11953] _REENTRANT defined when compiling non-threaded code.

2005-11-29 Thread carlo at gcc dot gnu dot org


--- Comment #38 from carlo at gcc dot gnu dot org  2005-11-29 16:05 ---
That never works because it always defines _REENTRANT.
You probably mean:

#ifdef _REENTRANT
#define GCC_BUGFIX 1
#endif
#include 
#undef _REENTRANT
#ifdef GCC_BUGFIX
#define _REENTRANT 1
#endif

The drawback of this "fix" is that it is hardly usable for
library writers like you and me. You can add this to every
.cpp file of an application, but it doesn't help to determine
if the _user_ (of your library) wants thread-safeness or not.

Such a user will add -pthread when compiling his application
but we cannot detect that anymore. We can also not demand that
users of our library add the above kludge at the top of every
.cpp file of their application (before any system headers
are included) or, equivalently, demand they include the header
of our library before any system header.

That being said, I obviously agree completely with Marc that
this is a bug: _REENTRANT should only be defined by the compiler
iff -pthread is passed to the compiler. I know that is not
a written standard, but it certainly is widely used and something
developers have come to rely on so much that it is pure arrogance
to break it. I'd say, ignorance-- but given the fact that I reported
this BEFORE it was released (after running into it in a cvs version),
and it was released anyway...

Nevertheless-- I've seen enough of the gcc development (that is, what
is related with C++) to know that 'we' cannot rely on (the) g++ (developers)
being interested in keeping backwards compatibility with ANYTHING
that isn't set in stone by some ISO committee (refering to some GNU
extensions here).

Therefore I suggest to everyone reading this: don't rely on common sense.
The define of _REENTRANT isn't some standard and therefore you cannot not
rely on it (when using g++). Even if it was fixed in 4.1, you can count on
it being broken again in 4.2.

The only reliable "solution" left is to demand that the users define
a macro on the command line. So, expect to see this kind of compilations
in the future:

g++ -pthread -DBOOST_THREAD_SAFE -DLIBCWD_THREAD_SAFE -DLIBXML2_THREAD_SAFE
-DLIBC_THREAD_SAFE -DLIBFOO_THREAD_SAFE -DLIBGTK_THREAD_SAFE [...]
application.cc

until some guru proposes that all libraries make use of one and the same
define:
GURU_THREAD_SAFE.

Unfortunately... two decades later, once that macro made it's way into
AX[3.4]UbuOS-6.8 and some bug needs it to be defined always... g++ will
think it's allowed to unconditionally define GURU_THREAD_SAFE too... because
it wasn't an official standard [...]

Yeah, history repeats itself. Watch and see.


-- 


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



[Bug c++/25156] New: wrong error message (int instead of bool)

2005-11-29 Thread joerg dot richter at pdv-fs dot de
bool func()
{
  return;
}

a.cc:3: error: return-statement with no value, in function returning 'int'


-- 
   Summary: wrong error message (int instead of bool)
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: joerg dot richter at pdv-fs dot de


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



[Bug c/25155] Base type of expressions involving short operands is shown as int

2005-11-29 Thread schwab at suse dot de


--- Comment #1 from schwab at suse dot de  2005-11-29 16:13 ---
This is the effect of the integer promotion rules.


-- 

schwab at suse dot de changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug c++/25156] [3.4/4.0/4.1 Regression] wrong error message (int instead of bool)

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2005-11-29 16:40 ---
Confirmed, all an integer types give the wrong error (well except for int).
3.3 gave:
t.c: In function `bool func()':
t.c:3: error: return-statement with no value, in function declared with a 
   non-void return type


So this is a regression.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||diagnostic
  Known to fail||3.4.0 4.0.0 4.1.0
   Last reconfirmed|-00-00 00:00:00 |2005-11-29 16:40:35
   date||
Summary|wrong error message (int|[3.4/4.0/4.1 Regression]
   |instead of bool)|wrong error message (int
   ||instead of bool)
   Target Milestone|--- |4.0.3


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



[Bug c++/25156] [3.4/4.0/4.1 Regression] wrong error message (int instead of bool)

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


--- Comment #2 from pinskia at gcc dot gnu dot org  2005-11-29 16:46 ---
Hmm, it is looking at the wrong type, it is looking at the RESULT_DECL's type
instead of the FUNCTION_TYPE's type which has the correct type, I might fix
this later tonight.


-- 


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



[Bug java/25040] gcjh generated .h files missing methods inherited from interfaces

2005-11-29 Thread tromey at gcc dot gnu dot org


--- Comment #2 from tromey at gcc dot gnu dot org  2005-11-29 17:09 ---


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


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug java/15411] CNI: gcjh not aware of "miranda" methods

2005-11-29 Thread tromey at gcc dot gnu dot org


--- Comment #4 from tromey at gcc dot gnu dot org  2005-11-29 17:09 ---
*** Bug 25040 has been marked as a duplicate of this bug. ***


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||michele at focuseek dot com


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



[Bug libgcj/25016] Integer overflow in _Jv_CondWait

2005-11-29 Thread tromey at gcc dot gnu dot org


--- Comment #7 from tromey at gcc dot gnu dot org  2005-11-29 17:13 ---
Fix checked in everywhere.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug tree-optimization/25145] missed VRP opportunity

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


--- Comment #6 from pinskia at gcc dot gnu dot org  2005-11-29 17:34 ---
(In reply to comment #5)
> Note this was the simple fix which exposes those latent bugs as far as I can
> see that should work, we get the correct range but the rest of VRP goes
> bonkers:

I should also note it does not do the correct thing for -fwrapv either.
For the testcase in comment #1:
int f(int i, int j )
{
   int k;
   k = i+ - 1;
   return k < i;
}

i = INT_MIN
k will equal INT_MAX so the comparision will be wrong to return true as INT_MAX
is not less than INT_MIN.

VRP does not like symbolic ranges at all.


-- 


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



[Bug tree-optimization/25148] compare_values assumes that CST in a + CST (and a - CST) is always postive

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


--- Comment #3 from pinskia at gcc dot gnu dot org  2005-11-29 17:36 ---
I should also note that compare_values is does not respect -fwrapv either as
shown by the testcase in PR 25145 in comment #1 and comment #6.


-- 


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



[Bug c++/25152] -fstrict-aliasing generates wrong code, but no warning from -Wstrict-aliasing

2005-11-29 Thread frederic dot devernay at m4x dot org


--- Comment #3 from frederic dot devernay at m4x dot org  2005-11-29 17:42 
---
I know it breaks aliasing rules, but this problem was not present in gcc-3.3.

Most gcc users consider "-O2" as being a safe optimizing option, (e.g. redhat
RPMs are compiled with gcc -O2), and generating wrong code from proper ISO C++
source without even a warning looks like a regression to me.

FYI, this bug came out when compiling OpenCV (maintained and distributed by
Intel) on Fedora Core 4.


-- 


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



[Bug c++/25152] -fstrict-aliasing generates wrong code, but no warning from -Wstrict-aliasing

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


--- Comment #4 from pinskia at gcc dot gnu dot org  2005-11-29 17:47 ---
(In reply to comment #3)
> I know it breaks aliasing rules, but this problem was not present in gcc-3.3.

So ...

GCC 4.1 includes more optimization than 3.3 did which takes advantage of the
aliasing rules.

Note this is only undefined behavior.  There are lots of undefined behavior
which we don't warn about.  An example is signed overflow, if we warned about
that it would show up in the simple i++ or i = a + b example.

The warning was a bug which was filed a long time ago and was just only fixed.

Also I should note different targets would show up aliasing violating
differently.  PPC will show more than x86 since the scheduler uses the
information and PPC relies more and than the shceduler than x86 does.


-- 


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



[Bug c++/25156] [3.4/4.0/4.1 Regression] wrong error message (int instead of bool)

2005-11-29 Thread gdr at integrable-solutions dot net


--- Comment #3 from gdr at integrable-solutions dot net  2005-11-29 17:48 
---
Subject: Re:  [3.4/4.0/4.1 Regression] wrong error message (int instead of
bool)

"pinskia at gcc dot gnu dot org" <[EMAIL PROTECTED]> writes:

| Hmm, it is looking at the wrong type, it is looking at the RESULT_DECL's type
| instead of the FUNCTION_TYPE's type which has the correct type, I might fix
| this later tonight.

That is a combination of two things:
  (1) vestige of the old infamous named-returned value extension logic;
  (2) the default widening-strategy used in the compiler.

-- Gaby


-- 


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



[Bug c++/25152] -fstrict-aliasing generates wrong code, but no warning from -Wstrict-aliasing

2005-11-29 Thread bonzini at gnu dot org


--- Comment #5 from bonzini at gnu dot org  2005-11-29 17:55 ---
Frederic, "-Wstrict-aliasing" is only working for C up until 4.1 (included). 
Your code, rewritten to C, would issue a warning with 4.1 and earlier compilers
as well.  Also note that -Wstrict-aliasing does not prevent the compiler from
using aliasing relationships that it has warned about.

GCC 4.2 has the same behavior as earlier versions, just does not expose it by
generating wrong results, maybe because it finds some more interesting
optimization to do.


-- 


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



[Bug c++/25156] [3.4/4.0/4.1 Regression] wrong error message (int instead of bool)

2005-11-29 Thread gdr at integrable-solutions dot net


--- Comment #4 from gdr at integrable-solutions dot net  2005-11-29 18:02 
---
Subject: Re:  [3.4/4.0/4.1 Regression] wrong error message (int instead of
bool)

"pinskia at gcc dot gnu dot org" <[EMAIL PROTECTED]> writes:

| Hmm, it is looking at the wrong type, it is looking at the RESULT_DECL's type
| instead of the FUNCTION_TYPE's type which has the correct type, I might fix
| this later tonight.

Try this

*** ChangeLog   (revision 107674)
--- ChangeLog   (local)
***
*** 1,3 
--- 1,10 
+ 2005-11-29  Gabriel Dos Reis  <[EMAIL PROTECTED]>
+ 
+   PR c++/25156
+   * typeck.c (check_return_expr): Get the return-type from the
+   function declaration, now that the named-return value extension is
+   no longer existent.
+ 
  2005-11-30  Ben Elliston  <[EMAIL PROTECTED]>

* typeck.c (build_x_unary_op): Correct spelling in error message.
*** typeck.c(revision 107674)
--- typeck.c(local)
*** check_return_expr (tree retval, bool *no
*** 6257,6270 
return retval;
  }

!   /* When no explicit return-value is given in a function with a named
!  return value, the named return value is used.  */
!   result = DECL_RESULT (current_function_decl);
!   valtype = TREE_TYPE (result);
gcc_assert (valtype != NULL_TREE);
fn_returns_value_p = !VOID_TYPE_P (valtype);
-   if (!retval && DECL_NAME (result) && fn_returns_value_p)
- retval = result;

/* Check for a return statement with no return value in a function
   that's supposed to return a value.  */
--- 6257,6269 
return retval;
  }

!   /* We no longer support the old "named-return value" extension, so get
!  the return-type from the function declaration.  */
!   valtype = TREE_TYPE (TREE_TYPE (current_function_decl));
gcc_assert (valtype != NULL_TREE);
+   result = DECL_RESULT (current_function_decl);
+   gcc_assert (TREE_TYPE (result) != 0);
fn_returns_value_p = !VOID_TYPE_P (valtype);

/* Check for a return statement with no return value in a function
   that's supposed to return a value.  */


-- 


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



[Bug other/25157] New: /libdecnumber/decContext.h:43:49: stdint.h: No such file or directory

2005-11-29 Thread danglin at gcc dot gnu dot org
make[1]: Entering directory `/xxx/gnu/gcc-3.3/objdir/libdecnumber'
source='../../gcc/libdecnumber/decNumber.c' object='decNumber.o' libtool=no gcc
 -I../../gcc/libdecnumber -I.  -g -O2 -W -Wall -Wwrite-strings
-Wstrict-prototyp
es -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute
-pedan
tic -Wno-long-long  -I../../gcc/libdecnumber -I.  -c
../../gcc/libdecnumber/decN
umber.c
In file included from ../../gcc/libdecnumber/decNumber.h:30,
 from ../../gcc/libdecnumber/decNumber.c:156:
../../gcc/libdecnumber/decContext.h:43:49: stdint.h: No such file or directory
make[1]: *** [decNumber.o] Error 1


-- 
   Summary: /libdecnumber/decContext.h:43:49: stdint.h: No such file
or directory
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa1.1-hp-hpux10.20
  GCC host triplet: hppa1.1-hp-hpux10.20
GCC target triplet: hppa1.1-hp-hpux10.20


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



[Bug middle-end/25158] New: FAIL: gcc.c-torture/execute/builtins/fprintf.c compilation

2005-11-29 Thread danglin at gcc dot gnu dot org
At all optimizations:

Executing on host: /mnt/gnu/gcc-3.3/objdir/gcc/xgcc
-B/mnt/gnu/gcc-3.3/objdir/gc
c/ /mnt/gnu/gcc-3.3/gcc/gcc/testsuite/gcc.c-torture/execute/builtins/fprintf.c
/
mnt/gnu/gcc-3.3/gcc/gcc/testsuite/gcc.c-torture/execute/builtins/fprintf-lib.c
/
mnt/gnu/gcc-3.3/gcc/gcc/testsuite/gcc.c-torture/execute/builtins/lib/main.c  -w
 -O0  -fno-show-column  -lm   -o
/mnt/gnu/gcc-3.3/objdir/gcc/testsuite/fprintf.x
0(timeout = 300)
/usr/bin/ld: Unsatisfied symbols:
   fputs_unlocked (first referenced in /var/tmp//ccgYoZcc.o) (code)
collect2: ld returned 1 exit status
compiler exited with status 1
output is:
/usr/bin/ld: Unsatisfied symbols:
   fputs_unlocked (first referenced in /var/tmp//ccgYoZcc.o) (code)
collect2: ld returned 1 exit status

FAIL: gcc.c-torture/execute/builtins/fprintf.c compilation,  -O0
UNRESOLVED: gcc.c-torture/execute/builtins/fprintf.c execution,  -O0


-- 
   Summary: FAIL: gcc.c-torture/execute/builtins/fprintf.c
compilation
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa2.0w-hp-hpux11.11
  GCC host triplet: hppa2.0w-hp-hpux11.11
GCC target triplet: hppa2.0w-hp-hpux11.11


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



[Bug middle-end/25159] New: FAIL: gcc.c-torture/execute/builtins/fputs.c execution

2005-11-29 Thread danglin at gcc dot gnu dot org
At -O1, -O2 and -O3:

Executing on host: /mnt/gnu/gcc-3.3/objdir/gcc/xgcc
-B/mnt/gnu/gcc-3.3/objdir/gc
c/ /mnt/gnu/gcc-3.3/gcc/gcc/testsuite/gcc.c-torture/execute/builtins/fputs.c
/mn
t/gnu/gcc-3.3/gcc/gcc/testsuite/gcc.c-torture/execute/builtins/fputs-lib.c
/mnt/
gnu/gcc-3.3/gcc/gcc/testsuite/gcc.c-torture/execute/builtins/lib/main.c  -w 
-O1
  -fno-show-column  -lm   -o /mnt/gnu/gcc-3.3/objdir/gcc/testsuite/fputs.x1   
(
timeout = 300)
PASS: gcc.c-torture/execute/builtins/fputs.c compilation,  -O1
Setting LD_LIBRARY_PATH to
:/mnt/gnu/gcc-3.3/objdir/gcc::/mnt/gnu/gcc-3.3/objdir
/gcc

byehello world worldd
hello

hello
FAIL: gcc.c-torture/execute/builtins/fputs.c execution,  -O1


-- 
   Summary: FAIL: gcc.c-torture/execute/builtins/fputs.c execution
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa2.0w-hp-hpux11.11
  GCC host triplet: hppa2.0w-hp-hpux11.11
GCC target triplet: hppa2.0w-hp-hpux11.11


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



[Bug java/25021] Can't compile ant 1.6.5 to machine code

2005-11-29 Thread tromey at gcc dot gnu dot org


--- Comment #2 from tromey at gcc dot gnu dot org  2005-11-29 18:31 ---
In the version of ant I have (1.6.2) the class is

org.apache.tools.ant.launch.Launcher
not
org.apache.tools.ant.launcher.Launcher

So I think this is just a typo in the --main argument.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug java/18278] JNI functions cannot return a weak reference

2005-11-29 Thread tromey at gcc dot gnu dot org


--- Comment #8 from tromey at gcc dot gnu dot org  2005-11-29 18:35 ---
Subject: Bug 18278

Author: tromey
Date: Tue Nov 29 18:34:58 2005
New Revision: 107676

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=107676
Log:
gcc/java:
PR java/18278:
* expr.c (build_jni_stub): Unwrap the return value.
* java-tree.h (soft_unwrapjni_node): New define.
(enum java_tree_index): Added JTI_SOFT_UNWRAPJNI_NODE.
* decl.c (java_init_decl_processing): Initialize
soft_unwrapjni_node.
libjava:
PR java/18278:
* testsuite/libjava.jni/pr18278.out: New file.
* testsuite/libjava.jni/pr18278.c: New file.
* testsuite/libjava.jni/pr18278.java: New file.
* include/jvm.h (_Jv_UnwrapJNIweakReference): Declare.
* jni.cc (_Jv_UnwrapJNIweakReference): New function.
(call): Unwrap return value if needed.

Added:
trunk/libjava/testsuite/libjava.jni/pr18278.c
trunk/libjava/testsuite/libjava.jni/pr18278.java
trunk/libjava/testsuite/libjava.jni/pr18278.out
Modified:
trunk/gcc/java/ChangeLog
trunk/gcc/java/decl.c
trunk/gcc/java/expr.c
trunk/gcc/java/java-tree.h
trunk/libjava/ChangeLog
trunk/libjava/include/jvm.h
trunk/libjava/jni.cc


-- 


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



[Bug c++/24996] [4.0/4.1/4.2 Regression] ICE on throw code

2005-11-29 Thread janis at gcc dot gnu dot org


--- Comment #4 from janis at gcc dot gnu dot org  2005-11-29 18:36 ---
A regression hunt identified the following patch (not terribly useful):

  r81764 | dnovillo | 2004-05-13 06:41:07 + (Thu, 13 May 2004) | 3 lines

  Merge tree-ssa-20020619-branch into mainline.

Andrew, are you sure about 3.4.0 crashing for this testcase?  I tried mainline
as far back as 2003-03-08 at regular intervals and saw no failures before the
tree-ssa merge.


-- 


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



[Bug c++/24996] [4.0/4.1/4.2 Regression] ICE on throw code

2005-11-29 Thread janis at gcc dot gnu dot org


--- Comment #5 from janis at gcc dot gnu dot org  2005-11-29 18:37 ---
The question in my previous comment should have been to Volker, not Andrew.


-- 


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



[Bug libfortran/25139] "Invalid argument" error on I/O

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


--- Comment #4 from jb at gcc dot gnu dot org  2005-11-29 18:37 ---
It doesn't have anything to do with array transfers. The following test program
is equivalent to the one in #3, but uses the scalar transfer_integer instead of
transfer_array:

program test3
  integer dat(5)
  dat = (/ 1, 2, 3, 4, 5 /)
  write(11)  dat(1), dat(2), dat(3), dat(4), dat(5), &
   dat(1), dat(2), dat(3), dat(4), dat(5), &
   dat(1), dat(2), dat(3), dat(4), dat(5), &
   dat(1), dat(2), dat(3), dat(4), dat(5)
  rewind 11
  write(11) dat(1), dat(2), dat(3), dat(4), dat(5)
  read(11,end=1008) dat(1), dat(2), dat(3), dat(4), dat(5)
1008 continue
  backspace 11
  write(11)   dat(1), dat(2), dat(3), dat(4), dat(5)
  read(11,end=1011)  dat(1), dat(2), dat(3), dat(4), dat(5)
1011 continue
  backspace 11
  backspace 11
end program test3

Depending on whether the two lines after 1008 continue are commented or not, it
shows the same errors as the ones in #3.


-- 


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



[Bug c++/24996] [4.0/4.1/4.2 Regression] ICE on throw code

2005-11-29 Thread reichelt at igpm dot rwth-aachen dot de


--- Comment #6 from reichelt at igpm dot rwth-aachen dot de  2005-11-29 
18:44 ---
Subject: Re:  [4.0/4.1/4.2 Regression] ICE on throw code

On 29 Nov, janis at gcc dot gnu dot org wrote:
> Andrew, are you sure about 3.4.0 crashing for this testcase?  I tried mainline
> as far back as 2003-03-08 at regular intervals and saw no failures before the
> tree-ssa merge.

I can see the failure in 3.4.0 on i686-pc-linux-gnu and
x86_64-unknown-linux-gnu. This is a segfault, however, and
therefore probably caused a different problem.

Regards,
Volker


-- 


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



[Bug java/18278] JNI functions cannot return a weak reference

2005-11-29 Thread tromey at gcc dot gnu dot org


--- Comment #9 from tromey at gcc dot gnu dot org  2005-11-29 18:58 ---
Subject: Bug 18278

Author: tromey
Date: Tue Nov 29 18:58:23 2005
New Revision: 107677

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=107677
Log:
gcc/java:
PR java/18278:
* expr.c (build_jni_stub): Unwrap the return value.
* java-tree.h (soft_unwrapjni_node): New define.
(enum java_tree_index): Added JTI_SOFT_UNWRAPJNI_NODE.
* decl.c (java_init_decl_processing): Initialize
soft_unwrapjni_node.
libjava:
PR java/18278:
* testsuite/libjava.jni/pr18278.out: New file.
* testsuite/libjava.jni/pr18278.c: New file.
* testsuite/libjava.jni/pr18278.java: New file.
* include/jvm.h (_Jv_UnwrapJNIweakReference): Declare.
* jni.cc (_Jv_UnwrapJNIweakReference): New function.
(call): Unwrap return value if needed.

Added:
branches/gcc-4_1-branch/libjava/testsuite/libjava.jni/pr18278.c
branches/gcc-4_1-branch/libjava/testsuite/libjava.jni/pr18278.java
branches/gcc-4_1-branch/libjava/testsuite/libjava.jni/pr18278.out
Modified:
branches/gcc-4_1-branch/gcc/java/ChangeLog
branches/gcc-4_1-branch/gcc/java/decl.c
branches/gcc-4_1-branch/gcc/java/expr.c
branches/gcc-4_1-branch/gcc/java/java-tree.h
branches/gcc-4_1-branch/libjava/ChangeLog
branches/gcc-4_1-branch/libjava/include/jvm.h
branches/gcc-4_1-branch/libjava/jni.cc


-- 


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



[Bug c++/24173] [4.0/4.1/4.2 regression] ICE with garbage collection

2005-11-29 Thread reichelt at gcc dot gnu dot org


--- Comment #5 from reichelt at gcc dot gnu dot org  2005-11-29 19:03 
---
Confirmed.

Here's a reduced testcase.
Compile with "g++ --param ggc-min-expand=0 --param ggc-min-heapsize=0".


template struct Dummy;
void dummy();

namespace std
{
  template struct A;
  template struct B;

  template struct E {};

  template struct F;

  template > struct F : virtual E
  {
template friend F& operator<< (F&, const char*);
  };

  template struct G;

  template , typename = A >
struct G : F {};

  typedef F F1;
  typedef G G1;
}

namespace N
{
  template struct X;
  template struct Y {};

  typedef X X1;
  typedef X X2;

  std::F1& operator<< (std::F1&, const X1&);
  std::F1& operator<< (std::F1&, const X2&);

  template struct X
  {
static Y foo();
friend std::F1& operator<< (std::F1&, const X1&);
friend std::F1& operator<< (std::F1&, const X2&);
  };

  template Y X::foo()
  {
std::G1 g;
g <<
"012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789";
  }
}


It's a garbage collection related problem.
Took ages to cut that one down.

On i686-pc-linux-gnu and x86_64-unknown-linux-gnu the testcase crashes
the 4.1 branch and mainline (but not 4.0.x).

If I add "-m32" on x86_64-unknown-linux-gnu, the testcase crashes
4.0.x and mainline (but not the 4.1 branch).


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||reichelt at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||GC, ice-on-valid-code,
   ||monitored
   Last reconfirmed|-00-00 00:00:00 |2005-11-29 19:03:48
   date||
Summary|ICE on returning a variable |[4.0/4.1/4.2 regression] ICE
   |in a static templated member|with garbage collection
   |function|
   Target Milestone|--- |4.0.3


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



[Bug target/25160] New: ICE in print_operand if using -mfloat-gprs w/ non-854x -mcpu option

2005-11-29 Thread rmansfield at qnx dot com
void foo(double a) {}
[EMAIL PROTECTED]:~$
/archive/bt/crosstool/powerpc-linux-gnuspe/head-glibc-2.3.3/bin/powerpc-linux-gnuspe-gcc
-mfloat-gprs=double -mcpu=common ~/t.c
/home/ryan/t.c: In function 'foo':
/home/ryan/t.c:1: internal compiler error: in print_operand, at
config/rs6000/rs6000.c:10674
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html> for instructions.

[EMAIL PROTECTED]:~$
/archive/bt/crosstool/powerpc-linux-gnuspe/head-glibc-2.3.3/bin/powerpc-linux-gnuspe-gcc
-v
Using built-in specs.
Target: powerpc-linux-gnuspe
Configured with:
/archive/bt/ryan/crosstool-0.28-rc37/build/powerpc-linux-gnuspe/head-glibc-2.3.3/head/configure
--target=powerpc-linux-gnuspe --host=i686-host_pc-linux-gnu
--prefix=/archive/bt/crosstool/powerpc-linux-gnuspe/head-glibc-2.3.3
--with-local-prefix=/archive/bt/crosstool/powerpc-linux-gnuspe/head-glibc-2.3.3/powerpc-linux-gnuspe
--disable-multilib --with-newlib --without-headers --disable-nls
--enable-threads=no --enable-symvers=gnu --enable-__cxa_atexit
--enable-languages=c --disable-shared
Thread model: single
gcc version 4.2.0 20051129 (experimental)

According to the documentation, -mfloat-gprs is only available on the
MPC8540/MPC8548. So should there be a check like the following? 

Index: rs6000.c
===
--- rs6000.c(revision 107671)
+++ rs6000.c(working copy)
@@ -1789,6 +1789,8 @@

 case OPT_mfloat_gprs_:
   rs6000_explicit_options.float_gprs = true;
+  if (rs6000_cpu != PROCESSOR_PPC8540)
+ error ("unsupported architecture for -mfloat-gprs");
   if (! strcmp (arg, "yes") || ! strcmp (arg, "single"))
rs6000_float_gprs = 1;
   else if (! strcmp (arg, "double"))

Also, I have another test case which may* cause an ICE in extract_insn, at
recog.c when using -mfloat-gprs=double and -mcpu=common. Since they are caused
by the same invalid combination of switches, should I open a PR for it or will
this one suffice?

*I found the ICE on the e500 branch. The test case is in C++ so I haven't have
time to build powerpc-linux-gnuspe-g++ from the head yet.


-- 
   Summary: ICE in print_operand if using -mfloat-gprs w/ non-854x
-mcpu option
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rmansfield at qnx dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-host_pc-linux-gnu
GCC target triplet: powerpc-linux-gnuspe


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



[Bug libfortran/25116] namelist read from non-opened file

2005-11-29 Thread toon at moene dot indiv dot nluug dot nl


--- Comment #9 from toon at moene dot indiv dot nluug dot nl  2005-11-29 
19:20 ---
FX,

Your patch solved the problem for me.
AFAICS, this patch is indeed the correct fix for this problem.
Please apply it to (at least) 4.1 and trunk.
It might be appropriate for the 4.0 branch, too.


-- 


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



[Bug c++/20207] null constructor not needed in multiple inheritance

2005-11-29 Thread reichelt at gcc dot gnu dot org


--- Comment #5 from reichelt at gcc dot gnu dot org  2005-11-29 20:33 
---
This is not a bug in GCC. The code is invalid.

Let's consider the following simplified example which is just a
part of the diamond:

  A0
  |
  A
 /
B

==
struct A0
{
A0(int);
};

struct A : virtual A0
{
A() : A0(0) {}
};

struct B : virtual A
{
B() : A() {}
};
==

[12.6.2]/6 of the standard states:

  All sub-objects representing virtual base classes are initialized
  by the constructor of the most derived class. If the constructor
  of the most derived class does not specify a mem-initializer for a
  virtual base class V, then V's default constructor is called to
  initialize the virtual base class subobject. If V does not have an
  accessible default constructor, the initialization is ill-formed.
  A mem-initializer naming a virtual base class shall be ignored
  during execution of the constructor of any class that is not the
  most derived class.

The first sentence means that A *and* A0 are initialized by the
constructor of B. The second sentence says that V (which is A0 in
our case) is default constructed since B's constructor does not
specify a mem-initializer for V==A0. The next sentence says that
the example is ill-formed since V==A0 does not have an accessible
default constructor. That's why g++ gives the following diagnostic:

  bug.cc: In constructor 'B::B()':
  bug.cc:13: error: no matching function for call to 'A0::A0()'
  bug.cc:3: note: candidates are: A0::A0(int)
  bug.cc:2: note: A0::A0(const A0&)

The last sentence says that A0(0) is ignored in the constructor
of A when called by B (which makes sense, since A0 should be
constructed directly by B's constructor).


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||reichelt at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug c/25161] New: Internal compiler error (segfault) instead of error message

2005-11-29 Thread gccbug at zevv dot nl
GCC version :

  4.0.2

Complete C file :

   int a;
   char buf[(int)&a];


command line :

   gcc-4.0 -c file.c

Error message :

  t.c:3: internal compiler error: Segmentation fault
  Please submit a full bug report,
  with preprocessed source if appropriate.
  See http://gcc.gnu.org/bugs.html> for instructions.
  For Debian GNU/Linux specific bug reporting instructions,
  see .


This (Faulty) code gives normal errors with gcc-2.95 and gcc-3.2.3


-- 
   Summary: Internal compiler error (segfault) instead of error
message
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gccbug at zevv dot nl
 GCC build triplet: i486-linux-gnu
  GCC host triplet: i486-linux-gnu
GCC target triplet: i486-linux-gnu


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



[Bug c++/25156] [3.4/4.0/4.1 Regression] wrong error message (int instead of bool)

2005-11-29 Thread gdr at gcc dot gnu dot org


--- Comment #5 from gdr at gcc dot gnu dot org  2005-11-29 20:37 ---
(In reply to comment #4)

> | instead of the FUNCTION_TYPE's type which has the correct type, I might fix
> | this later tonight.
> 
> Try this

this patch is incomplete.


-- 

gdr at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||gdr at gcc dot gnu dot org


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



[Bug other/25157] [4.2 Regression] /libdecnumber/decContext.h:43:49: stdint.h: No such file or directory

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2005-11-29 20:41 ---
The patch here:
http://gcc.gnu.org/ml/gcc-patches/2005-11/msg02046.html

Should fix it (but I have no warranties).


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||bje at gcc dot gnu dot org
   Keywords||build
Summary|/libdecnumber/decContext.h:4|[4.2 Regression]
   |3:49: stdint.h: No such file|/libdecnumber/decContext.h:4
   |or directory|3:49: stdint.h: No such file
   ||or directory
   Target Milestone|--- |4.2.0


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



[Bug libstdc++/25025] Failure to build, :1:2: error: missing '(' after predicate

2005-11-29 Thread pda at freeshell dot org


--- Comment #4 from pda at freeshell dot org  2005-11-29 20:41 ---
Subject: Re:  Failure to build, :1:2: error: missing '(' after
predicate

On Sun, Nov 27, 2005 at 06:57:05PM -, danglin at gcc dot gnu dot org wrote:
> The "-Aa" option is likely the problem.  It's probably set in
> CFLAGS.  If you're using the HP tools, put the "-Aa" in your CC
> define.  There's more info in the manual on this.

No, I never put "-Aa" in CFLAGS, it's being added inside the gcc build
itself.  I tried your suggestion of adding "-Aa" to CC, but my build
fails much earlier in that case, due to not finding a definition of
"struct stat".  Do you care to know more about that?


-- 


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



[Bug middle-end/25158] FAIL: gcc.c-torture/execute/builtins/fprintf.c compilation

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2005-11-29 20:44 ---
I would assume this was caused by the patch which fixed PR 25022.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||ghazi at gcc dot gnu dot org


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



[Bug other/25157] [4.2 Regression] /libdecnumber/decContext.h:43:49: stdint.h: No such file or directory

2005-11-29 Thread andreast at gcc dot gnu dot org


--- Comment #2 from andreast at gcc dot gnu dot org  2005-11-29 20:45 
---
Compilation succeeded on sparc-solaris8 this morning, just after bje ci'ed I
had to use the same patch.


-- 


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



[Bug libgomp/25162] New: Issue with OpenMP COPYIN and gfortran

2005-11-29 Thread magnus_os at yahoo dot se
export OMP_NUM_THREADS=2

gfortran-gomp -v Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc/configure --prefix=/usr/local/gomp
--program-suffix=-gomp --enable-threads=posix --enable-languages=c,c++,fortran
Thread model: posix
gcc version 4.2.0-gomp-20050608-branch 20051126 (experimental) (merged
20051124)

It seems as if the COPYIN statement is never executed in this test-program.

  PROGRAM TEST4
C
  CALL TEST1
C
  CALL TEST2
C
  END
C
  SUBROUTINE TEST1
C
  DOUBLE PRECISION BPRIM
  COMMON /TESTCOM/ BPRIM(100)
C$OMP THREADPRIVATE(/TESTCOM/)
C
  INTEGER I
C
  DO I = 1, 100
 BPRIM( I ) = DBLE( I )
  END DO
C
  RETURN
  END
C
  SUBROUTINE TEST2
C
  DOUBLE PRECISION BPRIM
  COMMON /TESTCOM/ BPRIM(100)
C$OMP THREADPRIVATE(/TESTCOM/)
C
  INTEGER I, IDUM(50)
C
  DO I = 1, 50
 IDUM(I) = I
  END DO
C
C$OMP PARALLEL COPYIN(/TESTCOM/)
C
  CALL TEST3
C$OMP END PARALLEL
C
  RETURN
  END
C
  SUBROUTINE TEST3
C
  DOUBLE PRECISION BPRIM
  COMMON /TESTCOM/ BPRIM(100)
C$OMP THREADPRIVATE(/TESTCOM/)
C
  INTEGER K
C
  DO K = 1, 10
 PRINT *,K,BPRIM(K)
  END DO
C
  RETURN
  END

Running it produces the following results:
   1   0.00
   2   0.00
   3   0.00
   4   0.00
   5   0.00
   6   0.00
   7   0.00
   8   0.00
   9   0.00
  10   0.00
   1   1.00
   2   2.00
   3   3.00
   4   4.00
   5   5.00
   6   6.00
   7   7.00
   8   8.00
   9   9.00
  10   10.0

Running it on Intel FORTRAN 9 produces more expected results:
   1   1.00
   2   2.00
   3   3.00
   4   4.00
   5   5.00
   6   6.00
   7   7.00
   8   8.00
   9   9.00
  10   10.0
   1   1.00
   2   2.00
   3   3.00
   4   4.00
   5   5.00
   6   6.00
   7   7.00
   8   8.00
   9   9.00
  10   10.0


-- 
   Summary: Issue with OpenMP COPYIN and gfortran
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libgomp
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: magnus_os at yahoo dot se


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



[Bug c++/25163] New: [3.4 Regression] g++.dg/abi/vtt1.C failure with "-funit-at-a-time"

2005-11-29 Thread reichelt at gcc dot gnu dot org
The test g++.dg/abi/vtt1.C is failing with "-funit-at-a-time"
(or optimization "-O" or higher since this enables "-funit-at-a-time"
by default).

GCC 4.x.y doesn't seem to be affected.
Since this behaviour can be triggered with just "-O2" I rate this as
a regression (although "-funit-at-a-time" was introduced in 3.4.0).

Gaby, do you think that this is a showstopper for 3.4.5 or not?


-- 
   Summary: [3.4 Regression] g++.dg/abi/vtt1.C failure with "-funit-
at-a-time"
   Product: gcc
   Version: 3.4.5
Status: UNCONFIRMED
  Keywords: ABI
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug c++/25163] [3.4 Regression] g++.dg/abi/vtt1.C failure with "-funit-at-a-time"

2005-11-29 Thread reichelt at gcc dot gnu dot org


--- Comment #1 from reichelt at gcc dot gnu dot org  2005-11-29 20:53 
---
> The test g++.dg/abi/vtt1.C is failing with "-funit-at-a-time"
> (or optimization "-O" or higher since this enables "-funit-at-a-time"

Sorry, this should read "-O2" instead of just "-O".


-- 


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



[Bug c/25161] [4.0/4.1/4.2 Regression] Internal compiler error (segfault) instead of error message

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2005-11-29 20:57 ---
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|i486-linux-gnu  |
   GCC host triplet|i486-linux-gnu  |
 GCC target triplet|i486-linux-gnu  |
   Keywords||ice-on-invalid-code
  Known to fail|4.0.2   |4.0.2 4.1.0 4.2.0
  Known to work|2.95 3.2.3  |2.95 3.2.3 3.4.0
   Last reconfirmed|-00-00 00:00:00 |2005-11-29 20:57:05
   date||
Summary|Internal compiler error |[4.0/4.1/4.2 Regression]
   |(segfault) instead of error |Internal compiler error
   |message |(segfault) instead of error
   ||message
   Target Milestone|--- |4.0.3


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



[Bug libstdc++/25025] Failure to build, :1:2: error: missing '(' after predicate

2005-11-29 Thread pda at freeshell dot org


--- Comment #5 from pda at freeshell dot org  2005-11-29 21:03 ---
Subject: Re:  Failure to build, :1:2: error: missing '(' after
predicate

On Fri, Nov 25, 2005 at 08:27:34PM -, pinskia at gcc dot gnu dot org wrote:
> How did you configure GCC?
> >From using google it sounds like you configured GCC to use the GNU binutils 
> >but
> it is using the native toolchain instead.

Not intentionally, but only a careful reading of the documentation
reveals to me that PATH is used (non-intuitively in my view) for as
and ld even when --with-gnu-as and --with-gnu-ld are given.

Using GNU as and --with-ld=/usr/ccs/bin/ld does indeed give me the
same error, but forcing GNU ld stops the build even sooner with:
...
checking for g++ that supports -ffunction-sections -fdata-sections... yes
checking for sin in -lm... configure: error: Link tests are not
allowed after GCC_NO_EXECUTABLES.
gmake: *** [configure-target-libstdc++-v3] Error 1


-- 


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



[Bug java/18278] JNI functions cannot return a weak reference

2005-11-29 Thread tromey at gcc dot gnu dot org


--- Comment #10 from tromey at gcc dot gnu dot org  2005-11-29 21:14 ---
Fix checked in.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug middle-end/25158] FAIL: gcc.c-torture/execute/builtins/fprintf.c compilation

2005-11-29 Thread ghazi at gcc dot gnu dot org


--- Comment #2 from ghazi at gcc dot gnu dot org  2005-11-29 21:46 ---
Hmm this is convoluted, but I think I know what's going on:

We're running the builtin fprintf check.  I recently added a small sanity check
to ensure that fprintf_unlocked also works.  Now we're getting an unresolved
symbol calling fputs_unlocked.

But to ensure that these _unlocked style calls don't result in unresolved
symbols I had only added cases that should have been completely optimized away.
 E.g. fprintf_unlocked(stream, "") which should become nothing.

Now hpux defines DONT_HAVE_FPUTC_UNLOCKED, notice that's fputC_unlocked not
fputS_unlocked which is the unresolved symbol we get.  But we have this code at
the top of fold_builtin_fputs:

  /* If the return value is used, or the replacement _DECL isn't
 initialized, don't do the transformation.  */
  if (!ignore || !fn_fputc || !fn_fwrite)
return 0;

So the solution is to split these checks and move the !fn_fputc || !fn_fwrite
check later on where we actually attempt to use them.  That way the path which
eliminates zero-length strings will still be executed.

I'll put together a patch.


-- 

ghazi at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ghazi at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2005-11-29 21:46:13
   date||


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



[Bug libstdc++/25025] Failure to build, :1:2: error: missing '(' after predicate

2005-11-29 Thread dave at hiauly1 dot hia dot nrc dot ca


--- Comment #6 from dave at hiauly1 dot hia dot nrc dot ca  2005-11-29 
22:00 ---
Subject: Re:  Failure to build, :1:2: error: missing '(' after
predicate

> On Sun, Nov 27, 2005 at 06:57:05PM -, danglin at gcc dot gnu dot org 
> wrote:
> > The "-Aa" option is likely the problem.  It's probably set in
> > CFLAGS.  If you're using the HP tools, put the "-Aa" in your CC
> > define.  There's more info in the manual on this.
> 
> No, I never put "-Aa" in CFLAGS, it's being added inside the gcc build
> itself.  I tried your suggestion of adding "-Aa" to CC, but my build
> fails much earlier in that case, due to not finding a definition of
> "struct stat".  Do you care to know more about that?

Ok, this is comming from the configure test "checking for $CC option to
accept ANSI C".  This option shouldn't be used for the libstdc++ build
but obviously it is...

In order to build GCC 3.4 and later, you need an ANSI compiler.  You
also need to include the full HP-UX namespace   The  "struct stat" error
probably is a result of not providing the appropriate namespace defines
in you CC define.  -Aa provides strict ANSI.  For example, these are
the defines that I use for GCC builds prior to 4.0 under HP-UX 11.11:

-D_HPUX_SOURCE -D_XOPEN_UNIX -D_XOPEN_SOURCE_EXTENDED
-D_INCLUDE__STDC_A1_SOURCE -D_INCLUDE_XOPEN_SOURCE_500

-D_HPUX_SOURCE is the important define.  The others are needed for C++
library support (wide characters, etc).

Instead of trying to build C++ starting with an HP compiler, it's easier
to just build C and then use this compiler to rebuild GCC with the additional
languages that you want.  It's always been tricky to bootstrap GCC using
an HP compiler and its not tested much.  You should use binutils (current
CVS version is needed with GCC 4.1 and later for EH exception support).

Dave


-- 


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



[Bug java/24698] [4.1/4.2 regression] Failure locating .properties files inside jars

2005-11-29 Thread tromey at gcc dot gnu dot org


--- Comment #6 from tromey at gcc dot gnu dot org  2005-11-29 22:37 ---
I tried the included test case with current svn head.
I had to add '.' to classpath, then it worked for me:

opsy. CLASSPATH=test.jar:. gij test1
Microsoft is crap

Compiling as in comment #4 also worked fine.

I also tried with the 4.1 branch (updated and built today)
and this also worked fine.

Not sure what to do next ... does it still fail for you?
If you add . to CLASSPATH, does it work?

If that works then perhaps the crash is EH related, as I see
an exception if I leave out '.'.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug c++/24173] [4.0/4.1/4.2 regression] ICE with garbage collection

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


--- Comment #6 from pinskia at gcc dot gnu dot org  2005-11-29 23:08 ---
Shorter testcase:
template  struct F;
template  F &operator<<(F&, const char*);
template
struct F
{
  friend F& operator<< <>(F&, const char*);
};
typedef F F1;
template struct X;
typedef X X2;
F1& operator<< (F1&, const X2&);
template struct X
{
  static void foo();
  friend F1& operator<< (F1&, const X2&);
};
templatevoid X::foo()
{
  F1 g;
  g <<"";
}
-
Commenting out the following ggc_free:
  /* The NEWDECL will no longer be needed.  Because every out-of-class
 declaration of a member results in a call to duplicate_decls,
 freeing these nodes represents in a significant savings.  */
  ggc_free (newdecl);

makes the testcase to work.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug c++/25163] [3.4 Regression] g++.dg/abi/vtt1.C failure with "-funit-at-a-time"

2005-11-29 Thread gdr at integrable-solutions dot net


--- Comment #2 from gdr at integrable-solutions dot net  2005-11-29 23:20 
---
Subject: Re:   New: [3.4 Regression] g++.dg/abi/vtt1.C failure with
"-funit-at-a-time"

"reichelt at gcc dot gnu dot org" <[EMAIL PROTECTED]> writes:

| The test g++.dg/abi/vtt1.C is failing with "-funit-at-a-time"
| (or optimization "-O" or higher since this enables "-funit-at-a-time"
| by default).
| 
| GCC 4.x.y doesn't seem to be affected.
| Since this behaviour can be triggered with just "-O2" I rate this as
| a regression (although "-funit-at-a-time" was introduced in 3.4.0).
| 
| Gaby, do you think that this is a showstopper for 3.4.5 or not?

I think we shoulkd deal with that after 3.4.5; but I don't consider
it a showstopper.

-- Gaby


-- 


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



[Bug preprocessor/15772] "Permission denied" compiling glibc 2.3.3 on reiser4: EACCES fatal to #include

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


--- Comment #10 from pinskia at gcc dot gnu dot org  2005-11-29 23:23 
---
(In reply to comment #1)
> This is a duplicate of 11242 which was (incorrectly) closed.
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11242
That is because it was not reported against mingw32 but a GNU/Linux OS. 
Anyways the mingw32 issue is a different problem and should get its own bug.

The reiser4 issue is not a GCC bug but rather a bug in how things are being
returned from either the kernel (reiser4's module) or glibc.  And don't say it
should not return NOTDIR because that really does not make sense.  I should
note that even HFS+ does the correct thing for access failures when accessing
named forks.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug target/25166] New: FAIL: gcc.c-torture/execute/conversion.c compilation

2005-11-29 Thread danglin at gcc dot gnu dot org
Executing on host: /mnt/gnu/gcc-3.3/objdir/gcc/xgcc
-B/mnt/gnu/gcc-3.3/objdir/gc
c/ /mnt/gnu/gcc-3.3/gcc/gcc/testsuite/gcc.c-torture/execute/conversion.c  -w 
-O
0  -fno-show-column  -lm   -o
/mnt/gnu/gcc-3.3/objdir/gcc/testsuite/conversion.x
0(timeout = 300)
/usr/bin/ld: Unsatisfied symbols:
   __floatunsitf (first referenced in /var/tmp//ccCj8jFh.o) (code)
collect2: ld returned 1 exit status
compiler exited with status 1
output is:
/usr/bin/ld: Unsatisfied symbols:
   __floatunsitf (first referenced in /var/tmp//ccCj8jFh.o) (code)
collect2: ld returned 1 exit status

FAIL: gcc.c-torture/execute/conversion.c compilation,  -O0


-- 
   Summary: FAIL: gcc.c-torture/execute/conversion.c compilation
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa2.0w-hp-hpux11.11
  GCC host triplet: hppa2.0w-hp-hpux11.11
GCC target triplet: hppa2.0w-hp-hpux11.11


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



[Bug preprocessor/15772] Preprocessing fails if an inaccessible directory is on include path

2005-11-29 Thread ed at catmur dot co dot uk


--- Comment #11 from ed at catmur dot co dot uk  2005-11-29 23:55 ---
This is not invalid. Yes, reiser4 is broken, but so is gcc.

gcc (3.4.4, I haven't used 4.x yet) dies when it encounters an inaccessible
directory as a subdirectory of a member of the include path. See comment 6.


-- 

ed at catmur dot co dot uk changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
  Known to fail||3.4.4
 Resolution|INVALID |
Summary|"Permission denied" |Preprocessing fails if an
   |compiling glibc 2.3.3 on|inaccessible directory is on
   |reiser4: EACCES fatal to|include path
   |#include|


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



[Bug middle-end/24827] FAIL: gcc.dg/attr-weakref-1.c

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


--- Comment #7 from danglin at gcc dot gnu dot org  2005-11-29 23:55 ---
The same errors occur on hppa2.0w-hp-hpux11.11 except that ld also dumps
core:

collect2: ld terminated with signal 10 [Bus error], core dumped
/usr/bin/ld: Unsatisfied symbols:
   wf1 (first referenced in /var/tmp//ccuQuqgk.o) (data)
   wf6 (first referenced in /var/tmp//ccuQuqgk.o) (data)
   wf9 (first referenced in /var/tmp//ccuQuqgk.o) (data)
   wf10 (first referenced in /var/tmp//ccuQuqgk.o) (data)
   wf11 (first referenced in /var/tmp//ccuQuqgk.o) (data)
   wf12 (first referenced in /var/tmp//ccuQuqgk.o) (code)
   wf13 (first referenced in /var/tmp//ccuQuqgk.o) (code)
   wf14 (first referenced in /var/tmp//ccuQuqgk.o) (data)
   wv1 (first referenced in /var/tmp//ccuQuqgk.o) (data)
   wv6 (first referenced in /var/tmp//ccuQuqgk.o) (data)
   wv9 (first referenced in /var/tmp//ccuQuqgk.o) (data)
   wv10 (first referenced in /var/tmp//ccuQuqgk.o) (data)
   wv11 (first referenced in /var/tmp//ccuQuqgk.o) (data)
   wv12 (first referenced in /var/tmp//ccuQuqgk.o) (data)
   wv13 (first referenced in /var/tmp//ccuQuqgk.o) (data)
   wv14 (first referenced in /var/tmp//ccuQuqgk.o) (data)

FAIL: gcc.dg/attr-weakref-1.c (test for excess errors)


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

  GCC build triplet|hppa64-hp-hpux11.11 |hppa*-*-hpux11.11
   GCC host triplet|hppa64-hp-hpux11.11 |hppa*-*-hpux11.11
 GCC target triplet|hppa64-hp-hpux11.11 |hppa*-*-hpux11.11


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



[Bug target/25166] FAIL: gcc.c-torture/execute/conversion.c compilation

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


--- Comment #1 from danglin at gcc dot gnu dot org  2005-11-29 23:58 ---
The same error also causes the failure of
gcc.dg/torture/fp-int-convert-long-double.c:
Executing on host: /mnt/gnu/gcc-3.3/objdir/gcc/xgcc
-B/mnt/gnu/gcc-3.3/objdir/gc
c/
/mnt/gnu/gcc-3.3/gcc/gcc/testsuite/gcc.dg/torture/fp-int-convert-long-double.
c   -O0   -fno-show-column  -lm   -o ./fp-int-convert-long-double.exe   
(timeou
t = 300)
/usr/bin/ld: Unsatisfied symbols:
   __floatunsitf (first referenced in /var/tmp//ccztHixV.o) (code)
collect2: ld returned 1 exit status
compiler exited with status 1
output is:
/usr/bin/ld: Unsatisfied symbols:
   __floatunsitf (first referenced in /var/tmp//ccztHixV.o) (code)
collect2: ld returned 1 exit status

FAIL: gcc.dg/torture/fp-int-convert-long-double.c  -O0  (test for excess
errors)


-- 


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



[Bug target/25166] FAIL: gcc.c-torture/execute/conversion.c compilation

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


--- Comment #2 from danglin at gcc dot gnu dot org  2005-11-30 00:00 ---
And gcc.dg/torture/fp-int-convert-timode.c.


-- 


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



[Bug target/25166] [4.2 Regression] FAIL: gcc.c-torture/execute/conversion.c compilation

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


--- Comment #3 from pinskia at gcc dot gnu dot org  2005-11-30 00:00 ---
This is a regression.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|FAIL: gcc.c-|[4.2 Regression] FAIL:
   |torture/execute/conversion.c|gcc.c-
   |compilation |torture/execute/conversion.c
   ||compilation
   Target Milestone|--- |4.2.0


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



[Bug testsuite/25167] New: FAIL: gcc.dg/weak/weak-14.c

2005-11-29 Thread danglin at gcc dot gnu dot org
Executing on host: /mnt/gnu/gcc-3.3/objdir/gcc/xgcc
-B/mnt/gnu/gcc-3.3/objdir/gc
c/ /mnt/gnu/gcc-3.3/gcc/gcc/testsuite/gcc.dg/weak/weak-14.c   -O2 -fno-common
-f
no-show-column  -lm   -o ./weak-14.exe(timeout = 300)
/mnt/gnu/gcc-3.3/gcc/gcc/testsuite/gcc.dg/weak/weak-14.c:20: error: alias
defini
tions not supported in this configuration
/mnt/gnu/gcc-3.3/gcc/gcc/testsuite/gcc.dg/weak/weak-14.c:24: error: alias
defini
tions not supported in this configuration
compiler exited with status 1
output is:
/mnt/gnu/gcc-3.3/gcc/gcc/testsuite/gcc.dg/weak/weak-14.c:20: error: alias
defini
tions not supported in this configuration
/mnt/gnu/gcc-3.3/gcc/gcc/testsuite/gcc.dg/weak/weak-14.c:24: error: alias
defini
tions not supported in this configuration

FAIL: gcc.dg/weak/weak-14.c (test for excess errors)

This test should check whether the target supports alias definitions.

After some recent work on GAS, I believe that it's possible to support
alias definitions when using GAS.  However, the HP linker will never allow
undefined symbols in final links.


-- 
   Summary: FAIL: gcc.dg/weak/weak-14.c
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa2.0w-hp-hpux11.11
  GCC host triplet: hppa2.0w-hp-hpux11.11
GCC target triplet: hppa2.0w-hp-hpux11.11


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



[Bug target/25168] New: FAIL: g++.old-deja/g++.abi/cxa_vec.C execution test

2005-11-29 Thread danglin at gcc dot gnu dot org
Executing on host: /mnt/gnu/gcc-3.3/objdir/gcc/testsuite/../g++
-B/mnt/gnu/gcc-3
.3/objdir/gcc/testsuite/../
/mnt/gnu/gcc-3.3/gcc/gcc/testsuite/g++.old-deja/g++.
abi/cxa_vec.C  -nostdinc++
-I/mnt/gnu/gcc-3.3/objdir/hppa2.0w-hp-hpux11.11/libst
dc++-v3/include/hppa2.0w-hp-hpux11.11
-I/mnt/gnu/gcc-3.3/objdir/hppa2.0w-hp-hpux
11.11/libstdc++-v3/include -I/mnt/gnu/gcc-3.3/gcc/libstdc++-v3/libsupc++
-I/mnt/
gnu/gcc-3.3/gcc/libstdc++-v3/include/backward
-I/mnt/gnu/gcc-3.3/gcc/libstdc++-v
3/testsuite -fmessage-length=0   -ansi -pedantic-errors -Wno-long-long   
-L/mnt
/gnu/gcc-3.3/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3/src/.libs 
-L/mnt/gnu/g
cc-3.3/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3/src/.libs
-L/mnt/gnu/gcc-3.3/
objdir/hppa2.0w-hp-hpux11.11/./libiberty  -lm   -o ./cxa_vec.exe(timeout =
3
00)
PASS: g++.old-deja/g++.abi/cxa_vec.C (test for excess errors)
Setting LD_LIBRARY_PATH to
.:/mnt/gnu/gcc-3.3/objdir/hppa2.0w-hp-hpux11.11/./lib
stdc++-v3/src/.libs:/mnt/gnu/gcc-3.3/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3
/src/.libs:/mnt/gnu/gcc-3.3/objdir/gcc:.:/mnt/gnu/gcc-3.3/objdir/hppa2.0w-hp-hpu
x11.11/./libstdc++-v3/src/.libs:/mnt/gnu/gcc-3.3/objdir/hppa2.0w-hp-hpux11.11/./
libstdc++-v3/src/.libs:/mnt/gnu/gcc-3.3/objdir/gcc
test 1 failed 3
test 2 failed 3
test 4 failed 3
FAIL: g++.old-deja/g++.abi/cxa_vec.C execution test

This test fails with the new dwarf eh support.  It shouldn't fail with
sjlj exceptions.

I've looked at the failure in some detail.  The problem is this test
overloads new.  By somewhat unlucky circumstances, get_file_function_name_long
chooses the same symbol name for the fde in the cxa_vec and an object
in libstdc++.sl.  This breaks the fde search for libstdc++.

collect2_eh_frame_section calls get_file_function_name with kind, 'F'.
This isn't documented as one on the types for get_file_function_name.
Anyway, I don't think the first_global_object_name is suitable for
this type.


-- 
   Summary: FAIL: g++.old-deja/g++.abi/cxa_vec.C execution test
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa*-hp-hpux* (32-bit)
  GCC host triplet: hppa*-hp-hpux* (32-bit)
GCC target triplet: hppa*-hp-hpux* (32-bit)


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



[Bug testsuite/25167] FAIL: gcc.dg/weak/weak-14.c

2005-11-29 Thread joseph at codesourcery dot com


--- Comment #1 from joseph at codesourcery dot com  2005-11-30 00:34 ---
Subject: Re:   New: FAIL: gcc.dg/weak/weak-14.c

Isn't this just bug 24478?


-- 


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



[Bug target/25166] [4.2 Regression] FAIL: gcc.c-torture/execute/conversion.c compilation

2005-11-29 Thread joseph at codesourcery dot com


--- Comment #4 from joseph at codesourcery dot com  2005-11-30 00:35 ---
Subject: Re:   New: FAIL: gcc.c-torture/execute/conversion.c
 compilation

As explained in bug 24998, I can't test on PA at present but the fix is 
probably similar to that for IA64.


-- 


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



[Bug c/25169] New: [4.0 regression] tree checking failures in gcc.dg/20040203-1.c, cast-1.c, cast-2.c, cast-3.c

2005-11-29 Thread ghazi at gcc dot gnu dot org
On i686-unknown-linux-gnu with the 4.0.x branch, I'm getting tree checking
failures in gcc.dg/20040203-1.c, cast-1.c, cast-2.c, cast-3.c.  From the
logfile, the errors in 20040203-1.c are of this form:

20040203-1.c:17: internal compiler error: tree check: expected class
'constant', have 'unary' (nop_expr) in build_c_cast, at c-typeck.c:3330

The errors from cast-*.c are of this form:

cast-1.c:25: internal compiler error: tree check: expected class 'constant',
have 'declaration' (var_decl) in build_c_cast, at c-typeck.c:3330


It was clean as of here:
http://gcc.gnu.org/ml/gcc-testresults/2005-11/msg00301.html

It started happening here:
http://gcc.gnu.org/ml/gcc-testresults/2005-11/msg00360.html

To reproduce, configure with --enable-checking=yes,rtl then bootstrap the 4.0
branch and run the testsuite.

The 4.1 branch and mainline are all clean for some reason.


-- 
   Summary: [4.0 regression] tree checking failures in
gcc.dg/20040203-1.c, cast-1.c, cast-2.c, cast-3.c
   Product: gcc
   Version: 4.0.3
Status: UNCONFIRMED
  Keywords: ice-checking
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ghazi at gcc dot gnu dot org


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



[Bug c/25169] [4.0 regression] tree checking failures in gcc.dg/20040203-1.c, cast-1.c, cast-2.c, cast-3.c

2005-11-29 Thread ghazi at gcc dot gnu dot org


--- Comment #1 from ghazi at gcc dot gnu dot org  2005-11-30 00:44 ---
Based on the date it started failing, I'm guessing it was this patch that
triggered it:

2005-11-07  Paolo Bonzini  <[EMAIL PROTECTED]>

PR c/24599
* c-typeck.c (build_c_cast): Try using a shared constant, and see
if TREE_OVERFLOW or TREE_CONSTANT_OVERFLOW really changed.

(readonly_error): Fix formatting error.


-- 

ghazi at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||bonzini at gnu dot org


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



[Bug middle-end/25140] aliases, including weakref, break alias analysis

2005-11-29 Thread geoffk at geoffk dot org


--- Comment #5 from geoffk at geoffk dot org  2005-11-30 01:01 ---
Subject: Re:  aliases, including weakref, break alias analysis


On 29/11/2005, at 5:55 AM, aoliva at gcc dot gnu dot org wrote:

> Make it a weak alias, then.

A weak alias is still an alias and still not supported by Mach-O.


-- 


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



[Bug c/25170] New: Erroneous error message for simple macro

2005-11-29 Thread jw203198 at hotmail dot com
Here is the test code:

typedef struct
{
int ele;
} tstruct;

#define TST(r,t) r##t = 1

void test()
{
tstruct ts;

TST(ts,.ele);
}

It generates the error:

"error: pasting "ts" and "." does not give a valid preprocessing token"

In previous versions of compiler (eg gcc-3.2.2) this generated a warning and
could therefore be ignored as another piece of unhelpful compiler output.  But
now it is a error (but it isn't!) which stops compilation.


-- 
   Summary: Erroneous error message for simple macro
   Product: gcc
   Version: 4.0.1
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jw203198 at hotmail dot com


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



[Bug fortran/25171] New: FAIL: gfortran.dg/mixed_io_1.f90

2005-11-29 Thread danglin at gcc dot gnu dot org
Executing on host: /mnt/gnu/gcc-3.3/objdir/gcc/testsuite/../gfortran
-B/mnt/gnu/
gcc-3.3/objdir/gcc/testsuite/../
/mnt/gnu/gcc-3.3/gcc/gcc/testsuite/gfortran.dg/
mixed_io_1.f90   -O0   -pedantic-errors 
/mnt/gnu/gcc-3.3/gcc/gcc/testsuite/gfor
tran.dg/mixed_io_1.c 
-L/mnt/gnu/gcc-3.3/objdir/hppa2.0w-hp-hpux11.11/./libgfort
ran/.libs -L/mnt/gnu/gcc-3.3/objdir/hppa2.0w-hp-hpux11.11/./libgfortran/.libs
-L
/mnt/gnu/gcc-3.3/objdir/hppa2.0w-hp-hpux11.11/./libiberty  -lm   -o
./mixed_io_1
.exe(timeout = 300)
In file included from /mnt/gnu/gcc-3.3/objdir/gcc/include/stdio.h:47,
 from
/mnt/gnu/gcc-3.3/gcc/gcc/testsuite/gfortran.dg/mixed_io_1.
c:1:
/usr/include/sys/_mbstate_t.h:7: error: type of bit-field '__parse_size' is a
GC
C extension
/usr/include/sys/_mbstate_t.h:8: error: type of bit-field '__dummy' is a GCC
ext
ension
/usr/include/sys/_mbstate_t.h:9: error: type of bit-field '__shift_state' is a
G
CC extension
compiler exited with status 1


-- 
   Summary: FAIL: gfortran.dg/mixed_io_1.f90
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa2.0w-hp-hpux11.11
  GCC host triplet: hppa2.0w-hp-hpux11.11
GCC target triplet: hppa2.0w-hp-hpux11.11


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



[Bug fortran/25172] New: FAIL: gfortran.dg/module_equivalence_1.f90

2005-11-29 Thread danglin at gcc dot gnu dot org
Executing on host: /mnt/gnu/gcc-3.3/objdir/gcc/testsuite/../gfortran
-B/mnt/gnu/
gcc-3.3/objdir/gcc/testsuite/../
/mnt/gnu/gcc-3.3/gcc/gcc/testsuite/gfortran.dg/
module_equivalence_1.f90   -O0   -pedantic-errors 
-L/mnt/gnu/gcc-3.3/objdir/hpp
a2.0w-hp-hpux11.11/./libgfortran/.libs
-L/mnt/gnu/gcc-3.3/objdir/hppa2.0w-hp-hpu
x11.11/./libgfortran/.libs
-L/mnt/gnu/gcc-3.3/objdir/hppa2.0w-hp-hpux11.11/./lib
iberty  -lm   -o ./module_equivalence_1.exe(timeout = 300)
/var/tmp//ccoBhT9p.s: Assembler messages:
/var/tmp//ccoBhT9p.s:204: Error: symbol `test_equiv.eq.1_' is already defined
as
 "*COM*"/16
/var/tmp//ccoBhT9p.s:205: Error: symbol `test_equiv.eq.1_' is already defined
as
 "*COM*"/16
compiler exited with status 1
Executing on host: /mnt/gnu/gcc-3.3/objdir/gcc/testsuite/../gfortran
-B/mnt/gnu/
gcc-3.3/objdir/gcc/testsuite/../
/mnt/gnu/gcc-3.3/gcc/gcc/testsuite/gfortran.dg/
module_equivalence_1.f90   -O0   -pedantic-errors 
-L/mnt/gnu/gcc-3.3/objdir/hpp
a2.0w-hp-hpux11.11/./libgfortran/.libs
-L/mnt/gnu/gcc-3.3/objdir/hppa2.0w-hp-hpu
x11.11/./libgfortran/.libs
-L/mnt/gnu/gcc-3.3/objdir/hppa2.0w-hp-hpux11.11/./lib
iberty  -lm   -o ./module_equivalence_1.exe(timeout = 300)
/var/tmp//ccoBhT9p.s: Assembler messages:
/var/tmp//ccoBhT9p.s:204: Error: symbol `test_equiv.eq.1_' is already defined
as
 "*COM*"/16
/var/tmp//ccoBhT9p.s:205: Error: symbol `test_equiv.eq.1_' is already defined
as
 "*COM*"/16
compiler exited with status 1


-- 
   Summary: FAIL: gfortran.dg/module_equivalence_1.f90
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa2.0w-hp-hpux11.11
  GCC host triplet: hppa2.0w-hp-hpux11.11
GCC target triplet: hppa2.0w-hp-hpux11.11


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



[Bug c/25173] New: gcc outputs unnecessary warnings

2005-11-29 Thread jw203198 at hotmail dot com
I refer to the very frequent warnings about signed/unsigned mismatches.

Can I please say this:

What does it matter if the signedness of pointers don't match? Surely it only
*really* matters when a pointer is actually dereferenced.  That is the only
time when signedness really matters.  The rest of the time you should be able
to switch between signed/unsigned to your heart's content because it doesn't
have any effect.

Why should a compiler generate warning messages about something that is quite
irrelevant?

It is only when you actually use a signed/unsigned pointer that the signedness
has any effect!

Please exclude those warnings from the -Wall setting and only have them enabled
if explicitly requested by some fastidious programmer who has pedants in
his/her pants.


-- 
   Summary: gcc outputs unnecessary warnings
   Product: gcc
   Version: 4.0.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jw203198 at hotmail dot com


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



[Bug c/25170] Erroneous error message for simple macro

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2005-11-30 01:33 ---
This has been an error since 3.0.x.
And it is an error in your code.

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


-- 

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



[Bug preprocessor/7976] pasting xxx and xxx does not give a valid preprocessing token

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


--- Comment #19 from pinskia at gcc dot gnu dot org  2005-11-30 01:33 
---
*** Bug 25170 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jw203198 at hotmail dot com


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



[Bug c/25173] gcc outputs unnecessary warnings

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2005-11-30 01:36 ---
Because the code is really invalid C.
that is:
int *a;
unsigned int *f(void)
{
  return a;
}

Is invalid C.  We used to just output a warning with -pedantic but now the
warning is always on unless you add -Wno-pointer-sign.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug fortran/25174] New: gfortran ignores explicit return type for functions

2005-11-29 Thread albertm at uphs dot upenn dot edu
gfortran seems to ignore explicit return types of functions.

Example follows:
-bug.for
  PROGRAM BUG
  external real function Mfunc
  real*4 X,Y

  X = Xfunc()
  Y = Mfunc()
  write(6,*) X,Y
  stop
  end

  real function Xfunc()
  Xfunc = 17.232
  return 
  end

  real function Mfunc()
  Mfunc = 17.232
  return 
  end
-bug.for--
When run, this gives:
   17.23200  1.0995535E+09
STOP 0

Compilation was:
[...]/gfortran -Wall -o bug bug.for -L[...]/lib64 \
-Wl,-rpath,[...]/lib64
(Long path names replaced with [...]).

As usual, thank you very much.  The gcc collection is a wonderful
tool.

-Mike


-- 
   Summary: gfortran ignores explicit return type for functions
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: albertm at uphs dot upenn dot edu
  GCC host triplet: x86_64-unknown-linux-gnu


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



  1   2   >