Re: abs insn with QI and HI mode

2007-07-10 Thread Ying Yi

Hi Jim,

Thanks very much for your email. Will gcc add the optimization support  
in the future (method 1)? For method 2, if abs accept short/char, may  
I give the function names as sabs and qabs? Gcc does already have cabs  
as complex abs, doesn't it?


Best regards

Maggie

Quoting Jim Wilson [EMAIL PROTECTED]:


Ying Yi wrote:
The generated codes do the following operations: 1) extend variable  
 a_HI (HImode) to temp variable SImode, and do abs operation with   
SImode operators. I find the gimple intermedia represention as   
shown below:


abs is a standard library function that takes an int as an argument.
So if you call abs(), then gcc must convert the argument to type int
before generating code for the abs.

To get your special char/short abs instructions, we need one of two things
1) Optimization support to recognize a sign-extend followed by an abs,
where the target has an abs instruction that operates on the
pre-extended value.  We can then optimize away the sign extend
instruction.  This optimization support apparently does not exist at
the moment, perhaps because no one has needed it before.
2)  Alternative abs function calls that accept short/char.  We already
have abs (int), labs (long), llabs(long long), fabs (double), fabsf
(float) and fabsl (long double).
--
Jim Wilson, GNU Tools Support, http://www.specifix.com






Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-07-10 Thread Rob1weld
In a message dated 7/9/2007 2:37:03 P.M. Pacific Daylight Time,  
[EMAIL PROTECTED] writes:
On 7/9/07, [EMAIL PROTECTED]  [EMAIL PROTECTED] wrote:
 In a message dated 7/7/2007  4:04:01 A.M.  Pacific Daylight Time, Rob1weld
  writes:
 This page  http://deputy.cs.berkeley.edu/ has a  link to this document
 http://hal.cs.berkeley.edu/cil/
  which describes a means to obtain  three-address code here
  http://hal.cs.berkeley.edu/cil/ext.html#toc24 .

  2007/7/08, Diego Novillo [EMAIL PROTECTED]
  (mailto:[EMAIL PROTECTED]) :
 Any  specific  reasons why we should?  Better memory savings?  Faster
  processing?  It's not clear from your message what the   advantages 
would
 be (ignoring the fact that their  implementation  language is completely
  different).


You haven't explained what advantages CIL's IR has over  GIMPLE.
I thought it was well explained on page: 
_http://hal.cs.berkeley.edu/cil/cil001.html_ 
(http://hal.cs.berkeley.edu/cil/cil001.html)  
 
Please look at this page:
_http://www.cs.nyu.edu/leunga/www/MLRISC/Doc/html/mlrisc-ir.html_ 
(http://www.cs.nyu.edu/leunga/www/MLRISC/Doc/html/mlrisc-ir.html) 


If you choose to run CIL _locally_ (not add it to GCC, but _only_ run it on  
your computer) 
then you can program in Deputy. The Deputy language is very much like C  
but uses 
a few additional annotations which allow program checking when it is  
compiled. 
 
Deputy converts it's C to 'regular-C' which is processed by GCC. The  
result is (obviously) 
executable. A simple SED script can remove the annotations and leave  you 
with 'regular-C' 
which can then be released as part of GCC (or you can release 'Deputy-C'  
with GCC and 
include the SED script which would process the file and produce the source  
for stage 1.
 
Doing that buys you a better quality of code tested by CIL (and GCC)  which 
is more likely 
to be correct since it is checked twice. It costs you having to learn a  
few Deputy annotations.
 
When you have the CIL source to look at you can read the source  and see if 
it helps you
with GIMPLE that you are re-writing. You don't need to include CIL with GCC  
4.3 (but you 
could since you don't need to learn Ocaml to compile it).
 
The result will be better coding that looks no different and compiles  
without any modification 
to the current way of building GCC. The second link (above) may help you  
more.


 I can't tell, but you may be under the impression GIMPLE is  something
 in the future. It is not.
 Our IR is already GIMPLE,  and a three address code simplified form of
 C. We are simply talking  about changing the underlying datastructures
 that store it.

Yes, I know GCC uses GIMPLE.
 

Hint: CIL's IR is almost exactly GIMPLE with alpha renaming over  multiple 
units.
--Dan
 
It is your project to write the way you want. You RFC letter said  
Thoughts/comments on the 
proposal?. My reply is that this 
page:_http://www.cs.nyu.edu/leunga/www/MLRISC/Doc/html/mlrisc-ir.html_ 
(http://www.cs.nyu.edu/leunga/www/MLRISC/Doc/html/mlrisc-ir.html) 
and this site: _http://www.cs.nyu.edu/leunga/www/MLRISC/Doc/html/INTRO.html_ 
(http://www.cs.nyu.edu/leunga/www/MLRISC/Doc/html/INTRO.html)  provide  a
better explanation of IR issues. You might also wish to read 
_http://deputy.cs.berkeley.edu/_ (http://deputy.cs.berkeley.edu/)  or
this one _http://www.cminusminus.org/_ (http://www.cminusminus.org/)  or 
_http://www.nabble.com/Gnu---Lightning-f1717.html_ 
(http://www.nabble.com/Gnu---Lightning-f1717.html)  or
... 
 
Best of luck with your project, I hope it brings a _huge_ advance to  GCC.
Rob
 



   


Crossbuild problem x86_64-pc-mingw32 related to crtbegin crtend

2007-07-10 Thread Kai Tietz
Hi,

I tried to build the cross-compiler for the target x86_64-pc-mingw32 and 
noticed some trouble about the crtbegin and crtend for this target. To the 
specfile this object was introduced by the patch of Danny Smith from the 
14th of Jine 2007. The problem is, that those objects are not compiled and 
they seems to be not even build for i?86 AFAICS.
May somebody can help me for this problem. Is it ok to simply remove the 
crt*.o from spec file for this target, or should these files be builded 
for it ? 

Thanks in advance and cheers,
 i.A. Kai Tietz

|  (\_/)  This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| ()_() world domination.

--
  OneVision Software Entwicklungs GmbH  Co. KG
  Dr.-Leo-Ritter-Straße 9 - 93049 Regensburg
  Tel: +49.(0)941.78004.0 - Fax: +49.(0)941.78004.489 - www.OneVision.com
  Commerzbank Regensburg - BLZ 750 400 62 - Konto 6011050
  Handelsregister: HRA 6744, Amtsgericht Regensburg
  Komplementärin: OneVision Software Entwicklungs Verwaltungs GmbH
  Dr.-Leo-Ritter-Straße 9 – 93049 Regensburg
  Handelsregister: HRB 8932, Amtsgericht Regensburg - Geschäftsführer: 
Ulrike Döhler, Manuela Kluger


RE: Crossbuild problem x86_64-pc-mingw32 related to crtbegin crtend

2007-07-10 Thread Dave Korn
On 10 July 2007 12:19, Kai Tietz wrote:

 Hi,
 
 I tried to build the cross-compiler for the target x86_64-pc-mingw32 and
 noticed some trouble about the crtbegin and crtend for this target. To the
 specfile this object was introduced by the patch of Danny Smith from the
 14th of Jine 2007. The problem is, that those objects are not compiled and
 they seems to be not even build for i?86 AFAICS.
 May somebody can help me for this problem. Is it ok to simply remove the
 crt*.o from spec file for this target, or should these files be builded
 for it ?

  Are you trying to rebuild in an old objdir from before the patch?  I found 
that something didn't work as I had hoped in the dependencies and I had to blow 
away my existing build dir and configure from fresh.


cheers,
  DaveK
-- 
Can't think of a witty .sigline today



RE: Crossbuild problem x86_64-pc-mingw32 related to crtbegin crtend

2007-07-10 Thread Danny Smith

Kai Tietz
Tuesday, 10 July 2007 11:19 p.m.
 
 Hi,
 
 I tried to build the cross-compiler for the target 
 x86_64-pc-mingw32 and 
 noticed some trouble about the crtbegin and crtend for this 
 target. To the 
 specfile this object was introduced by the patch of Danny 
 Smith from the 
 14th of Jine 2007. The problem is, that those objects are not 
 compiled and 
 they seems to be not even build for i?86 AFAICS.

The builds are specified in libgcc/config.host for i?86 mingw and cygwin.
What happens if you do the same for x86_64-*-mingw*?

 May somebody can help me for this problem. Is it ok to simply 
 remove the 
 crt*.o from spec file for this target, or should these files 
 be builded 
 for it ? 
 

How else can you initialize and clean up the Dwarf2 unwind registrations on 
x86_64-pc-mingw32?

Danny



RE: Crossbuild problem x86_64-pc-mingw32 related to crtbegin crtend

2007-07-10 Thread Kai Tietz
Dave Korn wrote on 10.07.2007 13:24:30:

 On 10 July 2007 12:19, Kai Tietz wrote:
 
   Are you trying to rebuild in an old objdir from before the patch? 
 I found that something didn't work as I had hoped in the 
 dependencies and I had to blow away my existing build dir and 
 configure from fresh.

Nope, I used a fresh gcc trunk repository for this.

Cheers,
 i.A. Kai Tietz

|  (\_/)  This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| ()_() world domination.

--
  OneVision Software Entwicklungs GmbH  Co. KG
  Dr.-Leo-Ritter-Straße 9 - 93049 Regensburg
  Tel: +49.(0)941.78004.0 - Fax: +49.(0)941.78004.489 - www.OneVision.com
  Commerzbank Regensburg - BLZ 750 400 62 - Konto 6011050
  Handelsregister: HRA 6744, Amtsgericht Regensburg
  Komplementärin: OneVision Software Entwicklungs Verwaltungs GmbH
  Dr.-Leo-Ritter-Straße 9 – 93049 Regensburg
  Handelsregister: HRB 8932, Amtsgericht Regensburg - Geschäftsführer: 
Ulrike Döhler, Manuela Kluger




RE: Crossbuild problem x86_64-pc-mingw32 related to crtbegin crtend

2007-07-10 Thread Dave Korn
On 10 July 2007 12:38, Kai Tietz wrote:

 Dave Korn wrote on 10.07.2007 13:24:30:
 
 On 10 July 2007 12:19, Kai Tietz wrote:
 
   Are you trying to rebuild in an old objdir from before the patch?
 I found that something didn't work as I had hoped in the
 dependencies and I had to blow away my existing build dir and
 configure from fresh.
 
 Nope, I used a fresh gcc trunk repository for this.

  I would have to infer from that that you build in $srcdir

  Better show us your configure line then.  What host type is this cross for?


cheers,
  DaveK
-- 
Can't think of a witty .sigline today



RE: Crossbuild problem x86_64-pc-mingw32 related to crtbegin crtend

2007-07-10 Thread Kai Tietz
Hi Danny,

 How else can you initialize and clean up the Dwarf2 unwind 
 registrations on x86_64-pc-mingw32?

Clear ;) But I meant, why those objects are not build for this target in 
(lib)gcc ?

Cheers,
 i.A. Kai Tietz

|  (\_/)  This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| ()_() world domination.

--
  OneVision Software Entwicklungs GmbH  Co. KG
  Dr.-Leo-Ritter-Straße 9 - 93049 Regensburg
  Tel: +49.(0)941.78004.0 - Fax: +49.(0)941.78004.489 - www.OneVision.com
  Commerzbank Regensburg - BLZ 750 400 62 - Konto 6011050
  Handelsregister: HRA 6744, Amtsgericht Regensburg
  Komplementärin: OneVision Software Entwicklungs Verwaltungs GmbH
  Dr.-Leo-Ritter-Straße 9 – 93049 Regensburg
  Handelsregister: HRB 8932, Amtsgericht Regensburg - Geschäftsführer: 
Ulrike Döhler, Manuela Kluger



Re: abs insn with QI and HI mode

2007-07-10 Thread Richard Kenner
 Will gcc add the optimization support in the future (method 1)? 

Since GCC is a volunteer project, the answer for any sort of question
like that is if somebody writes it, it'll exist and if they don't, it
won't.  There's no good way to predict what projects people will find
interesting.


Re: AMD64 ABI compatibility

2007-07-10 Thread Jan Hubicka
 On 09 July 2007 20:48, Nicolas Alt wrote:
 
  Hi!
  
  On the AMD64 / x86-64Bit architecture, some arguments of a functions
  are passed using registers, but there seem to be two different
  conventions out there. The standard ABI uses 6 registers, but
  Microsoft compilers use only 4. Because of that, code compiled with
  gcc cannot call code compiled with a MS compiler without an ugly
  wrapper.
  
  Have there been any efforts to make gcc do function calls the MS way?
  I guess this would be an important feature for mingw on AMD64.
 
 
   Does -mregparm=4 do what you want?  

Windows and GCC ABIs are on x86-64 more different than that (they was
historically developed in parallel). GCC 4.3 will support attribute for
this calling convention contributed by Kai Tiez and Richard Henderson,
but before that there is not much to do...

Honza
 
 
 cheers,
   DaveK
 -- 
 Can't think of a witty .sigline today


Re: AMD64 ABI compatibility

2007-07-10 Thread Kai Tietz
  On 09 July 2007 20:48, Nicolas Alt wrote:
  
   Hi!
   
   On the AMD64 / x86-64Bit architecture, some arguments of a functions
   are passed using registers, but there seem to be two different
   conventions out there. The standard ABI uses 6 registers, but
   Microsoft compilers use only 4. Because of that, code compiled with
   gcc cannot call code compiled with a MS compiler without an ugly
   wrapper.
   
   Have there been any efforts to make gcc do function calls the MS 
way?
   I guess this would be an important feature for mingw on AMD64.
  
  
Does -mregparm=4 do what you want? 
 
 Windows and GCC ABIs are on x86-64 more different than that (they was
 historically developed in parallel). GCC 4.3 will support attribute for
 this calling convention contributed by Kai Tiez and Richard Henderson,
 but before that there is not much to do...
Note: My name is Kai Tietz ;) not Tiez

I think, it isn't to hard introducing this attributes to the AMD64 abi's. 
What names should we use for it? I suggest x86_64_ms and x86_64_linux. 
Is this ok for you.

Cheers,
 i.A. Kai Tietz

|  (\_/)  This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| ()_() world domination.

--
  OneVision Software Entwicklungs GmbH  Co. KG
  Dr.-Leo-Ritter-Straße 9 - 93049 Regensburg
  Tel: +49.(0)941.78004.0 - Fax: +49.(0)941.78004.489 - www.OneVision.com
  Commerzbank Regensburg - BLZ 750 400 62 - Konto 6011050
  Handelsregister: HRA 6744, Amtsgericht Regensburg
  Komplementärin: OneVision Software Entwicklungs Verwaltungs GmbH
  Dr.-Leo-Ritter-Straße 9 – 93049 Regensburg
  Handelsregister: HRB 8932, Amtsgericht Regensburg - Geschäftsführer: 
Ulrike Döhler, Manuela Kluger



Re: AMD64 ABI compatibility

2007-07-10 Thread Jan Hubicka
  Windows and GCC ABIs are on x86-64 more different than that (they was
  historically developed in parallel). GCC 4.3 will support attribute for
  this calling convention contributed by Kai Tiez and Richard Henderson,
  but before that there is not much to do...
 Note: My name is Kai Tietz ;) not Tiez
 
 I think, it isn't to hard introducing this attributes to the AMD64 abi's. 
 What names should we use for it? I suggest x86_64_ms and x86_64_linux. 

For code bridging MS and GNU codebases (such as wine, or lets say, GNU
runtime in windows if it ends up with non-MS calling convetions).
Then you want to use the attributes to call code from foreign world.

x86_64_linux is probably not very exact - we intended the ABI to be
generally useful for non-linux or non-GNU system (i.e. specified as
System V Application Binary Interface AMD64 Architecture Processor
Supplement with GCC as reference implementation).  I believe Sparc and
other unixes are more or less following it too.

For MS I would probably suggest ms_abi (it makes it cleaner that the
attribute is affecting calling convetion). For our abi I am not sure, we
can sysv_abi or something else...

Sorry for the typo in your name!
Honza
 Is this ok for you.
 
 Cheers,
  i.A. Kai Tietz
 
 |  (\_/)  This is Bunny. Copy and paste Bunny
 | (='.'=) into your signature to help him gain
 | ()_() world domination.
 
 --
   OneVision Software Entwicklungs GmbH  Co. KG
   Dr.-Leo-Ritter-Straße 9 - 93049 Regensburg
   Tel: +49.(0)941.78004.0 - Fax: +49.(0)941.78004.489 - www.OneVision.com
   Commerzbank Regensburg - BLZ 750 400 62 - Konto 6011050
   Handelsregister: HRA 6744, Amtsgericht Regensburg
   Komplementärin: OneVision Software Entwicklungs Verwaltungs GmbH
   Dr.-Leo-Ritter-Straße 9 ??? 93049 Regensburg
   Handelsregister: HRB 8932, Amtsgericht Regensburg - Geschäftsführer: 
 Ulrike Döhler, Manuela Kluger
 


Re: AMD64 ABI compatibility

2007-07-10 Thread Kai Tietz
   Windows and GCC ABIs are on x86-64 more different than that (they 
was
   historically developed in parallel). GCC 4.3 will support attribute 
for
   this calling convention contributed by Kai Tiez and Richard 
Henderson,
   but before that there is not much to do...
  Note: My name is Kai Tietz ;) not Tiez
  
  I think, it isn't to hard introducing this attributes to the AMD64 
abi's. 
  What names should we use for it? I suggest x86_64_ms and 
x86_64_linux. 
 
 For code bridging MS and GNU codebases (such as wine, or lets say, GNU
 runtime in windows if it ends up with non-MS calling convetions).
 Then you want to use the attributes to call code from foreign world.
 
 x86_64_linux is probably not very exact - we intended the ABI to be
 generally useful for non-linux or non-GNU system (i.e. specified as
 System V Application Binary Interface AMD64 Architecture Processor
 Supplement with GCC as reference implementation).  I believe Sparc and
 other unixes are more or less following it too.
 
 For MS I would probably suggest ms_abi (it makes it cleaner that the
 attribute is affecting calling convetion). For our abi I am not sure, we
 can sysv_abi or something else...

I will prepare an patch for it. For me ms_abi and sysv_abi is fine.

Cheers,
 i.A. Kai Tietz

|  (\_/)  This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| ()_() world domination.

--
  OneVision Software Entwicklungs GmbH  Co. KG
  Dr.-Leo-Ritter-Straße 9 - 93049 Regensburg
  Tel: +49.(0)941.78004.0 - Fax: +49.(0)941.78004.489 - www.OneVision.com
  Commerzbank Regensburg - BLZ 750 400 62 - Konto 6011050
  Handelsregister: HRA 6744, Amtsgericht Regensburg
  Komplementärin: OneVision Software Entwicklungs Verwaltungs GmbH
  Dr.-Leo-Ritter-Straße 9 – 93049 Regensburg
  Handelsregister: HRB 8932, Amtsgericht Regensburg - Geschäftsführer: 
Ulrike Döhler, Manuela Kluger



Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-07-10 Thread Ian Lance Taylor
[EMAIL PROTECTED] writes:

 Please look at this page:
 _http://www.cs.nyu.edu/leunga/www/MLRISC/Doc/html/mlrisc-ir.html_ 
 (http://www.cs.nyu.edu/leunga/www/MLRISC/Doc/html/mlrisc-ir.html) 

That tells me about the MLRISC IR, but it doesn't tell me what
significant advantages it has over GIMPLE.

 If you choose to run CIL _locally_ (not add it to GCC, but _only_
 run it on your computer) then you can program in Deputy. The
 Deputy language is very much like C but uses a few additional
 annotations which allow program checking when it is compiled.

Your e-mail messages do not make clear what you are proposing.
Precisely what change do you propose should be made to GCC itself?

If you just want to let us know about an alternative IR, then:
thanks.

Ian


Re: AMD64 ABI compatibility

2007-07-10 Thread Jan Hubicka
  
  For MS I would probably suggest ms_abi (it makes it cleaner that the
  attribute is affecting calling convetion). For our abi I am not sure, we
  can sysv_abi or something else...
 
 I will prepare an patch for it. For me ms_abi and sysv_abi is fine.

I would say that it is in general very desirable feature for wine
programmers and similar projects (I would preffer to have
confirmation that they are going to need it however ;).

The implementation will be moderately tricky - you will need to keep
track of functions calling foreign functions and adjust behaviour of 
ix86_function_arg_regno_p and friends accordingly.

Also the set of call clobbered registers differs. Since MS ABI has fewer
of them, calling from SYSV ABI is OK, but in the other direction I guess
the call pattern will need to have variants with clobbers of SI/DI.

But if you are interested to implement it, you are definitly welcome ;)
Honza
 
 Cheers,
  i.A. Kai Tietz
 
 |  (\_/)  This is Bunny. Copy and paste Bunny
 | (='.'=) into your signature to help him gain
 | ()_() world domination.
 
 --
   OneVision Software Entwicklungs GmbH  Co. KG
   Dr.-Leo-Ritter-Straße 9 - 93049 Regensburg
   Tel: +49.(0)941.78004.0 - Fax: +49.(0)941.78004.489 - www.OneVision.com
   Commerzbank Regensburg - BLZ 750 400 62 - Konto 6011050
   Handelsregister: HRA 6744, Amtsgericht Regensburg
   Komplementärin: OneVision Software Entwicklungs Verwaltungs GmbH
   Dr.-Leo-Ritter-Straße 9 ??? 93049 Regensburg
   Handelsregister: HRB 8932, Amtsgericht Regensburg - Geschäftsführer: 
 Ulrike Döhler, Manuela Kluger
 


Re: abs insn with QI and HI mode

2007-07-10 Thread Robert Dewar

Richard Kenner wrote:
Will gcc add the optimization support in the future (method 1)? 


Since GCC is a volunteer project, the answer for any sort of question
like that is if somebody writes it, it'll exist and if they don't, it
won't.  There's no good way to predict what projects people will find
interesting.


Unless of course you hire someone to do the work for you, or do it
yourself!



Re: AMD64 ABI compatibility

2007-07-10 Thread Kai Tietz
   
   For MS I would probably suggest ms_abi (it makes it cleaner that the
   attribute is affecting calling convetion). For our abi I am not 
sure, we
   can sysv_abi or something else...
  
  I will prepare an patch for it. For me ms_abi and sysv_abi is 
fine.
 
 I would say that it is in general very desirable feature for wine
 programmers and similar projects (I would preffer to have
 confirmation that they are going to need it however ;).
 
 The implementation will be moderately tricky - you will need to keep
 track of functions calling foreign functions and adjust behaviour of 
 ix86_function_arg_regno_p and friends accordingly.
 
 Also the set of call clobbered registers differs. Since MS ABI has fewer
 of them, calling from SYSV ABI is OK, but in the other direction I guess
 the call pattern will need to have variants with clobbers of SI/DI.
 
 But if you are interested to implement it, you are definitly welcome ;)
 Honza

I am on that tricky thing ;) I think I need in i386.c an global variable 
ix86_amd64_abi which helds the the current function abi. This means also 
that I have to use instead of TARGET_64BIT_MS_ABI this variable. This var 
may initioalized by init_cumulative_args and the overriden 
REG_PARM_STACK_SPACE, OUTGOING_REG_PARM_STACK_SPACE, REGPARM_MAX, 
SSE_REGPARM_MAX, STACK_BOUNDARY, etc.

Cheers,
 i.A. Kai Tietz

|  (\_/)  This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| ()_() world domination.

--
  OneVision Software Entwicklungs GmbH  Co. KG
  Dr.-Leo-Ritter-Straße 9 - 93049 Regensburg
  Tel: +49.(0)941.78004.0 - Fax: +49.(0)941.78004.489 - www.OneVision.com
  Commerzbank Regensburg - BLZ 750 400 62 - Konto 6011050
  Handelsregister: HRA 6744, Amtsgericht Regensburg
  Komplementärin: OneVision Software Entwicklungs Verwaltungs GmbH
  Dr.-Leo-Ritter-Straße 9 – 93049 Regensburg
  Handelsregister: HRB 8932, Amtsgericht Regensburg - Geschäftsführer: 
Ulrike Döhler, Manuela Kluger



crtbegin.o crtend.o

2007-07-10 Thread Sunzir Deepur

Hi all,

What files are the sources of crtbegin.o and crtend.o ?

What's their purposes ?

thank you
sunzir


missing std::move

2007-07-10 Thread fafa

Hi all,

I tried to compile some rvalue reference examples by (from H.Hinnant at
http://home.twcny.rr.com/hinnant/cpp_extensions/rvalue_ref_rationale.html)
with one of the latest GCC 4.3 snapshots, but I'm getting
error: 'move' is not a member of 'std'

What can I do to get this working ?

Cheers
Maett Eugster


Re: missing std::move

2007-07-10 Thread Paolo Carlini

fafa wrote:


Hi all,

I tried to compile some rvalue reference examples by (from H.Hinnant at
http://home.twcny.rr.com/hinnant/cpp_extensions/rvalue_ref_rationale.html) 


with one of the latest GCC 4.3 snapshots, but I'm getting
error: 'move' is not a member of 'std'

What can I do to get this working ?


Provide a std::move? ;) std::move is evidently a library function in 
namespace std and you should provide one, because we are not delivering 
yet a complete C++0x library. For example this one (directly from N1690) 
should work:


   template class T
   inline typename remove_referenceT::type
   move(T x)
   { return x; }

(of course remember to include type_traits)

Paolo.


Re: AMD64 ABI compatibility

2007-07-10 Thread Jan Hubicka
 
 I am on that tricky thing ;) I think I need in i386.c an global variable 
 ix86_amd64_abi which helds the the current function abi. This means also 
 that I have to use instead of TARGET_64BIT_MS_ABI this variable. This var 
 may initioalized by init_cumulative_args and the overriden 
 REG_PARM_STACK_SPACE, OUTGOING_REG_PARM_STACK_SPACE, REGPARM_MAX, 
 SSE_REGPARM_MAX, STACK_BOUNDARY, etc.

In order to get all cases right (ie switching ABIs and calling foreign
function), you need more bookkeeping than this.  I am just in hurry to
catch bus, but I will send you little guide tonight.

Honza
 
 Cheers,
  i.A. Kai Tietz
 
 |  (\_/)  This is Bunny. Copy and paste Bunny
 | (='.'=) into your signature to help him gain
 | ()_() world domination.
 
 --
   OneVision Software Entwicklungs GmbH  Co. KG
   Dr.-Leo-Ritter-Straße 9 - 93049 Regensburg
   Tel: +49.(0)941.78004.0 - Fax: +49.(0)941.78004.489 - www.OneVision.com
   Commerzbank Regensburg - BLZ 750 400 62 - Konto 6011050
   Handelsregister: HRA 6744, Amtsgericht Regensburg
   Komplementärin: OneVision Software Entwicklungs Verwaltungs GmbH
   Dr.-Leo-Ritter-Straße 9 ??? 93049 Regensburg
   Handelsregister: HRB 8932, Amtsgericht Regensburg - Geschäftsführer: 
 Ulrike Döhler, Manuela Kluger
 


Query regarding volatiles and store CCP.

2007-07-10 Thread Ramana Radhakrishnan

Hi,

While upgrading a port of mine to trunk for a testcase I noticed the
following . Its more of a question for a language lawyer I guess.

The test looks like this.

int spinlock[2];

void foo (void)
{
volatile int * spinlock0;

while (*spinlock0 == 0)
{
/* do nothing */
}
}

Store CCP folds away the assignment in the following way :


Folded statement: *spinlock0_1 = 0;
   into: spinlock[0] = 0;

Folded statement: *spinlock1_2 = 0;
   into: spinlock[1] = 0;

Folded statement: D.1498_3 = *spinlock0_1;
   into: D.1498_3 = spinlock[0];

main ()
{
 volatile int * spinlock1;
 volatile int * spinlock0;
 int D.1498;

bb 2:
 spinlock0_1 = spinlock[0];
 spinlock1_2 = spinlock[1];
 spinlock[0] = 0;
 spinlock[1] = 0;

bb 3:
 D.1498_3 = spinlock[0];
 if (D.1498_3 != 0)
   goto bb 3;
 else
   goto bb 4;

bb 4:
 return;

}

which later results in the loop getting optimized away. However
marking spinlock as volatile let the loop remain.


I originally thought this to be a problem . However after chatting
about it on IRC I wasn't sure if this was (un)defined behaviour.   I
looked through the standard but was unable to figure out from the
prose , whether it stated some place that the object pointed to also
should also have the same type qualifiers as the pointer being used to
access this.


Thanks in advance
Ramana




--
Ramana Radhakrishnan


Re: Query regarding volatiles and store CCP.

2007-07-10 Thread Richard Guenther

On 7/10/07, Ramana Radhakrishnan [EMAIL PROTECTED] wrote:

Hi,

While upgrading a port of mine to trunk for a testcase I noticed the
following . Its more of a question for a language lawyer I guess.

The test looks like this.

int spinlock[2];

void foo (void)
{
volatile int * spinlock0;

while (*spinlock0 == 0)
{
/* do nothing */
}
}

Store CCP folds away the assignment in the following way :


Folded statement: *spinlock0_1 = 0;
into: spinlock[0] = 0;

Folded statement: *spinlock1_2 = 0;
into: spinlock[1] = 0;

Folded statement: D.1498_3 = *spinlock0_1;
into: D.1498_3 = spinlock[0];

main ()
{
  volatile int * spinlock1;
  volatile int * spinlock0;
  int D.1498;

bb 2:
  spinlock0_1 = spinlock[0];
  spinlock1_2 = spinlock[1];
  spinlock[0] = 0;
  spinlock[1] = 0;

bb 3:
  D.1498_3 = spinlock[0];
  if (D.1498_3 != 0)
goto bb 3;
  else
goto bb 4;

bb 4:
  return;

}

which later results in the loop getting optimized away. However
marking spinlock as volatile let the loop remain.


I originally thought this to be a problem . However after chatting
about it on IRC I wasn't sure if this was (un)defined behaviour.   I
looked through the standard but was unable to figure out from the
prose , whether it stated some place that the object pointed to also
should also have the same type qualifiers as the pointer being used to
access this.


We usually try hard to keep this working (the testcase above is not complete
for sure).

Richard.


Re: missing std::move

2007-07-10 Thread Paolo Carlini
PS: since apparently people would like that, I decided to implement 
immediately 20.2.2 of the working draft, thus std::identity, 
std::forward and std::move. Will be available in utility in one of the 
next snapshots of 4.3...


Thanks,
Paolo.


Re: Query regarding volatiles and store CCP.

2007-07-10 Thread Ramana Radhakrishnan

Hi Richard,



On 7/10/07, Richard Guenther [EMAIL PROTECTED] wrote:

On 7/10/07, Ramana Radhakrishnan [EMAIL PROTECTED] wrote:
 Hi,

 While upgrading a port of mine to trunk for a testcase I noticed the
 following . Its more of a question for a language lawyer I guess.

 The test looks like this.

 int spinlock[2];

 void foo (void)
 {
 volatile int * spinlock0;

 while (*spinlock0 == 0)
 {
 /* do nothing */
 }
 }

 Store CCP folds away the assignment in the following way :


 Folded statement: *spinlock0_1 = 0;
 into: spinlock[0] = 0;

 Folded statement: *spinlock1_2 = 0;
 into: spinlock[1] = 0;

 Folded statement: D.1498_3 = *spinlock0_1;
 into: D.1498_3 = spinlock[0];

 main ()
 {
   volatile int * spinlock1;
   volatile int * spinlock0;
   int D.1498;

 bb 2:
   spinlock0_1 = spinlock[0];
   spinlock1_2 = spinlock[1];
   spinlock[0] = 0;
   spinlock[1] = 0;

 bb 3:
   D.1498_3 = spinlock[0];
   if (D.1498_3 != 0)
 goto bb 3;
   else
 goto bb 4;

 bb 4:
   return;

 }

 which later results in the loop getting optimized away. However
 marking spinlock as volatile let the loop remain.


 I originally thought this to be a problem . However after chatting
 about it on IRC I wasn't sure if this was (un)defined behaviour.   I
 looked through the standard but was unable to figure out from the
 prose , whether it stated some place that the object pointed to also
 should also have the same type qualifiers as the pointer being used to
 access this.

We usually try hard to keep this working (the testcase above is not complete
for sure).



Ah yes, I'd missed out an assignment . void foo (void)

 {
 volatile int * spinlock0;


Should be volatile int *spinlock0 = spinlock[0];
}

Filed as PR 32721.

cheers
Ramana




Richard.




--
Ramana Radhakrishnan


ODR violation for std::cout etc.

2007-07-10 Thread Michael Veksler

Hello,

Currently libstdc++ violates ODR:
iostream: extern ostream cout;
global_io.cc:  fake_ostream cout;

It assumes that gcc will work fine with this. Apparently it does, for now.
After solving a similar problem in my code using a similar technique - 
to find out that it does not work for MS VS-2005 - when I had to find a 
different fix.


The question is, why does GCC has to resolve to such construction-order 
issue this way?


Idea (which I used):
don't violate ODR in global_io.cc. Instead, construct and destroy 
std::cout two times, in a safe way:


static PreSecondCtor coutPreSecondCtor(std::cout);
ostream std::cout(NULL);
static PostSecondCtor coutPostSecondCtor(coutPreSecodCtor);

When PreSecondCtor saves all relevant data of cout (error bits, state, 
rdbuf, etc.),

and then calls std::cout.~ostream();
Note that before this point, std::cout has already been constructed by 
an std::ios::Init,

and we need to avoid double construction.

In PostSecondCtor, restore the state of cout out of the saved data in 
outPreSecondCtor.


During destruction the order is reversed.

I still have a vague feeling that this solution is also undefined (since 
we are calling the constructor of std::cout, using placement new, after 
it had been automatically destroyed by the C++ environment). I don't 
have the standard near me, so I can't check.


Anyway, even if this is undefined, the situation is arguably better 
since it does not seem to break whole program compilation (like current 
implementation might).


What do you think?

Michael


Re: crtbegin.o crtend.o

2007-07-10 Thread Ian Lance Taylor
Sunzir Deepur [EMAIL PROTECTED] writes:

 What files are the sources of crtbegin.o and crtend.o ?

The single file gcc/crtstuff.c.

 What's their purposes ?

To ensure that global constructors and destructors are run at the
appropriate times (i.e., before main and after exit, respectively).

Ian


Re: ODR violation for std::cout etc.

2007-07-10 Thread Paolo Carlini

Michael Veksler wrote:


What do you think?


I think that the current solution is very, very old, and heaven 
knows how many others didn't work at the time on some exotic 
platforms. I would suggest filing a PR and CCing Benjamin.


Thanks,
Paolo.


Re: crtbegin.o crtend.o

2007-07-10 Thread Sunzir Deepur

On 10 Jul 2007 09:51:14 -0700, Ian Lance Taylor [EMAIL PROTECTED] wrote:

Sunzir Deepur [EMAIL PROTECTED] writes:

 What files are the sources of crtbegin.o and crtend.o ?

The single file gcc/crtstuff.c.

 What's their purposes ?

To ensure that global constructors and destructors are run at the
appropriate times (i.e., before main and after exit, respectively).


Thanks !!



Ian



Re: ODR violation for std::cout etc.

2007-07-10 Thread Joe Buck

Michael Veksler wrote:
 What do you think?

On Tue, Jul 10, 2007 at 06:58:50PM +0200, Paolo Carlini wrote:
 I think that the current solution is very, very old, and heaven 
 knows how many others didn't work at the time on some exotic 
 platforms. I would suggest filing a PR and CCing Benjamin.

The ODR is a rule that applies to users' programs; if they violate it,
we can't make any promises that their program will work.  If there's
a violation in the internals of the libstdc++ implementation, then this only
really matters if it breaks something.  Otherwise I'd suggest classifying
the bug P5 (absolute lowest priority); there are any number of real
bugs that are more important to fix.



RFA: upcoming testsuite disruptions

2007-07-10 Thread Janis Johnson
There's a testsuite patch that I submitted, but haven't yet
checked in, that will break test summary comparisons from before
and after that patch is applied:

http://gcc.gnu.org/ml/gcc-patches/2007-06/msg00834.html
http://gcc.gnu.org/ml/gcc-patches/2007-06/msg01076.html

A patch from Manuel López-Ibáñez might result in failures for
dg-error/dg-warning checks on targets that haven't been tested:

http://gcc.gnu.org/ml/gcc-patches/2007-07/msg00962.html

Both of these changes are worthwhile and should go in, but I'm
worried about the disruptions they might cause.  Should we
coordinate the checkins of these patches with other major
changes or freezes, or just do it?

Janis





ICE while bootstraping on ppc64.

2007-07-10 Thread Revital1 Eres

Hello,

The following ICE is received on r126521 while bootstraping on ppc64.

Revital

/home/eres/test_again/build/./gcc/xgcc -B/home/eres/test_again/build/./gcc/
-B/home/eres/test_again/build/powerpc64-unknown-linux-gnu/bin/
-B/home/eres/test_again/build/powerpc64-unknown-linux-gnu/lib/ -isystem
/home/eres/test_again/build/powerpc64-unknown-linux-gnu/include -isystem
/home/eres/test_again/build/powerpc64-unknown-linux-gnu/sys-include -g
-fkeep-inline-functions -m32 -fPIC -mstrict-align -O2  -O2 -g -O2  -DIN_GCC
-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition  -isystem ./include  -fPIC -mno-minimal-toc -g
-DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
-mlong-double-128 -I. -I. -I../../.././gcc -I../../../../gcc/libgcc
-I../../../../gcc/libgcc/. -I../../../../gcc/libgcc/../gcc
-I../../../../gcc/libgcc/../include
-I../../../../gcc/libgcc/../libdecnumber/dpd
-I../../../../gcc/libgcc/../libdecnumber -I../../../libdecnumber
-DHAVE_CC_TLS -o _floatdisf.o -MT _floatdisf.o -MD -MP -MF _floatdisf.dep
-DL_floatdisf -c ../../../../gcc/libgcc/../gcc/libgcc2.c \
  -fvisibility=hidden -DHIDE_EXPORTS
../../../../gcc/libgcc/../gcc/libgcc2.c: In function ג__floatdisfג:
../../../../gcc/libgcc/../gcc/libgcc2.c:1530: internal compiler error: in
gen_reg_rtx, at emit-rtl.c:785
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
make[5]: *** [_floatdisf.o] Error 1

Re: AMD64 ABI compatibility

2007-07-10 Thread Nicolas Alt

That's cool! What version would you do the patch for?
Apart from wine, I guess mingw should have the biggest need for the  
MS ABI in order to support AMD64.


Nicolas


On Jul 10, 2007, at 5:59 , Kai Tietz wrote:

Windows and GCC ABIs are on x86-64 more different than that (they

was

historically developed in parallel). GCC 4.3 will support attribute

for

this calling convention contributed by Kai Tiez and Richard

Henderson,

but before that there is not much to do...

Note: My name is Kai Tietz ;) not Tiez

I think, it isn't to hard introducing this attributes to the AMD64

abi's.

What names should we use for it? I suggest x86_64_ms and

x86_64_linux.


For code bridging MS and GNU codebases (such as wine, or lets say,  
GNU

runtime in windows if it ends up with non-MS calling convetions).
Then you want to use the attributes to call code from foreign world.

x86_64_linux is probably not very exact - we intended the ABI to be
generally useful for non-linux or non-GNU system (i.e. specified as
System V Application Binary Interface AMD64 Architecture Processor
Supplement with GCC as reference implementation).  I believe Sparc  
and

other unixes are more or less following it too.

For MS I would probably suggest ms_abi (it makes it cleaner that the
attribute is affecting calling convetion). For our abi I am not  
sure, we

can sysv_abi or something else...


I will prepare an patch for it. For me ms_abi and sysv_abi is  
fine.


Cheers,
 i.A. Kai Tietz

|  (\_/)  This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| ()_() world domination.

-- 


  OneVision Software Entwicklungs GmbH  Co. KG
  Dr.-Leo-Ritter-Straße 9 - 93049 Regensburg
  Tel: +49.(0)941.78004.0 - Fax: +49.(0)941.78004.489 -  
www.OneVision.com

  Commerzbank Regensburg - BLZ 750 400 62 - Konto 6011050
  Handelsregister: HRA 6744, Amtsgericht Regensburg
  Komplementärin: OneVision Software Entwicklungs Verwaltungs GmbH
  Dr.-Leo-Ritter-Straße 9 – 93049 Regensburg
  Handelsregister: HRB 8932, Amtsgericht Regensburg - Geschäftsführer:
Ulrike Döhler, Manuela Kluger





Re: AMD64 ABI compatibility

2007-07-10 Thread Andrew Pinski

On 7/10/07, Nicolas Alt [EMAIL PROTECTED] wrote:

That's cool! What version would you do the patch for?
Apart from wine, I guess mingw should have the biggest need for the
MS ABI in order to support AMD64.


mingw x86_64 support is already added for 4.3 on the trunk.

Thanks,
Andrew Pinski


Re: AMD64 ABI compatibility

2007-07-10 Thread Nicolas Alt
Ok - so question is if x86_64 is completely implemented already. For  
our case, especially the MS ABI. Andrew, do you have any knowledge if  
they introduced a new calling convention and how they named it?


Nicolas


On Jul 10, 2007, at 13:29 , Andrew Pinski wrote:


On 7/10/07, Nicolas Alt [EMAIL PROTECTED] wrote:

That's cool! What version would you do the patch for?
Apart from wine, I guess mingw should have the biggest need for the
MS ABI in order to support AMD64.


mingw x86_64 support is already added for 4.3 on the trunk.

Thanks,
Andrew Pinski




Re: AMD64 ABI compatibility

2007-07-10 Thread Andrew Pinski

On 7/10/07, Nicolas Alt [EMAIL PROTECTED] wrote:

Ok - so question is if x86_64 is completely implemented already. For
our case, especially the MS ABI. Andrew, do you have any knowledge if
they introduced a new calling convention and how they named it?


It is only implemented for the x86_64-mingw32 target.

Thanks,
Andrew Pinski


Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-07-10 Thread Daniel Berlin

On 7/10/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:

In a message dated 7/9/2007 2:37:03 P.M. Pacific Daylight Time,
[EMAIL PROTECTED] writes:
On 7/9/07, [EMAIL PROTECTED]  [EMAIL PROTECTED] wrote:
 In a message dated 7/7/2007  4:04:01 A.M.  Pacific Daylight Time, Rob1weld
  writes:
 This page  http://deputy.cs.berkeley.edu/ has a  link to this document
 http://hal.cs.berkeley.edu/cil/
  which describes a means to obtain  three-address code here
  http://hal.cs.berkeley.edu/cil/ext.html#toc24 .

  2007/7/08, Diego Novillo [EMAIL PROTECTED]
  (mailto:[EMAIL PROTECTED]) :
 Any  specific  reasons why we should?  Better memory savings?  Faster
  processing?  It's not clear from your message what the   advantages
would
 be (ignoring the fact that their  implementation  language is completely
  different).


You haven't explained what advantages CIL's IR has over  GIMPLE.
I thought it was well explained on page:
_http://hal.cs.berkeley.edu/cil/cil001.html_ 
(http://hal.cs.berkeley.edu/cil/cil001.html)


No, since as i said, their IR is the same as GIMPLE.




It is your project to write the way you want. You RFC letter said
Thoughts/comments on the
proposal?. My reply is that this
page:_http://www.cs.nyu.edu/leunga/www/MLRISC/Doc/html/mlrisc-ir.html_
(http://www.cs.nyu.edu/leunga/www/MLRISC/Doc/html/mlrisc-ir.html)
and this site: _http://www.cs.nyu.edu/leunga/www/MLRISC/Doc/html/INTRO.html_
(http://www.cs.nyu.edu/leunga/www/MLRISC/Doc/html/INTRO.html)  provide  a
better explanation of IR issues.

Okay, let me ask a different question.
What makes you believe we aren't aware of these projects?
MLRISC has been around for *years* as has CIL.
In fact, I reported bugs against CIL.

We are quite aware of what all of them do, we just do not see the
advantages, and you have not given any explicit enumeration of them.


GCC 4.2.1 Status Report (2007-07-10)

2007-07-10 Thread Mark Mitchell

Summary
---

The next scheduled GCC 4.2.x release is GCC 4.2.1 on July 13th.

As of 5PM PDT tomorrow, please consider the 4.2 branch closed to all
changes.  If you have outstanding changes that have been approved, but
not committed, make the commits before that time.  I plan to build GCC
4.2.1 RC2 tomorrow evening.

I will probably wait until a few days after the 13th to build the
final release, in order to make sure that people have had a chance to
test out RC2.

We still have 3 wrong-code P1s:

PR 32182 -fstrict-aliasing ...
PR 32327 Incorrect stack sharing...
PR 32328 -fstrict-aliasing ...

Priority#   Change from Last Report
--- -   ---

P1  21  -8
P2  113 0
P3  3   +1

Previous Report
---

http://gcc.gnu.org/ml/gcc/2007-07/msg00062.html

--
Mark Mitchell
CodeSourcery
[EMAIL PROTECTED]
(650) 331-3385 x713



Re: GCC 4.2.1 Status Report (2007-07-10)

2007-07-10 Thread Daniel Berlin

On 7/11/07, Mark Mitchell [EMAIL PROTECTED] wrote:


Summary
---

The next scheduled GCC 4.2.x release is GCC 4.2.1 on July 13th.

As of 5PM PDT tomorrow, please consider the 4.2 branch closed to all
changes.  If you have outstanding changes that have been approved, but
not committed, make the commits before that time.  I plan to build GCC
4.2.1 RC2 tomorrow evening.

I will probably wait until a few days after the 13th to build the
final release, in order to make sure that people have had a chance to
test out RC2.

We still have 3 wrong-code P1s:

PR 32182 -fstrict-aliasing ...


This is not analyzed enough to know whether it's something i should
look at, or the C++ FE people should look at.  IE Nobody has pointed
out what is actually going wrong here, so i don't know whether it's
aliasing or what :)


PR 32327 Incorrect stack sharing...



PR 32328 -fstrict-aliasing ...


This i have a patch for, but it really needs some performance testing.
I'm happy to throw it in RC2 if you want to see how it does, with the
caveat it may need to be pulled back out if it causes massive
performance regressions :)


Re: ICE building libgcc2.c for MIPS, too

2007-07-10 Thread Ian Lance Taylor
Sandra Loosemore [EMAIL PROTECTED] writes:

 The error reported here
 
 http://gcc.gnu.org/ml/gcc/2007-07/msg00339.html
 
 is also happening when building for target mipsisa32r2-elfoabi on 
 i686-pc-linux-gnu.

This should be fixed by revision 126536.  Sorry for the problems.

Ian


Re: ICE while bootstraping on ppc64.

2007-07-10 Thread Ian Lance Taylor
Revital1 Eres [EMAIL PROTECTED] writes:

 The following ICE is received on r126521 while bootstraping on ppc64.

This should be fixed by revision 126536.  Sorry for the problems.

Ian


Re: GCC 4.2.1 Status Report (2007-07-10)

2007-07-10 Thread Mark Mitchell
Daniel Berlin wrote:

 PR 32328 -fstrict-aliasing ...
 
 This i have a patch for, but it really needs some performance testing.
 I'm happy to throw it in RC2 if you want to see how it does, with the
 caveat it may need to be pulled back out if it causes massive
 performance regressions :)

No, I don't want to do that -- but thanks for working on the PR.  If you
can do some performance testing up front, then I might consider it for a
post-RC2 inclusion, even if it means an RC3.

-- 
Mark Mitchell
CodeSourcery
[EMAIL PROTECTED]
(650) 331-3385 x713


[Bug fortran/32673] Wrongly allowed: Statement function with subobject of constant

2007-07-10 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2007-07-10 06:23 ---
I think this is indeed no bug. I contacted NAG f95 and if they found something
in the standard which we overlooked, I will reopen this PR.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug fortran/32709] Diagnose: ALLOCATABLE array used but never ALLOCATEd

2007-07-10 Thread dfranke at gcc dot gnu dot org


--- Comment #1 from dfranke at gcc dot gnu dot org  2007-07-10 06:37 ---


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


-- 

dfranke at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug fortran/20520] allocatable arrays used uninitialized without a warning

2007-07-10 Thread dfranke at gcc dot gnu dot org


--- Comment #10 from dfranke at gcc dot gnu dot org  2007-07-10 06:37 
---
*** Bug 32709 has been marked as a duplicate of this bug. ***


-- 


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



[Bug middle-end/32711] Regression: ICE when using inline asm constraint X

2007-07-10 Thread ubizjak at gmail dot com


--- Comment #3 from ubizjak at gmail dot com  2007-07-10 06:46 ---
(In reply to comment #1)
 X constraint means anything matches.  Now why we are ICEing is a bit weird

We hit:

  /* We have patterns that allow zero sets of memory, for instance.
 In 64-bit mode, we should probably support all 8-byte vectors,
 since we can in fact encode that into an immediate.  */
  if (GET_CODE (x) == CONST_VECTOR)
{
  gcc_assert (x == CONST0_RTX (GET_MODE (x)));
  x = const0_rtx;
}

It is true that a message would be nice there, but it is also true that X is an
invalid constraint for most (all?) of the instructions.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WONTFIX


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



[Bug fortran/29975] [meta-bugs] ICEs with CP2K

2007-07-10 Thread jv244 at cam dot ac dot uk


--- Comment #135 from jv244 at cam dot ac dot uk  2007-07-10 07:05 ---
new bogus errors compiling all.f90 ...  FX, how's the nightly tester setup
going?

cat out
all.f90:23538.44:

  USE util,ONLY: sort
   1
Error: Symbol 'sort' referenced at (1) not found in module 'util'
[...]

Tue Jul 10 06:45:07 UTC 2007 (revision 126510)


-- 


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



[Bug java/32712] New: error trying to exec 'ecj1' - also - SuppressWarnings cannot be resolved to a type

2007-07-10 Thread rob1weld at aol dot com
I am compiling a program and the Makefile wants to use Javac. I _did_ use the
1.5 option but still got an error about SuppressWarnings cannot be resolved
to a type.


I decided to see what GCC 4.3 had to say about the file. I have 4.3 installed
in /usr/test .


/usr/test/bin/gcc
/opt/HPCToolkit-OneStopShopping-TRUNK-4.9.0_810/hpcviewer/src/edu/rice/cs/hpcviewer/app/ApplicationActions.java
gcc: error trying to exec 'ecj1': execvp: No such file or directory

Typing locate ecj1 finds nothing. Typing locate ecj finds many hits (mostly
ecj is part of a DOCs name) and I do have a /usr/bin/ecj but no
/usr/test/bin/ecj.


So lets try the GCC (4.1) that does have an ecj it could use.


# gcc
/opt/HPCToolkit-OneStopShopping-TRUNK-4.9.0_810/hpcviewer/src/edu/rice/cs/hpcviewer/app/ApplicationActions.java
/opt/HPCToolkit-OneStopShopping-TRUNK-4.9.0_810/hpcviewer/src/edu/rice/cs/hpcviewer/app/ApplicationActions.java:40:
error: Invalid character '@' in input.
@SuppressWarnings(serial)
   ^
/opt/HPCToolkit-OneStopShopping-TRUNK-4.9.0_810/hpcviewer/src/edu/rice/cs/hpcviewer/app/ApplicationActions.java:20:
error: Class or interface 'edu.rice.cs.hpcviewer.view.HPCViewerWindow' not
found in import.
import edu.rice.cs.hpcviewer.view.HPCViewerWindow;
  ^
2 errors


Since I need 5 for the annotation I pursue 4.1 no further, lets -v it.


gcc -v
/opt/HPCToolkit-OneStopShopping-TRUNK-4.9.0_810/hpcviewer/src/edu/rice/cs/hpcviewer/app/ApplicationActions.java
 
...
/usr/libexec/gcc/i686-pc-linux-gnu/4.2.0/jc1
/opt/HPCToolkit-OneStopShopping-TRUNK-4.9.0_810/hpcviewer/src/edu/rice/cs/hpcviewer/app/ApplicationActions.java
-quiet -dumpbase ApplicationActions.java -mtune=athlon-xp -march=athlon-xp
-auxbase ApplicationActions -version -o /tmp/ccsDPdP6.s
...


So that means GCC (at least 4.1 version, maybe not 4.3) wants to use jc1 and
NOT ejc1. I locate that here:
/usr/test/libexec/gcc/i686-pc-linux-gnu/4.3.0/jc1.


The driver must look there for jc1 and not look anywhere for ejc1 (unless
the GCC 4.3 build would like to create and install ejc1.


If I try to run jc1 with the options from above I get:

# /usr/test/libexec/gcc/i686-pc-linux-gnu/4.3.0/jc1
/opt/HPCToolkit-OneStopShopping-TRUNK-4.9.0_810/hpcviewer/src/edu/rice/cs/hpcviewer/app/ApplicationActions.java
-o ApplicationActions.s
/opt/HPCToolkit-OneStopShopping-TRUNK-4.9.0_810/hpcviewer/src/edu/rice/cs/hpcviewer/app/ApplicationActions.java:0:
warning: no input file specified

Execution times (seconds)
 parser:   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 (33%) wall   
   0 kB ( 0%) ggc
 TOTAL :   0.02 0.00 0.03  
1230 kB


So lets try help ...


# /usr/test/libexec/gcc/i686-pc-linux-gnu/4.3.0/jc1 --help
The following options are specific to the language Ada:
  -feliminate-unused-debug-types[enabled]
  -gnatoptions  

The following options are specific to the language C:
 No options with the desired characteristics were found

The following options are specific to the language C++:
 No options with the desired characteristics were found

The following options are specific to the language Fortran:
  -Jdirectory   
  -Waliasing  
  -Wampersand 
  -Wcharacter-truncation  
  -Wimplicit-interface
  -Wline-truncation
...


It then prints all the Fortran options (how useful), the Java options, even
some langtree options (and I did not specify langtree to the configure!).
It continues to list every -W, -f, --param option, -W again, then -f
options, target specific options, language-independent options and a whole
lot more.

Could it be a bit less verbose?


Looking through those dozen pages of (no) help it is not very clear why jc1
says no input file specified.


So the bug is that I can't use an installed copy of GCC 4.3 to compile a
.java file by typing gcc file.java because the driver looks for an
executable that does not exist. 

Trying -v with GCC 4.1 to guess what to type with 4.3 gives a suggestion that
does not work with 4.3 - so I'm a bit stuck trying to help myself. I can see
something is wrong with the setup.

To top it off. Even through I can not compile this file I can get it
pre-compiled as a .jar file off the website at:
http://www.hipersoft.rice.edu/hpctoolkit/examples.html

The file is http://www.hipersoft.rice.edu/hpctoolkit/examples/HPCViewer.jar.gz
(and you will likely want on of the data files to examine, they are small).

When I click on that Jar file with WinXP it runs fine (Sun JDK) but if I try to
open it on GNU/Linux with Iceweasel it won't work (but other Java seems OK -
weeks ago).


If I start Iceweasel and click on the jar file I get this message:
Exception in thread main java.lang.NoClassDefFoundError:
/opt/HPCToolkit-OneStopShopping-TRUNK-4/9/0=810/hpcviewer/build-unix/HPCViewer/jar


With GCC 4.2 gij I get this message:

# gij -jar HPCViewer.jar

(.:5821): Gtk-WARNING **: Unable to locate theme engine in 

[Bug tree-optimization/32705] [4.3 Regression] ICE in set_ssa_val_to, at tree-ssa-sccvn.c:1022

2007-07-10 Thread ebotcazou at gcc dot gnu dot org


--- Comment #4 from ebotcazou at gcc dot gnu dot org  2007-07-10 08:11 
---
Investigating.


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|ebotcazou at gcc dot gnu dot|
   |org |
 AssignedTo|unassigned at gcc dot gnu   |ebotcazou at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-07-09 17:36:22 |2007-07-10 08:11:24
   date||


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



[Bug fortran/32707] mismatched character lengths in array

2007-07-10 Thread dfranke at gcc dot gnu dot org


--- Comment #2 from dfranke at gcc dot gnu dot org  2007-07-10 08:16 ---
See also: PR29267.


-- 

dfranke at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dfranke at gcc dot gnu dot
   ||org


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



[Bug tree-optimization/32713] New: [4.3 regression] ICE in copy_reference_ops_from_ref, at tree-ssa-sccvn.c:550

2007-07-10 Thread ebotcazou at gcc dot gnu dot org
Once PR tree-opt/32589 is fixed, the next hurdle on 32-bit plaforms is:

/home/eric/build/gcc/native32/./gcc/xgcc
-B/home/eric/build/gcc/native32/./gcc/-B/home/eric/install/gcc/i586-suse-linux/bin/
-B/home/eric/install/gcc/i586-suse-linux/lib/ -isystem
/home/eric/install/gcc/i586-suse-linux/include -isystem
/home/eric/install/gcc/i586-suse-linux/sys-include -c -g -O2 -fPIC  -W
-Wall -gnatpg  a-numaux.adb -o a-numaux.o
+===GNAT BUG DETECTED==+
| 4.3.0 20070708 (experimental) (i586-suse-linux-gnu) GCC error:   |
| in copy_reference_ops_from_ref, at tree-ssa-sccvn.c:550  |
| Error detected at a-numaux.adb:572:1 |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.


-- 
   Summary: [4.3 regression] ICE in copy_reference_ops_from_ref, at
tree-ssa-sccvn.c:550
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ebotcazou at gcc dot gnu dot org
 BugsThisDependsOn: 32589


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



[Bug c++/32714] New: Wrong optimisation for -O3

2007-07-10 Thread honza at jikos dot cz
Overview:
When using optimisation level -O3 the code generated from attached example is
wrong. It is accumalating the stream increment and thus the function readFloat
reads twice the same number and then it skips two in a row.
Problem seems to be in this line 
const float val = *(const float *)stream;
when I change it to 
const float val = *(const float *)stream;
it starts working even on -O3.

Steps to reproduce:
Compile this code with -O3.

#include stdio.h
float readFloat(const char *stream)
{
const float val = *(const float *)stream;
stream += sizeof(float);
return val;
}
int main(int argc, char **argv)
{
float stream[] = { 2.0f,
1.0f, 2.0f,
3.0f, 4.0f,
5.0f, 6.0f };
const char *stream2 = (const char *) stream;

for (float i = 0, n = readFloat(stream2); i = n; i += 1.0f) {
const float x = readFloat(stream2);
const float y = readFloat(stream2);
printf(%f,%f\n, x,y);
}
return 0;
}

Actual results:
Prints:
1.00,1.00
3.00,3.00
5.00,5.00
Expected results:
to print:
1.00,2.00
3.00,4.00
5.00,6.00

Build date  platform:
gcc (GCC) 4.1.2 20070626 (Red Hat 4.1.2-13)

Additional Builds and Platforms:
gcc (GCC) 4.0.2
gcc (GCC) 4.1.1
gcc (GCC) 4.2.0

This bug is not reproducible on gcc 3.3 series.


-- 
   Summary: Wrong optimisation for -O3
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: honza at jikos dot cz
 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=32714



[Bug middle-end/26900] Number of iterations not know for simple loop

2007-07-10 Thread spop at gcc dot gnu dot org


--- Comment #17 from spop at gcc dot gnu dot org  2007-07-10 08:30 ---
Fixed.


-- 

spop at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/30730] -Wunsafe-loop-optimizations gives too many warnings

2007-07-10 Thread spop at gcc dot gnu dot org


--- Comment #4 from spop at gcc dot gnu dot org  2007-07-10 08:31 ---
Fixed.


-- 

spop at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/31343] ICE in data-refs dependence testing

2007-07-10 Thread spop at gcc dot gnu dot org


--- Comment #4 from spop at gcc dot gnu dot org  2007-07-10 08:34 ---
Fixed.


-- 

spop at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug middle-end/32708] _mm_cvtsi64x_si128() and _mm_cvtsi128_si64x() inefficient

2007-07-10 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2007-07-10 09:14 ---
Fixed testcase:

#include emmintrin.h
__m128i int2vector(int i) { return _mm_cvtsi32_si128(i); }
int vector2int(__m128i i) { return _mm_cvtsi128_si32(i); }
__m128i long2vector(long long i) { return _mm_cvtsi64x_si128(i); }
long long vector2long(__m128i i) { return _mm_cvtsi128_si64x(i); }

mainline generates:

int2vector:
.LFB525:
pxor%xmm0, %xmm0
movq%rdi, -8(%rsp)
movq-8(%rsp), %xmm1
movss   %xmm1, %xmm0
ret
.LFE525:
.size   int2vector, .-int2vector
.p2align 4,,15
.globl long2vector
.type   long2vector, @function
long2vector:
.LFB527:
movq%rdi, -8(%rsp)
movq-8(%rsp), %mm0
movq2dq %mm0, %xmm0
ret
.LFE527:
.size   long2vector, .-long2vector
.p2align 4,,15
.globl vector2long
.type   vector2long, @function
vector2long:
.LFB528:
movq%xmm0, -16(%rsp)
movq-16(%rsp), %rax
ret
.LFE528:
.size   vector2long, .-vector2long
.p2align 4,,15
.globl vector2int
.type   vector2int, @function
vector2int:
.LFB526:
movd%xmm0, -12(%rsp)
movl-12(%rsp), %eax
ret


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||missed-optimization
   Last reconfirmed|-00-00 00:00:00 |2007-07-10 09:14:14
   date||


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



[Bug testsuite/25241] DejaGNU does not distinguish between errors and warnings

2007-07-10 Thread manu at gcc dot gnu dot org


--- Comment #57 from manu at gcc dot gnu dot org  2007-07-10 09:17 ---
Subject: Bug 25241

Author: manu
Date: Tue Jul 10 09:17:01 2007
New Revision: 126511

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

PR testsuite/25241
* gcc.dg/pch/counter-2.c: Match every message with its appropriate
directive.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/pch/counter-2.c


-- 


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



[Bug c/21920] aliasing violations

2007-07-10 Thread rguenth at gcc dot gnu dot org


--- Comment #118 from rguenth at gcc dot gnu dot org  2007-07-10 09:23 
---
*** Bug 32714 has been marked as a duplicate of this bug. ***


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||honza at jikos dot cz


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



[Bug c++/32714] Wrong optimisation for -O3

2007-07-10 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2007-07-10 09:23 ---
You violate C/C++ aliasing rules by reading/storing a value of type (char *) to
a memory location of type (float *).

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


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug middle-end/32708] _mm_cvtsi64x_si128() and _mm_cvtsi128_si64x() inefficient

2007-07-10 Thread pluto at agmk dot net


--- Comment #2 from pluto at agmk dot net  2007-07-10 09:23 ---
this looks like a dup of PR30961.


-- 


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



[Bug fortran/32715] New: improve diagnostics of attempted allocation of non-array

2007-07-10 Thread dfranke at gcc dot gnu dot org
$ cat allocate.f90
INTEGER :: i
ALLOCATE(i(3))
end

$  gfortran-svn -g -Wall allocate.f90
allocate.f90:2.10:

ALLOCATE(i(3))
 1
Error: Syntax error in ALLOCATE statement at (1)


A message as variable 'i' at (1) not a pointer or allocatable array would be
preferable.


-- 
   Summary: improve diagnostics of attempted allocation of non-array
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dfranke at gcc dot gnu dot org


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



[Bug middle-end/32708] _mm_cvtsi64x_si128() and _mm_cvtsi128_si64x() inefficient

2007-07-10 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2007-07-10 09:37 ---
I don't think so, the _mm_ intrinsics are expanded via target builtins.


-- 


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



[Bug c++/32716] New: Wrong code generation. Inlining problem.

2007-07-10 Thread pranav dot bhandarkar at gmail dot com
Generating wrong code for the following code snippet (test.C)
using namespace std;
#include iostream
class A { public:int a;};
class B: public virtual A { public: A::a;};
class C : public virtual A { public:A::a;};
class D : public C, public B {};
void h ( D x )
{
x.a++;
}
int main ()
{
   int result ;
D d;
d.a = 0;
h (d);
result = !(d.a==1);
result ? coutFAILED: cout SUCCESS;
return 0;
}
$arm-none-eabi-g++ -O3 test.C
$ arm-none-eabi-run a.out
FAILED
$arm-none-eabi-g++ -O3 test.C -fno-inline-functions
$ arm-none-eabi-run a.out
SUCCESS
$arm-none-eabi-g++ --version
arm-none-eabi-g++ (GCC) 4.3.0 20070703 (experimental)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


-- 
   Summary: Wrong code generation. Inlining problem.
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pranav dot bhandarkar at gmail dot com
GCC target triplet: arm-none-eabi


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



[Bug c++/32716] Wrong code generation. Inlining problem.

2007-07-10 Thread pranav dot bhandarkar at gmail dot com


--- Comment #1 from pranav dot bhandarkar at gmail dot com  2007-07-10 
10:02 ---
Created an attachment (id=13876)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13876action=view)
Dump of the early inline pass, that highlights the problem with the inliner

h() gets inlined into main but the result of the increment in h() is not used
in main after inlining causing 0 to be assigned to result.


-- 


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



[Bug middle-end/32708] _mm_cvtsi64x_si128() and _mm_cvtsi128_si64x() inefficient

2007-07-10 Thread ubizjak at gmail dot com


--- Comment #4 from ubizjak at gmail dot com  2007-07-10 10:36 ---
(In reply to comment #0)

 long2vector() should use a simple MOVQ instruction the way int2vector() uses
 MOVD. It appears that the reason for the stack access is that the original 
 code
 used a reg64-mem-mm-xmm path, which the optimizer partly noticed;
 gcc-4.3-20070617 leaves the full path in place.
 
 Also, do the vector2X() functions really need to access the stack?

Stack access is the remain of partially implemented TARGET_INTER_UNIT_MOVES,
and this was fully fixed in 4.3. The fact that gcc-4.3 leaves full path in
place is due to missing pattern for vec_concat:V2DI (implemented in the patch
below) where 64bit registers can be concatenated with zero (for 64bit targets)
using movq instruction.

With attached patch, 4.3 generates:

long2vector:
.LFB4:
movq%rdi, %xmm0
ret
.LFE4:

for -march=core2 (TARGET_INTER_UNIT_MOVES allowed)

and

long2vector:
.LFB4:
movq%rdi, -8(%rsp)
movq-8(%rsp), %xmm0
ret
.LFE4:

for -march=k8 (no TARGET_INTER_UNIT_MOVES allowed).

 Finally, I've noticed several places where instructions involving 64-bit 
 values
 use the d/l suffix (e.g. long i = 0 == xorl %eax, %eax), or 32-bit
 operations that use 64-bit registers (e.g. movd %xmm0, %rax above). Are 
 those
 generally features, bugs, or a who cares?

These are who cares, produced by reload to satisfy register constraints (i.e.
certain alternatives missing as an attempt to solve INTER_UNIT_MOVES
requirements). They are harmles.

Index: sse.md
===
--- sse.md  (revision 126510)
+++ sse.md  (working copy)
@@ -4717,7 +4717,7 @@
(vec_concat:V2DI
  (match_operand:DI 1 nonimmediate_operand   m,*y ,0 ,0,0,m)
  (match_operand:DI 2 vector_move_operandC,  C,Yt,x,m,0)))]
-  TARGET_SSE
+  !TARGET_64BIT  TARGET_SSE
   @
movq\t{%1, %0|%0, %1}
movq2dq\t{%1, %0|%0, %1}
@@ -4728,6 +4728,23 @@
   [(set_attr type ssemov,ssemov,sselog,ssemov,ssemov,ssemov)
(set_attr mode TI,TI,TI,V4SF,V2SF,V2SF)])

+(define_insn *vec_concatv2di_rex
+  [(set (match_operand:V2DI 0 register_operand =Yt,Yi,!Yt,Yt,x,x,x)
+   (vec_concat:V2DI
+ (match_operand:DI 1 nonimmediate_operand   m,r ,*y ,0 ,0,0,m)
+ (match_operand:DI 2 vector_move_operandC,C ,C  ,Yt,x,m,0)))]
+  TARGET_64BIT
+  @
+   movq\t{%1, %0|%0, %1}
+   movq\t{%1, %0|%0, %1}
+   movq2dq\t{%1, %0|%0, %1}
+   punpcklqdq\t{%2, %0|%0, %2}
+   movlhps\t{%2, %0|%0, %2}
+   movhps\t{%2, %0|%0, %2}
+   movlps\t{%1, %0|%0, %1}
+  [(set_attr type ssemov,ssemov,ssemov,sselog,ssemov,ssemov,ssemov)
+   (set_attr mode TI,TI,TI,TI,V4SF,V2SF,V2SF)])
+
 (define_expand vec_setv2di
   [(match_operand:V2DI 0 register_operand )
(match_operand:DI 1 register_operand )


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ubizjak at gmail dot com
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-07-10 09:14:14 |2007-07-10 10:36:00
   date||


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



[Bug c++/31743] [4.1/4.2/4.3 regression] ICE with invalid use of new

2007-07-10 Thread reichelt at gcc dot gnu dot org


--- Comment #12 from reichelt at gcc dot gnu dot org  2007-07-10 10:44 
---
 If you will tell me how to remove the flag, I will take care of it.

To clean the exectuable flag on file you can do
  svn propdel svn:executable  file
and then commit the change.


-- 


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



[Bug target/32708] _mm_cvtsi64x_si128() and _mm_cvtsi128_si64x() inefficient

2007-07-10 Thread ubizjak at gmail dot com


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

  Component|middle-end  |target
   Target Milestone|--- |4.3.0


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



[Bug preprocessor/32717] New: def value is ignored

2007-07-10 Thread drazen dot zeman at kr dot htnet dot hr
Appeared from July 6th:

For instance, if .S file has line:

cmpl  $FFI_TYPE_INT,%ecx

and $FFI_TYPE_INT is included from ffi.h as

#define FFI_TYPE_INT1

def value is ignored, and only name after dollar sign is recognized. Defines
for assembler are just a string after $.

As the result, linker throws undefined references:

libffi_convenience.a/win32.o:../../../gcc-4.3-July7th/libffi/src/x86/win32.S:77:
undefined reference to `FFI_TYPE_FLOAT'

and for all other defined values.

Snapshot from June 29th compiled fine.

Drazen


-- 
   Summary: def value is ignored
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: blocker
  Priority: P3
 Component: preprocessor
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: drazen dot zeman at kr dot htnet dot hr
 GCC build triplet: i386-pc-mingw32
  GCC host triplet: i386-pc-mingw32
GCC target triplet: i386-pc-mingw32


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



[Bug c++/32716] [4.2/4.3 Regression] Wrong code generation. Alias and C++ virtual bases problem.

2007-07-10 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2007-07-10 11:29 ---
This is an aliasing problem (or rather a C++ FE problem):

  # SFT.41_31 = VDEF SFT.41_30(D)
  d.D.2508.a = 0;
  x.0_10 = (struct A *) d;
...
  D.2747_16 = x.0_10 + D.2746_15;
  # VUSE SFT.44_27
  D.2748_17 = D.2747_16-a;
  D.2749_18 = D.2748_17 + 1;
  # SFT.44_34 = VDEF SFT.44_27
  D.2747_16-a = D.2749_18;
  # VUSE SFT.41_31
  D.2707_1 = d.D.2508.a;
  D.2706_2 = D.2707_1 != 1;
  return D.2706_2;

note how we don't identify the contrived access through the virtual base
with the zero-initialization and use in main().  Instead, it seems to
alias with

  iftmp.1_6 = (int (*__vtbl_ptr_type) (void) *) D.2735_5;
  # SFT.44_21 = VDEF SFT.44_20(D)
  d.D.2504._vptr.C = iftmp.1_6;
...
  # SFT.44_27 = VDEF SFT.44_21
  d.D.2504._vptr.C = _ZTV1D[3];


Of course the original trees created for the virtual base access is
somewhat contrieved:

  (void) ((struct A *) (struct D *) x + (long unsigned int) *(long int *)
(((struct D *) x)-D.2504._vptr.C + 0xffe8))-a++ ;

while in main() we manage to do:

struct D d;
  cleanup_point  Unknown tree: expr_stmt
  __comp_ctor  (d) 
;
  cleanup_point  Unknown tree: expr_stmt
  (void) (d.D.2508.a = 0) 
;
  cleanup_point  Unknown tree: expr_stmt
  h ((struct D ) d) 
;
  return retval = d.D.2508.a != 1;


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dberlin at gcc dot gnu dot
   ||org, rguenth at gcc dot gnu
   ||dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
 GCC target triplet|arm-none-eabi   |
   Keywords||alias, wrong-code
  Known to fail||4.2.0 4.2.1 4.3.0
  Known to work||4.1.2
   Last reconfirmed|-00-00 00:00:00 |2007-07-10 11:29:31
   date||
Summary|Wrong code generation.  |[4.2/4.3 Regression] Wrong
   |Inlining problem.   |code generation. Alias and
   ||C++ virtual bases problem.
   Target Milestone|--- |4.3.0


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



[Bug preprocessor/32717] def value is ignored

2007-07-10 Thread schwab at suse dot de


--- Comment #1 from schwab at suse dot de  2007-07-10 11:58 ---


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


-- 

schwab at suse dot de changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug preprocessor/32670] [4.3 Regression] '$' is handled as a part of identifiers in asm

2007-07-10 Thread schwab at suse dot de


--- Comment #3 from schwab at suse dot de  2007-07-10 11:58 ---
*** Bug 32717 has been marked as a duplicate of this bug. ***


-- 

schwab at suse dot de changed:

   What|Removed |Added

 CC||drazen dot zeman at kr dot
   ||htnet dot hr


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



[Bug c++/32716] [4.2/4.3 Regression] Wrong code generation. Alias and C++ virtual bases problem.

2007-07-10 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2007-07-10 12:52 ---
Fixed with take3.diff.


-- 


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



[Bug tree-optimization/32694] [4.1/4.2 Regression] ICE in chain_of_csts_start

2007-07-10 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2007-07-10 13:10 ---
This got fixed by
http://gcc.gnu.org/ml/gcc-patches/2006-11/msg00206.html
on the trunk.
Even is subset of those changes fixes this on 4.2 branch:
--- gcc/tree-ssa-ccp.c.jj   2007-03-20 00:22:09.0 +0100
+++ gcc/tree-ssa-ccp.c  2007-07-10 14:49:15.0 +0200
@@ -2063,12 +2063,13 @@ fold_stmt_r (tree *expr_p, int *walk_sub
  tem = fold_binary (TREE_CODE (op0), TREE_TYPE (op0),
 TREE_OPERAND (op0, 0),
 TREE_OPERAND (op0, 1));
- set = tem  is_gimple_condexpr (tem);
+ set = tem  set_rhs (expr_p, tem);
  fold_undefer_overflow_warnings (set, fold_stmt_r_data-stmt, 0);
  if (set)
-   TREE_OPERAND (expr, 0) = tem;
- t = expr;
-  break;
+   {
+ t = *expr_p;
+ break;
+   }
 }

 default:
--- gcc/tree-ssa-propagate.c.jj 2007-03-20 00:22:09.0 +0100
+++ gcc/tree-ssa-propagate.c2007-07-10 14:55:18.0 +0200
@@ -571,7 +571,8 @@ set_rhs (tree *stmt_p, tree expr)
   ssa_op_iter iter;

   /* Verify the constant folded result is valid gimple.  */
-  if (TREE_CODE_CLASS (code) == tcc_binary)
+  if (TREE_CODE_CLASS (code) == tcc_binary
+  || TREE_CODE_CLASS (code) == tcc_comparison)
 {
   if (!is_gimple_val (TREE_OPERAND (expr, 0))
  || !is_gimple_val (TREE_OPERAND (expr, 1)))

which prevents in this case generating invalid gimple.
On gcc-4_1-branch, even just the tree-ssa-propagate.c chunk cures this.
Is this something which can safely be changed on the release branches?


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dnovillo at gcc dot gnu dot
   ||org


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



[Bug fortran/29804] segfault with -fbounds-check on allocatable derived type components

2007-07-10 Thread tkoenig at gcc dot gnu dot org


--- Comment #7 from tkoenig at gcc dot gnu dot org  2007-07-10 13:20 ---
(In reply to comment #6)
 Salvatore, could you please recheck this one? I can not observe any problems,
 neither on dt_bnd.f90 nor on the reduced testcase. 

Neither can I, it seems to have fixed itself.

Should we put it into the test suite to make sure there's no regression?


-- 

tkoenig at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tkoenig at gcc dot gnu dot
   ||org


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



Re: [Bug fortran/29804] segfault with -fbounds-check on allocatable derived type components

2007-07-10 Thread Jerry DeLisle


Have you looked with valgrind or similar to see if there are errors occurring?

Please definitely put in the testsuite.  There may be something we don't see yet 
going on here.


[Bug fortran/29804] segfault with -fbounds-check on allocatable derived type components

2007-07-10 Thread jvdelisle at verizon dot net


--- Comment #8 from jvdelisle at verizon dot net  2007-07-10 13:43 ---
Subject: Re:  segfault with -fbounds-check on allocatable
 derived type components


Have you looked with valgrind or similar to see if there are errors occurring?

Please definitely put in the testsuite.  There may be something we don't see
yet 
going on here.


-- 


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



[Bug c++/32718] New: g++ looping on bad __label__ declaration

2007-07-10 Thread tony at rogvall dot se
Following standalone code will make the compiler (g++) loop:

void test()
{
__label__ 0;
}

command line: g++ lbl.c.  However gcc lbl.c works (with ONE error report) 
!

output with g++ will be:

lbl.c:5: error: expected identifier before numeric constant
lbl.c:5: error: expected `,' before numeric constant
lbl.c:5: error: expected identifier before numeric constant
lbl.c:5: error: expected `,' before numeric constant
lbl.c:5: error: expected identifier before numeric constant
lbl.c:5: error: expected `,' before numeric constant
lbl.c:5: error: expected identifier before numeric constant
lbl.c:5: error: expected `,' before numeric constant
lbl.c:5: error: expected identifier before numeric constant
lbl.c:5: error: expected `,' before numeric constant
lbl.c:5: error: expected identifier before numeric constant
lbl.c:5: error: expected `,' before numeric constant
lbl.c:5: error: expected identifier before numeric constant
lbl.c:5: error: expected `,' before numeric constant
lbl.c:5: error: expected identifier before numeric constant
lbl.c:5: error: expected `,' before numeric constant
lbl.c:5: error: expected identifier before numeric constant
lbl.c:5: error: expected `,' before numeric constant
lbl.c:5: error: expected identifier before numeric constant
lbl.c:5: error: expected `,' before numeric constant
lbl.c:5: error: expected identifier before numeric constant
lbl.c:5: error: expected `,' before numeric constant
lbl.c:5: error: expected identifier before numeric constant
...


output with gcc:

gcc lbl.c
lbl.c: In function 'test':
lbl.c:5: error: parse error before numeric constant


-- 
   Summary: g++ looping on bad __label__ declaration
   Product: gcc
   Version: 4.0.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tony at rogvall dot se
 GCC build triplet: i686-apple-darwin8
  GCC host triplet: i686-apple-darwin8
GCC target triplet: i686-apple-darwin8


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



[Bug c++/32718] g++ looping on bad __label__ declaration

2007-07-10 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2007-07-10 13:49 ---
Fixed in 4.0.2.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.0.2


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



[Bug c/32719] New: ICE when compiling c-format.c

2007-07-10 Thread lucier at math dot purdue dot edu
With this configure and make:

[descartes:gcc/objdirs/objdir-mainline] gcc-test% cat
../../mainline/build-and-check-gcc 
#!/bin/tcsh
/bin/rm -rf *; env CC=/pkgs/gcc-4.2.0-64/bin/gcc ../../mainline/configure
--build=powerpc64-apple-darwin8.9.0 --host=powerpc64-apple-darwin8.9.0
--target=powerpc64-apple-darwin8.9.0 --with-gmp=/pkgs/gmp-4.2.1-64/
--with-mpfr=/pkgs/gmp-4.2.1-64/ --prefix=/pkgs/gcc-4.3.0-64; make -j 4
bootstrap BOOT_LDFLAGS='-Wl,-search_paths_first'  build.log  (make install)
 (make -k -j 8 check RUNTESTFLAGS=--target_board 'unix{-mcpu=970/-m64}'  
check.log ; make mail-report.log)

and with this version of gcc:

[descartes:~/programs/gcc/mainline] gcc-test% cat LAST_UPDATED 
Mon Jul  9 12:08:01 EDT 2007
Mon Jul  9 16:08:01 UTC 2007 (revision 126488M)

bootstrap fails with

/Users/gcc-test/programs/gcc/objdirs/objdir-mainline/./prev-gcc/xgcc
-B/Users/gcc-test/programs/gcc/objdirs/objdir-mainline/./prev-gcc/
-B/pkgs/gcc-4.3.0-64/powerpc64-apple-darwin8.9.0/bin/ -c   -g -O2 -DIN_GCC   -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -Wmissing-format-attribute -pedantic -Wno-long-long
-Wno-variadic-macros
-Wno-overlength-strings -Werror -fno-common   -DHAVE_CONFIG_H -I. -I.
-I../../../mainline/gcc -I../../../mainline/gcc/.
-I../../../mainline/gcc/../include -I./../intl
-I../../../mainline/gcc/../libcpp/include -I/pkgs/gmp-4.2.1-64//include
-I/pkgs/gmp-4.2.1-64//include -I../../../mainline/gcc/../libdecnumber
-I../../../mainline/gcc/../libdecnumber/dpd -I../libdecnumber   
../../../mainline/gcc/c-format.c -o c-format.o
../../../mainline/gcc/c-format.c: In function 'check_format_info_main':
../../../mainline/gcc/c-format.c:2109: internal compiler error: Segmentation
fault
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
make[3]: *** [c-format.o] Error 1
make[2]: *** [all-stage3-gcc] Error 2
make[1]: *** [stage3-bubble] Error 2
make: *** [bootstrap] Error 2


-- 
   Summary: ICE when compiling c-format.c
   Product: gcc
   Version: lno
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: lucier at math dot purdue dot edu
 GCC build triplet: powerpc64-apple-darwin8.9.0
  GCC host triplet: powerpc64-apple-darwin8.9.0
GCC target triplet: powerpc64-apple-darwin8.9.0


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



[Bug java/32712] error trying to exec 'ecj1' - also - SuppressWarnings cannot be resolved to a type

2007-07-10 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-07-10 15:13 ---
This is not a bug, please read: http://gcc.gnu.org/gcc-4.3/changes.html
Java (GCJ)

gcj now uses the Eclipse Java compiler for its Java parsing needs. This enables
the use of all 1.5 language features, and fixes most existing front end bugs.

And also read:
http://gcc.gnu.org/ml/java/2006-12/msg00070.html


-- 

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



[Bug c++/32716] [4.2/4.3 Regression] Wrong code generation. Alias and C++ virtual bases problem.

2007-07-10 Thread ramana dot radhakrishnan at celunite dot com


--- Comment #4 from ramana dot radhakrishnan at celunite dot com  
2007-07-10 15:14 ---
(In reply to comment #3)
 Fixed with take3.diff.
 

Did you forget to attach take3.diff ? 


-- 


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



[Bug c++/32716] [4.2/4.3 Regression] Wrong code generation. Alias and C++ virtual bases problem.

2007-07-10 Thread rguenther at suse dot de


--- Comment #5 from rguenther at suse dot de  2007-07-10 15:32 ---
Subject: Re:  [4.2/4.3 Regression] Wrong code generation.
 Alias and C++ virtual bases problem.

On Tue, 10 Jul 2007, ramana dot radhakrishnan at celunite dot com wrote:

 --- Comment #4 from ramana dot radhakrishnan at celunite dot com  
 2007-07-10 15:14 ---
 (In reply to comment #3)
  Fixed with take3.diff.
  
 
 Did you forget to attach take3.diff ? 

No, that was a hint to Danny ;)

Richard.


-- 


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



[Bug fortran/32720] New: No coalesce ssa_names

2007-07-10 Thread rosana07a at gmail dot com
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.3.0/configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --disable-nls --disable-multilib --disable-werror
--disable-libunwind-exceptions --disable-checking --disable-decimal-float
--enable-shared --enable-tls --enable-threads=posix --enable-bootstrap
--enable-__cxa_atexit --enable-clocale=gnu --enable-languages=fortran
--with-cpu=pentium3 --with-system-zlib
Thread model: posix
gcc version 4.3.0 20070710 (experimental)
 /usr/libexec/gcc/i686-pc-linux-gnu/4.3.0/f951 lexlin.f90 -quiet -dumpbase
lexlin.f90 -mtune=pentium3 -auxbase lexlin -O2 -version
-fintrinsic-modules-path /usr/lib/gcc/i686-pc-linux-gnu/4.3.0/finclude -o
lexlin.s
GNU F95 version 4.3.0 20070710 (experimental) (i686-pc-linux-gnu)
compiled by GNU C version 4.3.0 20070710 (experimental), GMP version
4.2.1, MPFR version 2.2.1-p5.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072

Unable to coalesce ssa_names 1 and 86 which are marked as MUST COALESCE.
ichr_1(ab) and  ichr_86(ab)
lexlin.f90: In function 'lexlin':
lexlin.f90:1: internal compiler error: SSA corruption
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.


-- 
   Summary: No coalesce ssa_names
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rosana07a at gmail dot com
 GCC build triplet: i686
  GCC host triplet: i686
GCC target triplet: i686


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



[Bug tree-optimization/32721] New: CCP removes volatile qualifiers.

2007-07-10 Thread ramana dot radhakrishnan at celunite dot com
With today's trunk on a private port . consider the following testcase. 


volatile int spinlock[2];
void main (void)
{
volatile int * spinlock0;
volatile int * spinlock1;
spinlock0 = spinlock[0];
spinlock1 = spinlock[1];

*spinlock0 = 0;
*spinlock1 = 0;
 while (*spinlock0);
}

CCP folds this into the following form 
Simulating block 4

Simulating block 3

Substituing values and folding statements

Folded statement: *spinlock0_1 = 0;
into: spinlock[0] = 0;

Folded statement: *spinlock1_2 = 0;
into: spinlock[1] = 0;

Folded statement: D.1498_3 = *spinlock0_1;
into: D.1498_3 = spinlock[0];

main ()
{
  volatile int * spinlock1;
  volatile int * spinlock0;
  int D.1498;

bb 2:
  spinlock0_1 = spinlock[0];
  spinlock1_2 = spinlock[1];
  spinlock[0] = 0;
  spinlock[1] = 0;

bb 3:
  D.1498_3 = spinlock[0]; --- This folding seems to be wrong. 
  if (D.1498_3 != 0)
goto bb 3;
  else
goto bb 4;

bb 4:
  return;

}


-- 
   Summary: CCP removes volatile qualifiers.
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ramana dot radhakrishnan at celunite dot com


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



[Bug fortran/32720] No coalesce ssa_names

2007-07-10 Thread rosana07a at gmail dot com


--- Comment #1 from rosana07a at gmail dot com  2007-07-10 16:07 ---
Created an attachment (id=13877)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13877action=view)
failing *.f90


-- 


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



[Bug fortran/32720] No coalesce ssa_names

2007-07-10 Thread rosana07a at gmail dot com


--- Comment #2 from rosana07a at gmail dot com  2007-07-10 16:08 ---
Created an attachment (id=13878)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13878action=view)
1st req *.mod


-- 


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



[Bug fortran/32720] No coalesce ssa_names

2007-07-10 Thread rosana07a at gmail dot com


--- Comment #3 from rosana07a at gmail dot com  2007-07-10 16:09 ---
Created an attachment (id=13879)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13879action=view)
2nd req *.mod


-- 


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



[Bug fortran/32720] No coalesce ssa_names

2007-07-10 Thread rosana07a at gmail dot com


--- Comment #4 from rosana07a at gmail dot com  2007-07-10 16:10 ---
Created an attachment (id=13880)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13880action=view)
3rd req *.mod


-- 


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



[Bug fortran/32720] No coalesce ssa_names

2007-07-10 Thread rosana07a at gmail dot com


--- Comment #5 from rosana07a at gmail dot com  2007-07-10 16:11 ---
Created an attachment (id=13881)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13881action=view)
4th req *.mod


-- 


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



[Bug java/32712] error trying to exec 'ecj1' - also - SuppressWarnings cannot be resolved to a type

2007-07-10 Thread drow at false dot org


--- Comment #2 from drow at gcc dot gnu dot org  2007-07-10 16:12 ---
Subject: Re:  error trying to exec 'ecj1' - also -
SuppressWarnings cannot be resolved to a type

On Tue, Jul 10, 2007 at 03:13:42PM -, pinskia at gcc dot gnu dot org wrote:
 This is not a bug, please read: http://gcc.gnu.org/gcc-4.3/changes.html
 Java (GCJ)
 
 gcj now uses the Eclipse Java compiler for its Java parsing needs. This 
 enables
 the use of all 1.5 language features, and fixes most existing front end bugs.
 
 And also read:
 http://gcc.gnu.org/ml/java/2006-12/msg00070.html

It Would Be Nice if it were easier to figure out what you had to do,
though.  Non-gcj-hackers don't know to look in contrib for a magic
script.


-- 


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



[Bug fortran/32720] No coalesce ssa_names

2007-07-10 Thread rosana07a at gmail dot com


--- Comment #6 from rosana07a at gmail dot com  2007-07-10 16:14 ---
Works with -O0

Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.3.0/configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --disable-nls --disable-multilib --disable-werror
--disable-libunwind-exceptions --disable-checking --disable-decimal-float
--enable-shared --enable-tls --enable-threads=posix --enable-bootstrap
--enable-__cxa_atexit --enable-clocale=gnu --enable-languages=fortran
--with-cpu=pentium3 --with-system-zlib
Thread model: posix
gcc version 4.3.0 20070710 (experimental)
 /usr/libexec/gcc/i686-pc-linux-gnu/4.3.0/f951 lexlin.f90 -quiet -dumpbase
lexlin.f90 -mtune=pentium3 -auxbase lexlin -O0 -version
-fintrinsic-modules-path /usr/lib/gcc/i686-pc-linux-gnu/4.3.0/finclude -o
lexlin.s
GNU F95 version 4.3.0 20070710 (experimental) (i686-pc-linux-gnu)
compiled by GNU C version 4.3.0 20070710 (experimental), GMP version
4.2.1, MPFR version 2.2.1-p5.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
 /usr/lib/gcc/i686-pc-linux-gnu/4.3.0/../../../../i686-pc-linux-gnu/bin/as -V
-Qy -o lexlin.o lexlin.s
GNU assembler version 2.17.50.0.16 (i686-pc-linux-gnu) using BFD version
(Linux/GNU Binutils) 2.17.50.0.16.20070511


-- 


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



[Bug tree-optimization/32721] CCP removes volatile qualifiers.

2007-07-10 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2007-07-10 16:15 ---
Indeed.  CCP propagates the constant addresses spinlock and spinlock[1] to
the deref sides which loses the volatile qualifier from the access.  Disabling
that leads to VRP which does the same.  Then DOM which does the same.  Then
store-ccp which is not disabled by -fno-tree-ccp.  So, finally,

  -O2 -fno-tree-ccp -fno-tree-vrp -fno-tree-dominator-opts -fno-tree-store-ccp

makes it work.  Maybe this one is stretching what we want to support...


-- 

rguenth 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-07-10 16:15:57
   date||


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



[Bug tree-optimization/32721] CCP removes volatile qualifiers.

2007-07-10 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2007-07-10 16:19 ---
As the decl is volatile as well this is clearly a bogus optimization.


-- 


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



[Bug tree-optimization/32722] New: [4.3 Regression] Bootstrap failure with -fno-tree-store-copy-prop

2007-07-10 Thread rguenth at gcc dot gnu dot org
Bootstrap fails compiling tree-ssa-structalias.c with a verify_ssa failure:

../../gcc/gcc/tree-ssa-structalias.c: In function 'build_pred_graph':
../../gcc/gcc/tree-ssa-structalias.c:940: error: definition in block 5 follows
the use
for SSA_NAME: D.36231_29 in statement:
D.36230_26 = D.36231_29;
../../gcc/gcc/tree-ssa-structalias.c:940: internal compiler error: verify_ssa
failed
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.

this doesn't reduce easily but with --param ggc-min-expand=0 --param
ggc-min-heapsize=0 so this is likely GC related.  

See also PR32636 for a similar issue that got latent again.

Testcase is still reducing.


-- 
   Summary: [4.3 Regression] Bootstrap failure with -fno-tree-store-
copy-prop
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code, GC
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org


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



[Bug tree-optimization/32722] [4.3 Regression] Bootstrap failure with -fno-tree-store-copy-prop

2007-07-10 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2007-07-10 16:36 ---
The verify_ssa failure is after PRE.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dberlin at gcc dot gnu dot
   ||org


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



[Bug c++/32716] [4.2/4.3 Regression] Wrong code generation. Alias and C++ virtual bases problem.

2007-07-10 Thread dberlin at dberlin dot org


--- Comment #6 from dberlin at gcc dot gnu dot org  2007-07-10 16:59 ---
Subject: Re:  [4.2/4.3 Regression] Wrong code generation. Alias and C++ virtual
bases problem.

On 10 Jul 2007 15:32:51 -, rguenther at suse dot de
[EMAIL PROTECTED] wrote:


 --- Comment #5 from rguenther at suse dot de  2007-07-10 15:32 ---
 Subject: Re:  [4.2/4.3 Regression] Wrong code generation.
  Alias and C++ virtual bases problem.

 On Tue, 10 Jul 2007, ramana dot radhakrishnan at celunite dot com wrote:

  --- Comment #4 from ramana dot radhakrishnan at celunite dot com  
  2007-07-10 15:14 ---
  (In reply to comment #3)
   Fixed with take3.diff.
  
 
  Did you forget to attach take3.diff ?

 No, that was a hint to Danny ;)


You never told me whether omnetpp/xalanbmc were still failing with it or not :)


-- 


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



[Bug libgcj/32651] [4.2/4.3 regression] libjava fails to build on IRIX 6.5

2007-07-10 Thread ro at gcc dot gnu dot org


--- Comment #2 from ro at gcc dot gnu dot org  2007-07-10 17:00 ---
Mine.


-- 

ro at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ro at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-07-10 17:00:59
   date||


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



[Bug libgcj/32651] [4.2/4.3 regression] libjava fails to build on IRIX 6.5

2007-07-10 Thread ro at gcc dot gnu dot org


--- Comment #3 from ro at gcc dot gnu dot org  2007-07-10 17:01 ---
Subject: Bug 32651

Author: ro
Date: Tue Jul 10 17:01:47 2007
New Revision: 126515

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=126515
Log:
PR libgcj/32651
* configure.host (mips-sgi-irix6*): Set sysdeps_dir.
Disable interpreter.


Modified:
trunk/libjava/ChangeLog
trunk/libjava/configure.host


-- 


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



[Bug libgcj/32651] [4.2/4.3 regression] libjava fails to build on IRIX 6.5

2007-07-10 Thread ro at gcc dot gnu dot org


--- Comment #4 from ro at gcc dot gnu dot org  2007-07-10 17:03 ---
Subject: Bug 32651

Author: ro
Date: Tue Jul 10 17:02:57 2007
New Revision: 126516

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=126516
Log:
PR libgcj/32651
* configure.host (mips-sgi-irix6*): Set sysdeps_dir.
Disable interpreter.


Modified:
branches/gcc-4_2-branch/libjava/ChangeLog
branches/gcc-4_2-branch/libjava/configure.host


-- 


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



[Bug tree-optimization/32720] No coalesce ssa_names

2007-07-10 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2007-07-10 17:03 ---
Even though this is a tree-opt bug, the Fortran front-end implementation  of
select of a string could be improved not to use indirect gotos.


-- 


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



  1   2   >