Re: Miscompilation of remainder expressions

2007-01-19 Thread Richard Guenther

On 1/19/07, Joe Buck [EMAIL PROTECTED] wrote:

On Thu, Jan 18, 2007 at 05:36:23PM -0500, Robert Dewar wrote:
 Morten Welinder wrote:
 For sure a/b is undefined
 
 In C, it is.  In assembler it is perfectly well defined, i.e., it
 traps.  But how is the
 trap handler supposed to know the source of a given instruction?
 
 M.

 Sure it traps, but what happens when that trap occurs is of course
 O/S dependent, there is no guarantee of the effect.

We're going around in circles.  Everything has been said. What if we put
together a Wiki page with the problem and possible solutions, as in

a) do nothing, no big deal.  This is what happens if no one contributes
   code in any case.

b) add a flag to generate code to compute something like
divisor == -1 ? 0 : rem(dividend,divisor)
   or
divisor == rem(dividend,abs(divisor))
   in an efficient way (cmov to avoid busting the pipeline)


Note that cmov is not the right thing to use here (at least on
ia32 and x86_64) as it is more expensive than compare and jump
if not the probability of taking either way are the same (which I
would not expect here, as divisor == -1 should be nearly never
the case).

That said, a transformation on the tree level would make it possible
for VRP to optimize away the special casing.

Richard.


Controlling Register Allocation - GCC 4.1.1

2007-01-19 Thread Rohit Arul Raj

Hi all,

I am having some problem while allocating floating point registers in GCC 4.1.1.
As of now my target does not have floating point registers. To support
floating point operations,  i added 8 floating point registers that i
want the gcc to allocate only when the mode is MODE_FLOAT.

I have done the following:
1. Defined them in FIXED_REGISTERS, CALL_USED_REGISTERS.
2. Ordered them using REG_ALLOC_ORDER.
3. Created a separate class in enum reg_class (FLOAT).
4. Assigned a specific character to identify the particular class ('f').
5. Defined HARD_REGNO_MODE_OK such that if a float-register is used in
any other mode, it should return 0.

Still while emitting the insns, i get the floating point registers f0
(Reg No 16) in SI mode.

(insn/f 39 38 40 (set:SI (mem:SI (pre_dec:SI (reg/f:SI 15 a7)) [0 S4 A32])
   (reg:SI 16 f0)) 0 {movsi_push} (nil)
   (nil))

Have i missed out on anything?
Can anyone point out where i am going wrong!!

Thanking you in advance,

Regards,
Rohit


Re: Preventing warnings

2007-01-19 Thread Richard Stallman
No. This is an undocumented, unnamed, unconditional warning.

We are working on fixing those for GCC 4.3 :-)

Could you explain what that means?  What exactly is the problem that
you are talking about fixing?  What change is planned?



Good book on C? http://publications.gbdirect.co.uk/c_book/

2007-01-19 Thread Richard Stallman
http://publications.gbdirect.co.uk/c_book/ is reportedly a free
book on C -- but it is C89, more or less.

If it is well written, we could look for people to update it to modern
C.  But if it isn't well written and clear, it probably isn't worth
the trouble.

If a few of you who are familiar with other good books on C would like
to look through it enough to judge, and tell me your opinions, that
would be useful.


Re: Getting a tree node for a field of a variable

2007-01-19 Thread Ferad Zyulkyarov

Hi,


Look in tree.def.

Given the RECORD_TYPE node, walk down TYPE_FIELDS looking for the
FIELD_DECL that you want.

To assign to a field use a COMPONENT_REF.


Is it possible to write a short example how a it could be referred the
tree of variable field? Let's say that we have somewhere defined the
following source code:

--- code ---
typedef struct MyType
{
 int field1;
 int field2;
}

MyType *var;
--- code ---

What I want is to get the tree node of var-field1. For now I can
get the tree of the var declaration with the code bellow.

tree var_decl = lookup_name(get_identifier(var));

And I suppose that, having var_decl I can get a tree to the field1
field of var. Is there any function e.g. lookup_decl_field that does
it?

Ferad Zyulkyarov


Re: Preventing warnings

2007-01-19 Thread Manuel López-Ibáñez

On 19/01/07, Richard Stallman [EMAIL PROTECTED] wrote:

No. This is an undocumented, unnamed, unconditional warning.

We are working on fixing those for GCC 4.3 :-)

Could you explain what that means?  What exactly is the problem that
you are talking about fixing?  What change is planned?



Well, I don't want to create false expectations. I am doing this in my
free time and I am new to GCC development. So I am in no way
representing anyone else's views or intentions.

Nevertheless,  I (and others seem to agree) would like to name that
particular warning, so it can be enabled/disabled. Also, there is a
similar warning for unsigned = 0 and unsigned  0 in -Wextra. There
are bug reports about the inconsistency (http://gcc.gnu.org/PR23587).
So, it would be nice to unify them, give them a name and properly
document the new option.

That is just part of a proposal to update the documentation of Wextra,
and name (or group under existing options) the few unnamed warnings
enabled by Wextra. The idea is that Wextra would be a super-option,
like Wall, that is, it just enables other warnings but it doesn't
produce warning messages by itself. The discussion is still going on
because we don't want to have many new options, we don't want to group
under the same option unrelated warnings, we want sensible names, we
want to keep current behaviour, etc. Gabriel Dos Reis in particular is
investing a lot of time reviewing patches to achieve this.

In addition, there have been already several bugs fixed about
duplicated warning messages, missing overflow warnings for binary
operators in C++, and a few more I don't remember right now. Also, Ian
Lance Taylor has fixed some warning options to work in C++ as they do
for C.

Finally, there is a proposal by Chris Pickett to update the
documentation about warning options to make easier to lookup a
particular warning option, understand the relations between the
different options and which options are enabled by default (and fix
any documentation bugs that may be found while doing this).

Cheers,

Manuel.


Re: Controlling Register Allocation - GCC 4.1.1

2007-01-19 Thread Ian Lance Taylor
Rohit Arul Raj [EMAIL PROTECTED] writes:

 I am having some problem while allocating floating point registers in GCC 
 4.1.1.
 As of now my target does not have floating point registers. To support
 floating point operations,  i added 8 floating point registers that i
 want the gcc to allocate only when the mode is MODE_FLOAT.

I wish I could change my targets by simply changing the compiler.

 I have done the following:
 1. Defined them in FIXED_REGISTERS, CALL_USED_REGISTERS.
 2. Ordered them using REG_ALLOC_ORDER.
 3. Created a separate class in enum reg_class (FLOAT).
 4. Assigned a specific character to identify the particular class ('f').
 5. Defined HARD_REGNO_MODE_OK such that if a float-register is used in
 any other mode, it should return 0.
 
 Still while emitting the insns, i get the floating point registers f0
 (Reg No 16) in SI mode.
 
 (insn/f 39 38 40 (set:SI (mem:SI (pre_dec:SI (reg/f:SI 15 a7)) [0 S4 A32])
 (reg:SI 16 f0)) 0 {movsi_push} (nil)
 (nil))
 
 Have i missed out on anything?

I think you want HARD_REGNO_MODE_OK.

Ian


Re: Controlling Register Allocation - GCC 4.1.1

2007-01-19 Thread Ian Lance Taylor
Ian Lance Taylor [EMAIL PROTECTED] writes:

  I have done the following:
  1. Defined them in FIXED_REGISTERS, CALL_USED_REGISTERS.
  2. Ordered them using REG_ALLOC_ORDER.
  3. Created a separate class in enum reg_class (FLOAT).
  4. Assigned a specific character to identify the particular class ('f').
  5. Defined HARD_REGNO_MODE_OK such that if a float-register is used in
  any other mode, it should return 0.
  
  Still while emitting the insns, i get the floating point registers f0
  (Reg No 16) in SI mode.
  
  (insn/f 39 38 40 (set:SI (mem:SI (pre_dec:SI (reg/f:SI 15 a7)) [0 S4 A32])
  (reg:SI 16 f0)) 0 {movsi_push} (nil)
  (nil))
  
  Have i missed out on anything?
 
 I think you want HARD_REGNO_MODE_OK.

Whoops, sorry, I see that you did use HARD_REGNO_MODE_OK.

Do you have a movsf insn?

Ian


Re: Good book on C? http://publications.gbdirect.co.uk/c_book/

2007-01-19 Thread James Dennett
Richard Stallman wrote:
 http://publications.gbdirect.co.uk/c_book/ is reportedly a free
 book on C -- but it is C89, more or less.
 
 If it is well written, we could look for people to update it to modern
 C.  But if it isn't well written and clear, it probably isn't worth
 the trouble.
 
 If a few of you who are familiar with other good books on C would like
 to look through it enough to judge, and tell me your opinions, that
 would be useful.

5 minutes of looking through it revealed no factual
errors and a fairly readable style.  In contrast,
the vast majority of books on C (or C++) that I pick
up in bookstores have technical errors on the first
page I glance at, so I'd say the signs are hopeful
that this book is a valuable starting point.

-- James





Re: Getting a tree node for a field of a variable

2007-01-19 Thread Mike Stump

On Jan 19, 2007, at 3:42 AM, Ferad Zyulkyarov wrote:

Is it possible to write a short example how a it could be referred the
tree of variable field?


Sure, just compile up the C code for what you want to do, run the  
debugger, watch what it builds and how it builds it.  If you want to  
know what it looks like in the end, just print the built tree.   
However, if you have a complex language like C++, accessing a field  
can be, well, kinda different.  You cannot employ the same techniques  
that you learn from C to C++.





[wwwdocs] PATCH for Re: http://gcc.gnu.org/svnwrite.html points to non-existing source http://gcc.gnu.org/ml/gcc-SVN/

2007-01-19 Thread Gerald Pfeifer
On Wed, 17 Jan 2007, Ben Elliston wrote:
  I found out that page http://gcc.gnu.org/svnwrite.html points to
 http://gcc.gnu.org/ml/gcc-SVN/ mailing list but it doesn't exist. It's
 in section Write access policies above Free for all subsection.
 It seems that correct list is http://gcc.gnu.org/ml/gcc-cvs/.
 Nicely spotted.  I think someone got overzealous with search and
 replace.  :-)

Fixed thusly.  Now I just wonder whether I did not see this with my
semi-regular link check runs, but there were so many to fix that I
might have missed this one...

Gerald

Index: svnwrite.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/svnwrite.html,v
retrieving revision 1.14
diff -u -3 -p -r1.14 svnwrite.html
--- svnwrite.html   7 Jan 2007 00:12:34 -   1.14
+++ svnwrite.html   19 Jan 2007 21:02:36 -
@@ -134,7 +134,7 @@ in the MAINTAINERS file in the GCC distr
 pWhen you have checked in a patch exactly as it has been approved,
 you do not need to tell that to people -- including the approver.
 People interested in when a particular patch is committed can check
-SVN or the a href=http://gcc.gnu.org/ml/gcc-SVN/;gcc-SVN/a
+SVN or the a href=http://gcc.gnu.org/ml/gcc-cvs/;gcc-cvs/a
 list./p
 
 h3Free for all/h3


gcc-4.3-20070119 is now available

2007-01-19 Thread gccadmin
Snapshot gcc-4.3-20070119 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/4.3-20070119/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 4.3 SVN branch
with the following options: svn://gcc.gnu.org/svn/gcc/trunk revision 120979

You'll find:

gcc-4.3-20070119.tar.bz2  Complete GCC (includes all of below)

gcc-core-4.3-20070119.tar.bz2 C front end and core compiler

gcc-ada-4.3-20070119.tar.bz2  Ada front end and runtime

gcc-fortran-4.3-20070119.tar.bz2  Fortran front end and runtime

gcc-g++-4.3-20070119.tar.bz2  C++ front end and runtime

gcc-java-4.3-20070119.tar.bz2 Java front end and runtime

gcc-objc-4.3-20070119.tar.bz2 Objective-C front end and runtime

gcc-testsuite-4.3-20070119.tar.bz2The GCC testsuite

Diffs from 4.3-20070112 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-4.3
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.


trying to fix a bug in m6812 front-end

2007-01-19 Thread Sean D'Epagnier
I am using gcc 3.3.5 with the latest m68hc1x patches to compile programs for a
9s12 processor, and cc1 calls abort when compiling the following code:

void func()
{
  short a, *b;
  a = *b;
}

The rtl for the instructions dump as follows:

- (insn 9 6 10 (nil) (set (reg:HI 53)
- (mem/f:HI (reg/f:HI 49 virtual-stack-vars) [0 a+0 S2 A16])) -1 (nil)
- (nil))
- 
- (insn 10 9 11 (nil) (set (reg:HI 54)
- (and:HI (reg:HI 53)
- (mem:HI (mem/f:HI (plus:HI (reg/f:HI 49 virtual-stack-vars)
- (const_int 2 [0x2])) [0 b+0 S2 A16]) [0 S2 A8]))) -1 
(nil)
- (nil))
- 
- (insn 11 10 12 (nil) (set (mem/f:HI (reg/f:HI 49 virtual-stack-vars) [0 a+0 
S2 A16])
- (reg:HI 54)) -1 (nil)
- (nil))


If I modify the '=' to '|=' instead, the code compiles fine with the following 
rtl:

- (insn 9 6 10 (nil) (set (reg:HI 53)
- (mem/f:HI (reg/f:HI 49 virtual-stack-vars) [0 a+0 S2 A16])) -1 (nil)
- (nil))
- 
- (insn 10 9 11 (nil) (set (reg:HI 54)
- (mem:HI (mem/f:HI (plus:HI (reg/f:HI 49 virtual-stack-vars)
- (const_int 2 [0x2])) [0 b+0 S2 A16]) [0 S2 A8])) -1 (nil)
- (nil))
- 
- (insn 11 10 12 (nil) (set (reg:HI 55)
- (ior:HI (reg:HI 53)
- (reg:HI 54))) -1 (nil)
- (nil))
- 
- (insn 12 11 13 (nil) (set (mem/f:HI (reg/f:HI 49 virtual-stack-vars) [0 a+0 
S2 A16])
- (reg:HI 55)) -1 (nil)
- (nil))
 

It looks like somewhere before generating rtl in the second case, it split the 
instruction
as this architecture cannot handle the second instruction in the first case. 
xor behaves
similarly to or and works as well.

I am trying to find out what part of gcc to look in so I can make the change so 
that the and
instruction is handled the same way.

Any hints are much appreciated.

--
Sean D'Epagnier



Re: Running GCC tests on installed compiler

2007-01-19 Thread Gerald Pfeifer
On Sun, 14 Jan 2007, Dominique Dhumieres wrote:
 So please use contrib/test_installed
 This script seems quite outdated: it tests g77 and not gfortran, even with 
 the latest 4.3.0 snapshot (20070112).  As I was primarily interested in 
 the gfortran tests, I replaced g77 by gfortran everywhere (keeping the 
 different capitalizations) and it worked.  The script also ignores java 
 tests.

Would you mind submitting this as a patch?  I do not know whether you
have a copyright assignment on file, but perhaps it is simply enough
that we can take it even without one.

 I looked again to the manual (http://gcc.gnu.org/install/test.html) and 
 did not find this script documented anywhere.  Am I missing something or 
 is this a place where the manual can be improved?  

The latter, I believe.  Do you think you could provide a patch against
gcc/doc/install.texi? ;-)  I'll be happy to work with you on this if
contributing to GCC is an option for you.

Gerald


Re: trying to fix a bug in m6812 front-end

2007-01-19 Thread Ian Lance Taylor
Sean D'Epagnier [EMAIL PROTECTED] writes:

 - (insn 10 9 11 (nil) (set (reg:HI 54)
 - (and:HI (reg:HI 53)
 - (mem:HI (mem/f:HI (plus:HI (reg/f:HI 49 virtual-stack-vars)
 - (const_int 2 [0x2])) [0 b+0 S2 A16]) [0 S2 A8]))) 
 -1 (nil)
 - (nil))

 I am trying to find out what part of gcc to look in so I can make the change 
 so that the and
 instruction is handled the same way.

Look at the andhi3 insns in the CPU.md file.  You may need to change
the constraints there, or rework the insn somehow.

Ian


innovative new build failure

2007-01-19 Thread Mike Stump

Here is an innovative new build failure, as seen on i686-apple-darwin9:

../../gcc/gcc/expmed.c:4179: warning: signed and unsigned type in  
conditional expression

make[3]: *** [expmed.o] Error 1
make[2]: *** [all-stage2-gcc] Error 2


Re: innovative new build failure

2007-01-19 Thread Ian Lance Taylor
Mike Stump [EMAIL PROTECTED] writes:

 Here is an innovative new build failure, as seen on i686-apple-darwin9:
 
 ../../gcc/gcc/expmed.c:4179: warning: signed and unsigned type in
 conditional expression
 make[3]: *** [expmed.o] Error 1
 make[2]: *** [all-stage2-gcc] Error 2

Yikes, my fault.  I wonder why it didn't fail for me?

Ian


Re: innovative new build failure

2007-01-19 Thread Mike Stump

On Jan 19, 2007, at 8:46 PM, Ian Lance Taylor wrote:

Yikes, my fault.  I wonder why it didn't fail for me?


Trivially, you've not updated your tree...  See, you did an rm -rf of  
the build tree after -Werrror was broken on Jan 4th and built, but  
you didn't update to pick up the fix for that breakage in r120947,  
and yet, you checked in r120995.  r120947  r120995.  :-)


Top-level:

2007-01-18  Mike Stump  [EMAIL PROTECTED]

* configure.in: Re-enable -Werror for gcc builds.

fixed it.


Re: innovative new build failure

2007-01-19 Thread Andrew Pinski
 
 Mike Stump [EMAIL PROTECTED] writes:
 
  Here is an innovative new build failure, as seen on i686-apple-darwin9:
  
  ../../gcc/gcc/expmed.c:4179: warning: signed and unsigned type in
  conditional expression
  make[3]: *** [expmed.o] Error 1
  make[2]: *** [all-stage2-gcc] Error 2
 
 Yikes, my fault.  I wonder why it didn't fail for me?

Because -Werror during bootstrap was just fixed, most likely right before you 
applied your patch.

-- Pinski


[Bug gcov-profile/30258] [4.1.0] undefined reference to `__gcov_one_value_profiler'

2007-01-19 Thread marion dot deveaud at siemens dot com


--- Comment #2 from marion dot deveaud at siemens dot com  2007-01-19 10:38 
---
I finally found out that the inhibit_libc flag was set during the gcc
compilation because I'm building a cross-compiler without sysroot and headers.
As a consequence _gcov_* functions aren't defined in libgcov.


-- 


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



[Bug libobjc/30445] Fix for FIXME in gcc-4_2-branch/libobjc/Makefile.in

2007-01-19 Thread rob1weld at aol dot com


--- Comment #2 from rob1weld at aol dot com  2007-01-19 12:48 ---
Thank you for your assistance. I've looked into this and found the new names.
If someone wished to either fix or delete (hopefully not) the libobjc.dll
support I'd consider this resolved (for me) and this complaint could be closed.

This is the suggestion I came up with.


Files gcc-4_2-branch/libobjc/hash.c and gcc-4_2-branch/libobjc/objc/hash.h
define: objc_hash_new(), objc_hash_delete(), objc_hash_add(),
objc_hash_remove(), objc_hash_next(), objc_hash_value_for_key(), and
objc_hash_is_key_in_hash() .

The file gcc-4_2-branch/libobjc/libobjc.def defines both the 4.1.1 versions
(which do not exist) and the 4.2.0 versions (same name as 4.1.1 version with
objc_ prepended) of these functions.

Running the make as described above creates the file (depending on your build
directory and target name)
/gcc-4_2-branch-build/i686-pc-cygwin/libobjc/libobjc.exp which contains the
4.1.1 and 4.2.0. named functions.


One of the authors mentions not having a Windows system to test the above on -
I hope I have helped.


Based on the above it is my suggestion to fix this bug by doing the following:

1) delete all 4.1.1 references of the function names from
gcc-4_2-branch/libobjc/libobjc.def .

2) Make the above changes to the makefile AND, in addition, delete or rename
the file /gcc-4_2-branch-build/i686-pc-cygwin/libobjc/libobjc.a (Please Note: I
do NOT say to delete or rename
/gcc-4_2-branch-build/i686-pc-cygwin/libobjc/.libs/libobjc.a , only the copy).

   It is neccesary to copy (and not move) libobjc.a from the .libs directory
because the makefile (as it was written) uses the file for input and eventually
overwrites it as the output - but the file size is different from the input.
For the rest of gcc's makefiles and tests to operate the .a file should be in
the .libs directory.

3) Consider creating .dll (and .dll.a) files in addition to the .a file
for _every_ library. I am using --enable-shared --enable-static when running
configure but I don't get any .so or .dll files. The configure script
rejects --enable-shared for Cygwin. I need to look into that more before
filing a report on that. Both the sources for Mplayer-1.0rc1 and ffmpeg are GPL
and show great examples of using .dll files under Cygwin - in the event
someone needs somes code to refer to.


-- 


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



[Bug c++/30509] New: ice for legal code with -O3

2007-01-19 Thread dcb314 at hotmail dot com
I just tried to compile Suse Linux package hydrogen-0.9.3-41
with the GNU C++ compiler version 4.3 snapshot 20070112.

The compiler said

src/lib/Object.cpp:306: internal compiler error: in calc_dfs_tree, at
dominance.c:374
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.

Preprocessed source code attached. Flag -O3 required.


-- 
   Summary: ice for legal code with -O3
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dcb314 at hotmail dot com
  GCC host triplet: x86_64-suse-linux


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



[Bug c++/30509] ice for legal code with -O3

2007-01-19 Thread dcb314 at hotmail dot com


--- Comment #1 from dcb314 at hotmail dot com  2007-01-19 13:54 ---
Created an attachment (id=12923)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12923action=view)
C++ source code


-- 


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



[Bug middle-end/30447] Evaluate complex math functions at compile-time

2007-01-19 Thread ghazi at gcc dot gnu dot org


--- Comment #5 from ghazi at gcc dot gnu dot org  2007-01-19 14:45 ---
Patch for __complex__ builtins infrastructure and csin posted here:
http://gcc.gnu.org/ml/gcc-patches/2007-01/msg01610.html


-- 


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



[Bug target/26792] [4.2 Regression] need to use autoconf when using newly-added libgcc functions

2007-01-19 Thread aph at gcc dot gnu dot org


--- Comment #29 from aph at gcc dot gnu dot org  2007-01-19 15:25 ---
Subject: Bug 26792

Author: aph
Date: Fri Jan 19 15:25:34 2007
New Revision: 120968

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=120968
Log:
2006-07-21  Steve Ellcey  [EMAIL PROTECTED]

PR target/26792
* unwind_ipinfo.m4: New.


Added:
branches/redhat/gcc-4_1-branch-java-merge-20070117/config/unwind_ipinfo.m4
  - copied unchanged from r115653, trunk/config/unwind_ipinfo.m4
Modified:
branches/redhat/gcc-4_1-branch-java-merge-20070117/config/ChangeLog


-- 


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



[Bug c++/17947] bad warning with implicit conversion and __attribute__((deprecated))

2007-01-19 Thread manu at gcc dot gnu dot org


--- Comment #4 from manu at gcc dot gnu dot org  2007-01-19 16:05 ---
Subject: Bug 17947

Author: manu
Date: Fri Jan 19 16:04:57 2007
New Revision: 120969

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=120969
Log:
2007-01-19  Manuel Lopez-Ibanez  [EMAIL PROTECTED]

PR c++/17947
* toplev.c (warn_deprecated_use): Use %qD instead of %qs to
print the name of the declared identifier.

testsuite/
* g++.dg/warn/deprecated.C: Update warning output.
* g++.dg/warn/deprecated-2.C: Likewise.
* g++.dg/warn/deprecated-3.C: New.

Added:
trunk/gcc/testsuite/g++.dg/warn/deprecated-3.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/warn/deprecated-2.C
trunk/gcc/testsuite/g++.dg/warn/deprecated.C
trunk/gcc/toplev.c


-- 


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



[Bug c++/17947] bad warning with implicit conversion and __attribute__((deprecated))

2007-01-19 Thread manu at gcc dot gnu dot org


--- Comment #5 from manu at gcc dot gnu dot org  2007-01-19 16:10 ---
Fixed for GCC 4.3.


-- 

manu at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug bootstrap/30510] New: Gcc failed to bootstrap

2007-01-19 Thread hjl at lucon dot org
cc1: warnings being treated as errors
/export/gnu/src/gcc/gcc/gcc/cp/parser.c: In function
#226;cp_parser_type_specifier#226;:
/export/gnu/src/gcc/gcc/gcc/cp/parser.c:13206: warning: #226;bases#226; may
be used uninitialized in this function
/export/gnu/src/gcc/gcc/gcc/cp/parser.c:13206: note: #226;bases#226; was
declared here


-- 
   Summary: Gcc failed to bootstrap
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl at lucon dot org


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



[Bug bootstrap/30511] New: False array bound check causes gcc failed to boostrap

2007-01-19 Thread hjl at lucon dot org
With revision 120976, I got

cc1: warnings being treated as errors
/export/gnu/src/gcc/gcc/gcc/fortran/symbol.c: In function ‘gfc_get_namespace’:
/export/gnu/src/gcc/gcc/gcc/fortran/symbol.c:1842: warning: array subscript is
above array bounds

There are

1838   /* Initialize default implicit types.  */
1839   for (i = 'a'; i = 'z'; i++)
1840 {
1841   ns-set_flag[i - 'a'] = 0;
1842   ts = ns-default_type[i - 'a'];
bash-3.1$ grep default_type *.h
gfortran.h:  gfc_typespec default_type[GFC_LETTERS];
...
bash-3.1$ grep GFC_LETTERS *.h
gfortran.h:#define GFC_LETTERS 26   /* Number of letters in the
alphabet.  */

I don't how array subscript can be above array bounds.


-- 
   Summary: False array bound check causes gcc failed to boostrap
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl at lucon dot org


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



addresses for 3 Objective-C maintainers no longer work

2007-01-19 Thread Omari Stephens
I received errors when trying to send mail to [EMAIL PROTECTED], [EMAIL 
PROTECTED], and [EMAIL PROTECTED], all of whom are listed in MAINTAINERS for 
the Objective-C frontend as of r120973.

This is the Postfix program at host smtp1.cup.hp.com.
...
[EMAIL PROTECTED] (expanded from [EMAIL PROTECTED]):
[rgv01.rgv.hp.com]: Name or service not known

As well as the following from apple's mailserver:

The original message was received at Fri, 19 Jan 2007 10:44:46 -0800 (PST)
from mail-in6.apple.com [17.254.13.9]

   - The following addresses had permanent fatal errors -
[EMAIL PROTECTED]
(reason: 550 5.1.1 unknown or illegal alias: [EMAIL PROTECTED])
[EMAIL PROTECTED]
(reason: 550 5.1.1 unknown or illegal alias: [EMAIL PROTECTED])

   - Transcript of session follows -
... while talking to hemlock.apple.com.:
  DATA
 550 5.1.1 unknown or illegal alias: [EMAIL PROTECTED]
550 5.1.1 [EMAIL PROTECTED]... User unknown
 550 5.1.1 unknown or illegal alias: [EMAIL PROTECTED]
550 5.1.1 [EMAIL PROTECTED]... User unknown

--xsdg





signature.asc
Description: OpenPGP digital signature


[Bug target/30497] compiling binutils 2.17 on aix fails with gcc 4.1.1

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|major   |normal


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



[Bug bootstrap/30511] False array bound check causes gcc failed to boostrap

2007-01-19 Thread mueller at gcc dot gnu dot org


--- Comment #1 from mueller at gcc dot gnu dot org  2007-01-19 20:04 ---
this patch fixes / works around it. I don't like it yet, I'm trying to find a
better solution. 

--- tree-vrp.c  (revision 120953)
+++ tree-vrp.c  (working copy)
@@ -3583,6 +3583,25 @@ check_array_bounds (tree *tp, int *walk_
*walk_subtree = FALSE;
return NULL_TREE;
  }
+
+   /* Don't warn if the result ssa_name is used in another
+ binary expr.  */
+   if (TREE_CODE ((tree)data) == GIMPLE_MODIFY_STMT
+GIMPLE_STMT_OPERAND ((tree)data, 0)
+TREE_CODE (GIMPLE_STMT_OPERAND ((tree)data, 0)) == SSA_NAME)
+ {
+  imm_use_iterator iter;
+  tree lhs = GIMPLE_STMT_OPERAND ((tree)data, 0);
+  tree use;
+
+  FOR_EACH_IMM_USE_STMT (use, iter, lhs)
+if (TREE_CODE (use) == GIMPLE_MODIFY_STMT
+ BINARY_CLASS_P (GIMPLE_STMT_OPERAND (use, 1)))
+  *walk_subtree = FALSE;
+
+  if (*walk_subtree == FALSE)
+return NULL_TREE;
+ }
while (handled_component_p (t))
  {
if (TREE_CODE (t) == ARRAY_REF)


-- 

mueller at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-01-19 20:04:36
   date||


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



[Bug bootstrap/30511] False array bound check causes gcc failed to boostrap

2007-01-19 Thread roger at eyesopen dot com


--- Comment #2 from roger at eyesopen dot com  2007-01-19 20:55 ---

It looks like the ivopts pass is creating dubious? array references.
The symbol.c.053t.vrp1

  D.12252_12 = (long unsigned int) i_2;
  D.12255_15 = ns_4-default_type[D.12252_12];
  ts_16 = D.12255_15 + -2328B;

i.e. we now have ns-default_type[i] - ns-default_type['a'].
I wouldn't like to offer an opinion on whether this IV is valid in the
middle-end.  The transformation is certainly unsafe in C, where a pointer
arithmetic is not guaranteed to be valid outside of the declared object.

I think the appropriate fix is that if ivopts is going to create these
suspicious array refs, it should appropriately set TREE_NO_WARNING, which
will then cause the reference to be ignored by the bounds checking in VRP.

Alternatively, we need more context in array bounds checking such that
x['a'] is not a problem, but x['a'] on it's own is diagnosed.  i.e. we
could perhaps keep an in_indirect_ref_p flag during the tree walking.

I hope this helps.


-- 


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



[Bug fortran/30389] ACHAR() intrinsic gives erroneous errors in constant-folding.

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


--- Comment #3 from tkoenig at gcc dot gnu dot org  2007-01-19 21:35 ---
In order to fix this, we should know what we would prefer :-)

Constant folding maps a lot of characters (all ASCII
characters  127, and a lot of control characters) to zero.
In the rest of the library, we treat the A* functions identically
to the non-ASCII versions. For example, we encode

  subroutine comp(a, b, t)
  implicit none
  logical t
  character(*) a, b
  t = lle(a,b)
  end

as

comp (a, b, t, _a, _b)
{
  bit_size_type D.994;
  unnamed type D.995;
  bit_size_type D.996;
  unnamed type D.997;

  D.994 = (bit_size_type) (unnamed type) _a * 8;
  D.995 = (unnamed type) _a;
  D.996 = (bit_size_type) (unnamed type) _b * 8;
  D.997 = (unnamed type) _b;
  *t = _gfortran_compare_string (_a, a, _b, b) = 0;
}

We also encode

  program main
  integer i
  character(1) c
  i = 154
  c = achar(i)
  end

as
  i = 154;
  {
char char.0;

char.0 = (char) i;
c[1]{lb: 1 sz: 1} = char.0;
  }

So, we could either

a) fix constant folding to ignore the ascii_table and xascii_table

b) fix the library and runtime conversion to honor the ascii_table.

a) is perfectly fine, as long as we document it.  I'd vote for it.

Comments?


-- 


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



[Bug bootstrap/30511] False array bound check causes gcc failed to boostrap

2007-01-19 Thread mrs at apple dot com


--- Comment #3 from mrs at apple dot com  2007-01-19 22:02 ---
Testcase from delta, compile with:

$ ./xgcc -B./  t.c -O2 -S -Wall
t.c: In function 'gfc_get_namespace':
t.c:10: warning: array subscript is above array bounds


typedef struct { int kind; } gfc_typespec;
typedef struct gfc_namespace { gfc_typespec default_type[26]; } gfc_namespace;
void gfc_get_namespace ()
{
  gfc_namespace *ns=0;
  gfc_typespec *ts =0;
  int i;
  for (i = 'a'; i = 'z'; i++)
{
  ts = ns-default_type[i - 'a'];
  ts-kind = 0;
}
}


-- 


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



[Bug bootstrap/30511] False array bound check causes gcc failed to boostrap

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


--- Comment #4 from pinskia at gcc dot gnu dot org  2007-01-19 22:05 ---
(In reply to comment #3)
 Testcase from delta, compile with:
Hmm, in the non reduced testcase, is default_type last?  Since in the reduced
testcase, default_type is last, it seems like we should not warn about that
case even if the bounds does go over anyways.


-- 


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



[Bug bootstrap/30511] False array bound check causes gcc failed to boostrap

2007-01-19 Thread mueller at gcc dot gnu dot org


--- Comment #5 from mueller at gcc dot gnu dot org  2007-01-19 22:15 ---
the ivopts problem is a duplicate of bug 26726.


-- 


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



[Bug c++/30504] Error when linking. Trying to create a library

2007-01-19 Thread dams_napp at hotmail dot com


--- Comment #2 from dams_napp at hotmail dot com  2007-01-19 22:16 ---
Subject: RE:  Error when linking. Trying to create a library

Is there a better way to do that then, I do want to create a static library.

Take Care,
Dams

From: pinskia at gcc dot gnu dot org [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: [Bug c++/30504] Error when linking. Trying to create a library
Date: 18 Jan 2007 22:12:38 -

--- Comment #1 from pinskia at gcc dot gnu dot org  2007-01-18 22:12 
---
How are you creating a library with -static?
The command line you posted looks more like you are linking in all of libc,
libgcc, libstdc++ which all seems wrong.


--


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

--- You are receiving this mail because: ---
You reported the bug, or are watching the reporter.

_
Do women make better employees? Join the debate 
http://msnspecials.in/debate/topicdetails.aspx?TID=64


-- 


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



[Bug c++/30504] Error when linking. Trying to create a library

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


--- Comment #3 from pinskia at gcc dot gnu dot org  2007-01-19 22:18 ---
 Is there a better way to do that then, I do want to create a static library.
You should use ar to create a static library.

I think we can declare this issue as invalid as you are using the wrong options
for a shared library and ar is for creating a static library.


-- 

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



[Bug debug/29558] [4.2/4.3 Regression] ICE in set_variable_part, at var-tracking.c:2140

2007-01-19 Thread bergner at gcc dot gnu dot org


--- Comment #5 from bergner at gcc dot gnu dot org  2007-01-19 22:30 ---
The src we seem to be having problems with is:

temp[0] |= bit;

After local-alloc, we have the following RTL:

(insn 143 28 29 6 pr29558.c:7 (set (reg:QI 142)
(const_int -128 [0xff80])) 327 {*movqi_internal} (nil)
(expr_list:REG_EQUIV (const_int -128 [0xff80])
(nil)))

(insn 29 143 30 6 pr29558.c:7 (set (reg:SI 144)
(ior:SI (subreg:SI (reg:QI 143 [ temp ]) 0)
(subreg:SI (reg:QI 142) 0))) 137 {*boolsi3_internal1}
(insn_list:REG_DEP_TRUE 27 (insn_list:REG_DEP_TRUE 28 (nil)))
(expr_list:REG_DEAD (reg:QI 143 [ temp ])
(expr_list:REG_DEAD (reg:QI 142)
(nil

(insn 30 29 138 6 pr29558.c:7 (set (mem/s/j:QI (plus:DI (reg/f:DI 113 sfp)
(const_int 48 [0x30])) [0 temp+0 S1 A128])
(subreg:QI (reg:SI 144) 3)) 327 {*movqi_internal}
(insn_list:REG_DEP_TRUE 29 (nil))
(expr_list:REG_DEAD (reg:SI 144)
(nil)))

Which looks ok, but then after global-alloc/reload, we end up with:

(insn 143 28 29 6 pr29558.c:7 (set (reg:QI 9 9 [142])
(const_int -128 [0xff80])) 327 {*movqi_internal} (nil)
(expr_list:REG_EQUIV (const_int -128 [0xff80])
(nil)))

(insn 29 143 30 6 pr29558.c:7 (set (reg:SI 0 0 [144])
(ior:SI (reg:SI 0 0 [orig:143 temp+-3 ] [143])
(reg:SI 9 9 [orig:142+-3 ] [142]))) 137 {*boolsi3_internal1}
(insn_list:REG_DEP_TRUE 27 (insn_list:REG_DEP_TRUE 28 
(nil)))
(nil))

(insn 30 29 138 6 pr29558.c:7 (set (mem/s/j:QI (plus:DI (reg/f:DI 1 1)
(const_int -16 [0xfff0])) [0 temp+0 S1 A128])
(reg:QI 0 0 [orig:144+3 ] [144])) 327 {*movqi_internal}
(insn_list:REG_DEP_TRUE 29 (nil))
(nil))

I'm not sure why yet, but it seems the -3 offset in reg:SI 0 0 [orig:143
temp+-3 ] [143]) is causing problems in the var tracking code, such that
find_variable_location_part() always returns -1 (ie, failure) which puts us
into the code we ICE in.


-- 


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



[Bug debug/29558] [4.2/4.3 Regression] ICE in set_variable_part, at var-tracking.c:2140

2007-01-19 Thread bergner at gcc dot gnu dot org


--- Comment #6 from bergner at gcc dot gnu dot org  2007-01-19 22:32 ---
I should mention, I'm using current mainline on powerpc64-linux using -g -O
-m64.


-- 


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



[Bug fortran/30321] program crash for SUM applied to zero-size array

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


--- Comment #7 from tkoenig at gcc dot gnu dot org  2007-01-19 22:38 ---
Fixed on trunk and 4.2.  Closing.


-- 

tkoenig at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug bootstrap/29889] jc1 segfaults while bootstrap

2007-01-19 Thread tromey at gcc dot gnu dot org


--- Comment #1 from tromey at gcc dot gnu dot org  2007-01-19 22:51 ---
This is an odd stack trace... it is hard to see how that code
could fail this way.

Perhaps building gcj without -O would help; I notice some other
oddities in the stack trace.

Also the date here is from before the big gcj-eclipse merge.
So, maybe things are different now.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tromey at gcc dot gnu dot
   ||org


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



[Bug bootstrap/29482] libcpp/configure - no usable dependency style found

2007-01-19 Thread tromey at gcc dot gnu dot org


--- Comment #4 from tromey at gcc dot gnu dot org  2007-01-19 22:57 ---
 checking dependency style of gcc... none

This is a weird message (from comment #2 and comment #3).
It suggests to me that something else is going on -- something
unrelated to the original bug filed in this PR.  For this
perhaps you could look in config.log to see what has gone wrong.

As to the original PR -- I think fixes to depcomp should be
handled upstream, in Automake.

Also, libcpp should be changed to accept --disable-dependency-tracking,
so that odd cases like this can be more easily worked around.  Some
users just want to do a single build and do not really need dependencies.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tromey at gcc dot gnu dot
   ||org


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



[Bug java/30035] libjava cannot be built when objdir != srcdir

2007-01-19 Thread tromey at gcc dot gnu dot org


--- Comment #3 from tromey at gcc dot gnu dot org  2007-01-19 22:59 ---
Is this still a bug?
I always build GCC with a separate objdir, and I don't see this problem.
Furthermore my 4.1 tree has a copy of config.{guess,sub} in libjava/libltdl.
I believe these are used by the libltdl build.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tromey at gcc dot gnu dot
   ||org


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



[Bug bootstrap/30510] Gcc failed to bootstrap

2007-01-19 Thread andreast at gcc dot gnu dot org


--- Comment #1 from andreast at gcc dot gnu dot org  2007-01-19 23:07 
---
This works here:
Index: parser.c
===
--- parser.c(revision 120949)
+++ parser.c(working copy)
@@ -13203,7 +13203,7 @@
   bool saved_in_function_body;
   tree old_scope = NULL_TREE;
   tree scope = NULL_TREE;
-  tree bases;
+  tree bases = NULL_TREE;

   push_deferring_access_checks (dk_no_deferred);



-- 


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



Found Error in link-script for R8C

2007-01-19 Thread Olaf Kaluza

Hello to everyone,

I found an Error with gcc-4.1.1 and binutils-2.17 when using it for
crosscompiling source for Renesas R8C Microcontroller. (m32c-elf)

In the file r8c.ld you can find this line:

 RESETVEC (r) : ORIGIN = 0xfffc, LENGTH = 4

But this is wrong. The Resetvektor for  R8C is only 16Bit and not
32bit. When you write 32Bit value to 0xfffc it writes a 0x00 in
Adress 0x, but this is the Register OFS. 
After this the watchdog is switched on and the controller is only
working for short time.

If you try this, please understand that it is not enought to reset
the controller by the reset button on your testboard. 
Only after power-off-power-on the controller use the new OFS byte.

Olaf

p.s: I am not subscribed to this list. For question please email me.




Re: Found Error in link-script for R8C

2007-01-19 Thread DJ Delorie

 Hello to everyone,

Wrong list.  The R8C link scripts are part of newlib (libgloss), not
gcc.

  RESETVEC (r) : ORIGIN = 0xfffc, LENGTH = 4
 
 But this is wrong. The Resetvektor for  R8C is only 16Bit and not
 32bit.

The REJ09B0169-0100 page 61 shows the reset vector as being 0FFFCh to
0h.  Addresses in R8C are 20 bits, not 16, and are normally
stored in a 3 or 4 byte location.  The R8C/2D, for example, is
available with 96K of flash.

 When you write 32Bit value to 0xfffc it writes a 0x00 in Adress
 0x, but this is the Register OFS.  After this the watchdog is
 switched on and the controller is only working for short time.

My flash utility has a command line option for whether the watchdog
should be set or disabled.  It overrides this byte before programming.

Note that all the vectors in the interrupt and reset vector tables are
essentially three byte values, with the top byte used for other
purposes.

Hmmm... I thought there was a .3byte pseudo-op just for this case, but
I see now that there isn't.  With it, you could do this:

.section .resetvec
.3byte _start
.byte 0xff

If you know your start address is in the first 64k, you can do this:

.section .resetvec
.short  _start
.byte   0
.byte   0xff


[Bug fortran/30512] New: MAXVAL() incorrect for zero-size int arrays, and for -HUGE-1 maximum values.

2007-01-19 Thread brooks at gcc dot gnu dot org
Consider the following program:

debian-gfortran:~/test cat maxval.f90
integer(1) :: i(3)
logical :: msk(3)

i = -huge(i)
i = i - 1
write(*,*) i
write(*,*) maxval(i)

msk = .false.
i = 1
write(*,*) i
write(*,*) -huge(i), maxval(i, msk)
end

In both of these cases, the result of the MAXVAL call should be -huge(i)-1. 
(For the latter case, see the standard on the definition of the intrinsic,
which says that the result is the negative number with the largest magnitude
possible within the representation).  However, the actual result is this:

debian-gfortran:~/test ../bin-trunk/bin/gfortran maxval.f90 -o maxval
debian-gfortran:~/test ./maxval
 -128 -128 -128
 -127
111
 -127 -127

This error holds for larger integer kinds, as well.

The error seems to stem from the libgfortran implementation, in which the
initial search value is initialized as -GFC_INTEGER_n_HUGE, where it should
be one less than that.


-- 
   Summary: MAXVAL() incorrect for zero-size int arrays, and for -
HUGE-1 maximum values.
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: brooks at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug bootstrap/30510] Gcc failed to bootstrap

2007-01-19 Thread hjl at lucon dot org


--- Comment #2 from hjl at lucon dot org  2007-01-20 00:24 ---
I also got

/export/gnu/src/gcc/gcc/gcc/fortran/resolve.c: In function ‘gfc_resolve_expr’:
/export/gnu/src/gcc/gcc/gcc/fortran/resolve.c:1541: warning: ‘name’ may be used
uninitialized in this function
/export/gnu/src/gcc/gcc/gcc/fortran/resolve.c:1541: note: ‘name’ was declared
here


-- 


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



[Bug middle-end/29335] transcendental functions with constant arguments should be resolved at compile-time

2007-01-19 Thread ghazi at gcc dot gnu dot org


--- Comment #38 from ghazi at gcc dot gnu dot org  2007-01-20 00:33 ---
Subject: Bug 29335

Author: ghazi
Date: Sat Jan 20 00:33:00 2007
New Revision: 120993

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=120993
Log:
PR middle-end/29335
* builtins.c (fold_builtin_1): Handle builtin fdim.

testsuite:
* gcc.dg/torture/builtin-math-3.c: Test fdim.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/builtins.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/torture/builtin-math-3.c


-- 


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



[Bug libgcj/30513] New: Bootstrap failure with libgcj on sparc-sun-solaris2.10

2007-01-19 Thread ghazi at gcc dot gnu dot org
Current mainline bootstrap fails with the following error when building
libjava.  I haven't built mainline for about two weeks so I don't know when it
started failing exactly.

/caip/u12/kishgcc/tmpdisk/gcc-testing/43/build/./gcc/xgcc -shared-libgcc
-B/caip/u12/kishgcc/tmpdisk/gcc-testing/43/build/./gcc -nostdinc++
-L/caip/u12/kishgcc/tmpdisk/gcc-testing/43/build/sparc-sun-solaris2.10/sparcv9/libstdc++-v3/src
-L/caip/u12/kishgcc/tmpdisk/gcc-testing/43/build/sparc-sun-solaris2.10/sparcv9/libstdc++-v3/src/.libs
-B/usr/local/sparc-sun-solaris2.10/bin/ -B/usr/local/sparc-sun-solaris2.10/lib/
-isystem /usr/local/sparc-sun-solaris2.10/include -isystem
/usr/local/sparc-sun-solaris2.10/sys-include -m64 -DHAVE_CONFIG_H -I.
-I../../../../egcc-SVN20070118/libjava -I./include -I./gcj
-I../../../../egcc-SVN20070118/libjava -Iinclude
-I../../../../egcc-SVN20070118/libjava/include
-I../../../../egcc-SVN20070118/libjava/classpath/include -Iclasspath/include
-I../../../../egcc-SVN20070118/libjava/classpath/native/fdlibm
-I../../../../egcc-SVN20070118/libjava/../boehm-gc/include
-I../boehm-gc/include -I../../../../egcc-SVN20070118/libjava/libltdl
-I../../../../egcc-SVN20070118/libjava/libltdl
-I../../../../egcc-SVN20070118/libjava/.././libjava/../gcc
-I../../../../egcc-SVN20070118/libjava/../zlib
-I../../../../egcc-SVN20070118/libjava/../libffi/include -I../libffi/include
-fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum
-D_FILE_OFFSET_BITS=64 -Wextra -Wall -D_GNU_SOURCE -DPREFIX=\/usr/local\
-DTOOLEXECLIBDIR=\/usr/local/lib/sparcv9\ -DJAVA_HOME=\/usr/local\
-DBOOT_CLASS_PATH=\/usr/local/share/java/libgcj-4.3.0.jar\
-DJAVA_EXT_DIRS=\/usr/local/share/java/ext\
-DGCJ_ENDORSED_DIRS=\/usr/local/share/java/gcj-endorsed\
-DGCJ_VERSIONED_LIBDIR=\/usr/local/lib/sparcv9/gcj-4.3.0\
-DPATH_SEPARATOR=\:\
-DLIBGCJ_DEFAULT_DATABASE=\/usr/local/lib/sparcv9/gcj-4.3.0/classmap.db\
-DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL=\gcj-4.3.0/classmap.db\ -g -O2 -m64 -MT
jni-libjvm.lo -MD -MP -MF .deps/jni-libjvm.Tpo -c
../../../../egcc-SVN20070118/libjava/jni-libjvm.cc  -fPIC -DPIC -o
.libs/jni-libjvm.o
In file included from ./include/java-threads.h:22,
 from ../../../../egcc-SVN20070118/libjava/include/jvm.h:23,
 from ../../../../egcc-SVN20070118/libjava/jni-libjvm.cc:14:
./sysdep/locks.h:11:2: error: #error Thread synchronization primitives not
implemented for this platform.
In file included from ../../../../egcc-SVN20070118/libjava/include/jvm.h:35,
 from ../../../../egcc-SVN20070118/libjava/jni-libjvm.cc:14:
./sysdep/locks.h:11:2: error: #error Thread synchronization primitives not
implemented for this platform.
In file included from ../../../../egcc-SVN20070118/libjava/include/jvm.h:23,
 from ../../../../egcc-SVN20070118/libjava/jni-libjvm.cc:14:
./include/java-threads.h:358: error: 'obj_addr_t' does not name a type
In file included from ../../../../egcc-SVN20070118/libjava/jni-libjvm.cc:14:
../../../../egcc-SVN20070118/libjava/include/jvm.h:750: error: 'obj_addr_t'
does not name a type
make[5]: *** [jni-libjvm.lo] Error 1
make[5]: Leaving directory
`/caip/u12/kishgcc/gcc-testing/gcc-testing/43/build/sparc-sun-solaris2.10/sparcv9/libjava'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory
`/caip/u12/kishgcc/gcc-testing/gcc-testing/43/build/sparc-sun-solaris2.10/sparcv9/libjava'
make[3]: *** [multi-do] Error 1
make[3]: Leaving directory
`/caip/u12/kishgcc/gcc-testing/gcc-testing/43/build/sparc-sun-solaris2.10/libjava'
make[2]: *** [all-multi] Error 2
make[2]: Leaving directory
`/caip/u12/kishgcc/gcc-testing/gcc-testing/43/build/sparc-sun-solaris2.10/libjava'
make[1]: *** [all-target-libjava] Error 2
make[1]: Leaving directory `/caip/u12/kishgcc/gcc-testing/gcc-testing/43/build'
make: *** [bootstrap] Error 2


-- 
   Summary: Bootstrap failure with libgcj on sparc-sun-solaris2.10
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: build
  Severity: critical
  Priority: P3
 Component: libgcj
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ghazi at gcc dot gnu dot org
GCC target triplet: sparc-sun-solaris2.10


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



[Bug libgcj/30513] Bootstrap failure with libgcj on sparc-sun-solaris2.10

2007-01-19 Thread tromey at gcc dot gnu dot org


--- Comment #1 from tromey at gcc dot gnu dot org  2007-01-20 01:22 ---
It looks as though your build is choosing sysdep/generic as the
sysdep dir.  But, that is wrong, it should be choosing sparc.
I'll attach a patch; if you could try it that would be great.
Most likely, this patch will just help the build fail later; I think
you may need read_barrier and write_barrier implementations as well.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-01-20 01:22:11
   date||


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



[Bug libgcj/30513] Bootstrap failure with libgcj on sparc-sun-solaris2.10

2007-01-19 Thread tromey at gcc dot gnu dot org


--- Comment #2 from tromey at gcc dot gnu dot org  2007-01-20 01:24 ---
Well, bugzilla would not let me make an attachment.
So, here it is inline.

Index: configure.host
===
--- configure.host  (revision 120900)
+++ configure.host  (working copy)
@@ -159,6 +159,7 @@
enable_hash_synchronization_default=yes
;;
   sparc*-*)
+   sysdeps_dir=sparc
libgcj_interpreter=yes
 ;;
   ia64-*)


-- 


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



[Bug libgcj/30513] [4.3 Regression] Bootstrap failure with libgcj on sparc-sun-solaris2.10

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


--- Comment #3 from pinskia at gcc dot gnu dot org  2007-01-20 01:30 ---
I remember Andreas T. mentioned this before.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|Bootstrap failure with  |[4.3 Regression] Bootstrap
   |libgcj on sparc-sun-|failure with libgcj on
   |solaris2.10 |sparc-sun-solaris2.10
   Target Milestone|--- |4.3.0


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



[Bug preprocessor/30468] [4.0/4.1/4.2/4.3 Regression] -M not fully chops dirname

2007-01-19 Thread tromey at gcc dot gnu dot org


--- Comment #2 from tromey at gcc dot gnu dot org  2007-01-20 04:23 ---
I'm testing a patch.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |tromey at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-01-15 02:34:25 |2007-01-20 04:23:53
   date||


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



[Bug driver/12448] -MT / -MQ don't behave as documented.

2007-01-19 Thread tromey at gcc dot gnu dot org


--- Comment #8 from tromey at gcc dot gnu dot org  2007-01-20 06:19 ---
The patch in this PR looks correct to me.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tromey at gcc dot gnu dot
   ||org


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



[Bug driver/30246] -ggdb3 does not cause -dD to be passed to cc1 for preprocessing

2007-01-19 Thread tromey at gcc dot gnu dot org


--- Comment #4 from tromey at gcc dot gnu dot org  2007-01-20 06:23 ---
I'm testing a patch to add -dD when -ggdb3 is passed.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |tromey at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-01-07 00:49:47 |2007-01-20 06:23:33
   date||


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