gcc-4.6-20100731 is now available

2010-07-31 Thread gccadmin
Snapshot gcc-4.6-20100731 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/4.6-20100731/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

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

You'll find:

gcc-4.6-20100731.tar.bz2  Complete GCC (includes all of below)

gcc-core-4.6-20100731.tar.bz2 C front end and core compiler

gcc-ada-4.6-20100731.tar.bz2  Ada front end and runtime

gcc-fortran-4.6-20100731.tar.bz2  Fortran front end and runtime

gcc-g++-4.6-20100731.tar.bz2  C++ front end and runtime

gcc-java-4.6-20100731.tar.bz2 Java front end and runtime

gcc-objc-4.6-20100731.tar.bz2 Objective-C front end and runtime

gcc-testsuite-4.6-20100731.tar.bz2The GCC testsuite

Diffs from 4.6-20100724 are available in the diffs/ subdirectory.

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


Re: Reload problems with only one base reg for "base + offset" addressing mode

2010-07-31 Thread redriver jiang
Hi,

Seems there are still some exceptions.

During my testing, the compiler complains:

./os_core.c: In function 'OS_EventTaskWait':
./os_core.c:747: error: unable to find a register to spill in class
'POINTER_REGS'
./os_core.c:747: error: this is the insn:
(insn 7 6 8 2 ./os_core.c:739 (set (mem/s/f:HI (plus:HI (reg/f:HI 16
R16 [orig:39 OSTCBCur.39 ] [39])
(const_int 13 [0xd])) [11 .OSTCBEventPtr+0 S2 A8])
(reg/v/f:HI 2 R2 [orig:40 pevent ] [40])) 48 {*movhi} (nil))
./os_core.c:747: confused by earlier errors, bailing out


I guess that it is caused by that there is only one register "R18" in
"POINTER_REGS" class.

I have changed "LEGITIMIZE_RELOAD_ADDRESS" several times, but still can't work.

Do I miss some "macro" definition?

Could someone give some direction?

Thanks!

Jiang



2010/7/26 Ian Lance Taylor :
> redriver jiang  writes:
>
>> But the constrains are really long.
>
> Well, yeah.
>
>> I use "U" for memory operands with address "R18+offset", and "S" for
>> memory operands with address "R16" or "R17", and "Q" for memory
>> operands with constant address(such as symbol ref, or const_int), the
>> all combinations are as more as 43 types, and I have to change
>> "MAX_RECOG_ALTERNATIVES" from "30" to be larger constants in
>> "recog.h".
>>
>> (define_insn "*iorqi3_noimm_to_reg"
>> [(set    (match_operand:QI 0 "register_mem_operand"
>> "=r,r,r,r,r,r,r,r,r,r,r,r,r,U,U,U,S,S,S,Q,Q,Q,U,S,Q,U,U,U,U,U,U,S,S,S,S,S,S,Q,Q,Q,Q,Q,Q")
>>         (ior:QI (match_operand:QI 1 "register_mem_operand"
>> "%0,0,0,0,U,U,U,S,S,S,Q,Q,Q,r,r,r,r,r,r,r,r,r,r,r,r,U,U,U,S,Q,Q,U,U,U,S,Q,Q,U,U,U,S,Q,Q")
>>                      (match_operand:QI 2 "register_mem_operand"
>> "U,S,Q,r,U,S,Q,U,S,Q,U,S,Q,U,S,Q,U,S,Q,U,S,Q,r,r,r,U,S,Q,S,S,Q,U,S,Q,S,S,Q,U,S,Q,S,S,Q")))]
>>  ""
>>  "..."
>>
>> [( set_attr "length"
>> "3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3"
>> )
>> ( set_attr "clobberb"
>> "no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no"
>> )])
>>
>>
>> Is there any suggestions about this "long" constraints?
>
> My only useful suggestion is that you can say
>    (set_attr "length" "3")
>    (set_attr "clobberb" "no")
> You don't have to repeat the setting if it is the same for all
> alternatives.
>
> Ian
>


Re: GFDL/GPL issues

2010-07-31 Thread Robert Dewar

Joern Rennecke wrote:


If you want to make the point that the FSF would have to consider fair
use if it were to sue in an US court - well, AFAICT it wouldn't have to,
it could sue in the court of the contributor's country of residence /
incorporation, as is common in patent cases where the patent might be
invalid in the patent holders's country of incorporation.


I think this has gone beyond what is appropriate for the gcc list, I am
happy to take it offline if you like.



GCC 4.5.2 Status Report (2010-07-31)

2010-07-31 Thread Richard Guenther

Status
==

GCC 4.5.1 has been released, the release will be announced after
mirrors have catched up.  The branch is now open for regression
and documentation fixes again.

Quality Data


Priority  # Change from Last Report
--- ---
P10
P2   99 -  4 
P3   13 + 10  
--- ---
Total   112 +  6


Previous Report
===

http://gcc.gnu.org/ml/gcc/2010-07/msg00321.html


The next status report will be sent by Jakub.