C99 and C++0x status pages

2010-08-31 Thread Andre Majorel
Yesterday, I spent an hour looking for the C99 and C++0x status
pages in http://gcc.gnu.org/,

  http://gcc.gnu.org/c99status.html
  http://gcc.gnu.org/projects/cxx0x.html

Apparently, the shortest path to the latter is

  "Releases"
-> "GCC 4.5.1"
  -> "GCC 4.5.1 Jul 31, 2010 (changes)"
-> "Improved experimental support for the upcoming C++0x"
  -> "please see the C++0x in GCC project page"

Those are among the most useful pages of the site, it makes no
sense to bury them 4+ levels deep.

-- 
André Majorel http://www.teaser.fr/~amajorel/


Re: Add uninitialized attribute?

2010-08-31 Thread Andrew Haley
On 08/30/2010 03:50 PM, Vincent Lefevre wrote:
> On 2010-08-30 14:46:57 +0200, Michael Matz wrote:
>> int x = x;
>>
>> is the way GCC offers this idiom since about forever, no need for an 
>> attribute.  Downthread I see that people worry about this generating an 
>> actual (uninitialized) access to x.  They are confused.
> 
> This is not a good idea as "int x = x;" may really generate an
> (uninitialized) access to x with other compilers.

Absolutely so.  I suspect it's even undefined behaviour in the standard
language.  There's no way that this idiom should appear anywhere in
GNU code.

Andrew.


Re: C99 and C++0x status pages

2010-08-31 Thread Piotr Wyderski
Andre Majorel wrote:

> Those are among the most useful pages of the site, it makes no
> sense to bury them 4+ levels deep.

Google is your friend: when asked for g++ c++0x it returns
the correct page as the first result. I always use it that way,
because website messiness appears to be a de facto Internet
standard and GNU is well known for its standard conformance. ;-)

Best regards, Piotr


RE: Clustering switch cases

2010-08-31 Thread Rahul Kharche
> I will be looking at the patch Rahul posted and will try to see if I
> can improve on it.

See attached patch (again) that Paulo is referring to. Sending to GCC
failed due to email client issues.

I have another patch for http://gcc.gnu.org/ml/gcc/2010-08/msg00413.html
Which I will send out shortly.

Rahul


switch_case_clusters.patch
Description: switch_case_clusters.patch


Re: Add uninitialized attribute?

2010-08-31 Thread Mark Mitchell
On 8/31/2010 1:19 AM, Andrew Haley wrote:
> On 08/30/2010 03:50 PM, Vincent Lefevre wrote:
>> On 2010-08-30 14:46:57 +0200, Michael Matz wrote:
>>> int x = x;
>>>
>>> is the way GCC offers this idiom since about forever, no need for an 
>>> attribute.  Downthread I see that people worry about this generating an 
>>> actual (uninitialized) access to x.  They are confused.
>>
>> This is not a good idea as "int x = x;" may really generate an
>> (uninitialized) access to x with other compilers.
> 
> Absolutely so.  I suspect it's even undefined behaviour in the standard
> language.  There's no way that this idiom should appear anywhere in
> GNU code.

I agree; an attribute, or the __unitialized__ keyword would be much cleaner.

On the other hand, I think GCC should continue to accept "int x = x;" as
a synonym for the forseeable future; whether or not it's good language
design it has been a de facto part of GNU C for a long time.

-- 
Mark Mitchell
CodeSourcery
m...@codesourcery.com
(650) 331-3385 x713


End of GCC 4.6 Stage 1: October 27, 2010

2010-08-31 Thread Mark Mitchell
We (GCC RMs) plan to close GCC 4.6 Stage 1 on or or about October 27,
2010 (the closing day of the GCC Summit).  Major features should be
checked in prior to this point.  Please let us know if you have a major
feature that you think you will not be able to get checked in prior to
October 27th.

Thank you,

-- 
Mark Mitchell
CodeSourcery
m...@codesourcery.com
(650) 331-3385 x713


Re: How is the definition of stack canary on MIPS arch?

2010-08-31 Thread David Daney

On 08/30/2010 08:36 PM, Adam Jiang wrote:

On Mon, Aug 30, 2010 at 10:43:44AM -0700, David Daney wrote:

On 08/30/2010 09:46 AM, Richard Henderson wrote:

On 08/30/2010 03:45 AM, Adam Jiang wrote:

When I read the source in Linux kerne, it was said that stack canary for
implementing stack protector is defined as an offset to %gs on x86
architecture. How about stack canary defined on MIPS?


It's not implemented for MIPS.




For the Linux kernel, the MIPS stack canary would be a constant
offset (that depends on PAGE_SIZE) from register $28.

David Daney


Thanks, David and Richard.

Is there code, doc or anything on this topic I can refer to? Is it
defined in gcc internally or in kernel source itself? Would you please
redirect me to the right place?



I am unaware of any documents.  The MIPS Linux kernel ABI is not really 
documented anywhere, one learns it by studying and hacking on the source 
code.


32-bit kernels use a variant of the o32 ABI, 64-bit kernels use a 
variant of n64.  Both dedicate register $28 as a pointer to the thread 
area of which the stack is a part.


The form any stack canary for the MIPS Linux kernel will be determined 
by whomever implements it.



I have done some research by googling. Here are what I've gotten.

http://www.trl.ibm.com/projects/security/ssp/main.html
http://www.trl.ibm.com/projects/security/ssp/
http://lxr.linux.no/linux+v2.6.35/arch/x86/include/asm/stackprotector.h

However, it seems there is no documents about how this is done on MIPS.
Do I miss something?



At RTH said, "It's not implemented for MIPS.", so there was really 
nothing to miss.


David Daney


gcc-4.4-20100831 is now available

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

This snapshot has been generated from the GCC 4.4 SVN branch
with the following options: svn://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch 
revision 163704

You'll find:

 gcc-4.4-20100831.tar.bz2 Complete GCC (includes all of below)

  MD5=d4dbb54668eda7795b8771495212e91d
  SHA1=9ca5123e526e070b611dd1c770156ce66c6cbbd0

 gcc-core-4.4-20100831.tar.bz2C front end and core compiler

  MD5=acb6af2584c839f3d57682ff0acc95ae
  SHA1=3dfdd4ff3a6cdc8c387cc4cb9ace6bc5e0bf525f

 gcc-ada-4.4-20100831.tar.bz2 Ada front end and runtime

  MD5=35bb3a0c17697309dd9836356cb9263e
  SHA1=3ea7812b48eef0e207f9fa07d1db007ac9ee888d

 gcc-fortran-4.4-20100831.tar.bz2 Fortran front end and runtime

  MD5=945699f9818d680c59d784e020541959
  SHA1=c3894a19d7ca05fdada77fd97506545f9a02f257

 gcc-g++-4.4-20100831.tar.bz2 C++ front end and runtime

  MD5=af021b5be18edd854122b6e5a8cebf43
  SHA1=f2096caa79ab4c572ad1e6ee96698d10aa3fd031

 gcc-java-4.4-20100831.tar.bz2Java front end and runtime

  MD5=9fa798f47c730852fec53dfa4cadafcc
  SHA1=c78b9acf2b903e09084bd8c943c1020ef53babb6

 gcc-objc-4.4-20100831.tar.bz2Objective-C front end and runtime

  MD5=8a00f268202cbb867a9fa3c0b38f2e3b
  SHA1=043054c0f8859b188a847910c76b13bad4638a43

 gcc-testsuite-4.4-20100831.tar.bz2   The GCC testsuite

  MD5=c56fa452e043e6e1a1519578dab13af9
  SHA1=42e432e95b7ea6a6bccbc436e11e511f210b84a2

Diffs from 4.4-20100824 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-4.4
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: Clustering switch cases

2010-08-31 Thread Paul Brook
> > In fact we might want to move switch optimization up to the tree level
> > (just because it's way easier to deal with there).  Thus, lower switch
> > to a mixture of binary tree & jump-tables (possibly using perfect
> > hashing).
> 
> Doing the optimisation at the tree-level was exactly my initial idea.
> By splitting the switches at the tree-level, before expand_case, would
> then allow for expand_case to transform it either to a jump table or
> binary tree depending on the situation.

I'd kinda hope that doing the optimization at the tree level means expand_case 
doesn't have to handle both types.  The tree code converts sparse case ranges 
to explicit conditionals (or a switch on a compact perfect hash), so anything 
left to RTL expansion must be a jump table.

Paul


Atom 2010-Q3 SPEC CPU 2K results

2010-08-31 Thread Lu, Hongjiu


H.J.




gcc 4.6 Atom 2010-Q3.xlsx
Description: gcc 4.6 Atom 2010-Q3.xlsx


Recall: Atom 2010-Q3 SPEC CPU 2K results

2010-08-31 Thread Lu, Hongjiu
Lu, Hongjiu would like to recall the message, "Atom 2010-Q3 SPEC CPU 2K 
results".