Re: Some bugs in the GCC 4.3 release notes

2008-06-15 Thread Gerald Pfeifer
On Tue, 10 Jun 2008, James Brown wrote:
> The link the the GCC 4.3 release notes to the TR1 implementation
> status page is dead.

No more, fixed with the patch below.

(This was one of the side effects of a documentation rewrite on the
libstdc++ side.)

> Also, the parallel mode page is somewhat unclear as to exactly _how_
> to substitute the parallel algorithms "on a piecemeal basis."

Let me add the libstdc++ list where the experts are.  Usually, user
support questions should go to [EMAIL PROTECTED], not the general
lists which is about the development _of_ GCC as opposed to _with_ GCC,
but this may be something to hilight better in our documentation.

Gerald
-- 
Gerald (Jerry) Pfeifer   [EMAIL PROTECTED]   http://www.pfeifer.com/gerald/


Re: Mirror

2008-06-15 Thread Gerald Pfeifer
Hi Alex,

On Tue, 10 Jun 2008, Alex Korolev wrote:
>   I noticed I miss few important things in the first email regarding
>   mirror.
> 
>   Mirror name: gcc.releasenotes.org
>   Mirror url: http://gcc.releasenotes.org
>   Location: USA, TX
>   Supporter: [EMAIL PROTECTED]

I looked into this, and it seems this mirror "only" carries our releases?

http://gcc.gnu.org/mirrors.html is ment to list those sites that mirror
gcc.gnu.org directly, including our weekly snapshots and RCs.  For sites
that carry releases, we refer to the main GNU mirror list.

Gerald
-- 
Gerald (Jerry) Pfeifer   [EMAIL PROTECTED]   http://www.pfeifer.com/gerald/


ftp://gcc.gnu.org/pub/gcc/snapshots cleanups

2008-06-15 Thread Gerald Pfeifer
I realized that our full FTP tree at ftp://gcc.gnu.org/pub/gcc/
consumes 27GB overall.

There is ample diskspace on gcc.gnu.org itself, but for (new) mirrors
this is quite a bit, for example, so I went ahead and reduced this to
18G by removing some older snapshots (from 2007 and RCs for previous
releases).

Gerald


Re: Help requested on C++ template syntax (for Emacs development).

2008-06-15 Thread Alan Mackenzie
Hi, Ian!

On Tue, Jun 10, 2008 at 12:05:20PM -0700, Ian Lance Taylor wrote:
> Ian Lance Taylor <[EMAIL PROTECTED]> writes:

> > Alan Mackenzie <[EMAIL PROTECTED]> writes:

> >> I'm thinking of things like

> >> foo (a < b, c > d);

[  ]

> Oh, wait, I forgot about constructors.  This is valid C++ code:

> template  class a;

> class foo
> {
>   foo (a < b, c > d);
> };

> extern void quux (int, int);

> void bar()
> {
>   quux (e < b, c > d);
> }

> Inside the class foo, you've got a template, inside the function bar,
> you've got a function call.

> I think you're going to have a hard time with this.

Er, yes.  ;-)  Thank you very much for all the help.  It's going to take
some while to sink in.  C++ is a difficult language.  Hopefully, in a few
months time, Emacs will be doing better than it currently is.

> Ian

-- 
Alan Mackenzie (Nuremberg, Germany).


PATH_MAX missing cross building gmon-sol2.c

2008-06-15 Thread Jay

I am crossing from i686-cygwin to sparc-solaris (my Sun cc won't compile gcc
due to macros with empty parameters like in c-common.c):

/src/gcc-4.3.1/gcc/config/sparc/gmon-sol2.c: In function '_mcleanup':
/src/gcc-4.3.1/gcc/config/sparc/gmon-sol2.c:182: error: 'PATH_MAX' undeclared 
(first use in this function)
/src/gcc-4.3.1/gcc/config/sparc/gmon-sol2.c:182: error: (Each undeclared 
identifier is reported only once
/src/gcc-4.3.1/gcc/config/sparc/gmon-sol2.c:182: error: for each function it 
appears in.)
/src/gcc-4.3.1/gcc/config/sparc/gmon-sol2.c:182: warning: unused variable 'buf'
make[3]: *** [/cygdrive/d/obj/cross-gcc/sparc-solaris/libgcc/gmon.o] Error 1
make[3]: Leaving directory `/cygdrive/d/obj/cross-gcc/gcc'
make[2]: *** [gcc-extra-parts] Error 2

Could be my /usr/local/sparc-solaris/include is old.

just add #define PATH_MAX 1024

D:\src\gcc-4.3.1\gcc\config\sparc>diff -u gmon-sol2.c.orig gmon-sol2.c
--- gmon-sol2.c.orig2008-06-15 07:55:53.296875000 -0700
+++ gmon-sol2.c 2008-06-15 07:55:57.671875000 -0700
@@ -37,6 +37,8 @@
 #include  /* for creat() */
 #include "coretypes.h"
 #include "tm.h"
+
+#define PATH_MAX 1024

 #if 0
 #include "sparc/gmon.h"

I deliberately didn't put #ifndef in so that if it is defined, and this 
mismatches, will error.

Thanks,
 - Jay


configuring in-tree gmp/mpfr with "none"?

2008-06-15 Thread Jay

When gcc configures the in-tree gmp/mpfr, why
does it use --host=none-${host_vendor}-${host_os} 
--target=none-${host_vendor}-${host_os} 

instead of  --host=${host_alias} --target=${target_alias}

This "breaks" config.cache if used across directories, because the platforms 
change.

I'm trying like:
  mkdir /obj  
  cd /obj  
  /src/gcc/configure -cache-file=`pwd`/config.cache  
  # must delete the initial one as well, else another problem 
  rem config.cache  
  make  

With the 4.3.1 release.

Thanks,
 - Jay


Re: PATH_MAX missing cross building gmon-sol2.c

2008-06-15 Thread Eric Botcazou
> I am crossing from i686-cygwin to sparc-solaris (my Sun cc won't compile
> gcc due to macros with empty parameters like in c-common.c):
>
> /src/gcc-4.3.1/gcc/config/sparc/gmon-sol2.c: In function '_mcleanup':
> /src/gcc-4.3.1/gcc/config/sparc/gmon-sol2.c:182: error: 'PATH_MAX'
> undeclared (first use in this function)
> /src/gcc-4.3.1/gcc/config/sparc/gmon-sol2.c:182: error: (Each undeclared
> identifier is reported only once
> /src/gcc-4.3.1/gcc/config/sparc/gmon-sol2.c:182: error: for each function
> it appears in.) /src/gcc-4.3.1/gcc/config/sparc/gmon-sol2.c:182: warning:
> unused variable 'buf' make[3]: ***
> [/cygdrive/d/obj/cross-gcc/sparc-solaris/libgcc/gmon.o] Error 1 make[3]:
> Leaving directory `/cygdrive/d/obj/cross-gcc/gcc'
> make[2]: *** [gcc-extra-parts] Error 2
>
> Could be my /usr/local/sparc-solaris/include is old.

Or a configuration problem, see PR target/28097.

-- 
Eric Botcazou


Re: 4.4 deprecation proposals

2008-06-15 Thread DJ Delorie

"Joseph S. Myers" <[EMAIL PROTECTED]> writes:
> i[34567]86-*-coff*

DJGPP is ix86-coff - how would this deprecation affect djgpp?


Re: 4.4 deprecation proposals

2008-06-15 Thread Joseph S. Myers
On Sun, 15 Jun 2008, DJ Delorie wrote:

> "Joseph S. Myers" <[EMAIL PROTECTED]> writes:
> > i[34567]86-*-coff*
> 
> DJGPP is ix86-coff - how would this deprecation affect djgpp?

I thought DJGPP was i[34567]86-pc-msdosdjgpp*.  I do not think having 
generic CPU-*-OBJFMT triplets that really refer to a particular OS is a 
good idea.  It's only certain generic triplets I'm proposing to deprecate.

-- 
Joseph S. Myers
[EMAIL PROTECTED]


Re: Thread safety annotations and analysis in GCC

2008-06-15 Thread Tom Tromey
> "Le-Chun" == Le-Chun Wu <[EMAIL PROTECTED]> writes:

Le-Chun> Here is the design doc for the proposed annotations:
Le-Chun> http://docs.google.com/Doc?id=ddqtfwhb_0c49t6zgr

I am curious to know how this compares to the kind of lock checking
implemented in sparse, and in particular whether sparse annotations
could easily be translated to this style.

Tom


Re: 4.4 deprecation proposals

2008-06-15 Thread DJ Delorie

> I thought DJGPP was i[34567]86-pc-msdosdjgpp*.  I do not think
> having generic CPU-*-OBJFMT triplets that really refer to a
> particular OS is a good idea.  It's only certain generic triplets
> I'm proposing to deprecate.

DJGPP is ix86-pc-msdosdjgpp, yes.  However, it's based on the
ix86-coff code (djgpp is coff-based) but not 100% binary compatible
(mostly due to the dos stub, but also due to preprocessor defines,
libraries, etc).

Likewise, Cygwin and MinGW are based on the ix86-coff code but with PE
stubs and support for DLLs and such.


Re: 4.4 deprecation proposals

2008-06-15 Thread Ian Lance Taylor
DJ Delorie <[EMAIL PROTECTED]> writes:

>> I thought DJGPP was i[34567]86-pc-msdosdjgpp*.  I do not think
>> having generic CPU-*-OBJFMT triplets that really refer to a
>> particular OS is a good idea.  It's only certain generic triplets
>> I'm proposing to deprecate.
>
> DJGPP is ix86-pc-msdosdjgpp, yes.  However, it's based on the
> ix86-coff code (djgpp is coff-based) but not 100% binary compatible
> (mostly due to the dos stub, but also due to preprocessor defines,
> libraries, etc).
>
> Likewise, Cygwin and MinGW are based on the ix86-coff code but with PE
> stubs and support for DLLs and such.

My understanding is that Joseph is just talking about removing the
entries in config.gcc.  He is not talking about removing the support
in the code, except perhaps for cases where there is no longer any
entry in config.gcc which requires that support.

Ian


Re: 4.4 deprecation proposals

2008-06-15 Thread Joseph S. Myers
On Sun, 15 Jun 2008, Ian Lance Taylor wrote:

> My understanding is that Joseph is just talking about removing the
> entries in config.gcc.  He is not talking about removing the support
> in the code, except perhaps for cases where there is no longer any
> entry in config.gcc which requires that support.

Correct (libgcc/config.host, target patterns in testcases etc. are also 
covered).  Files in config/ are only removed when no configuration uses 
them.  If a file is removed while still being used by another target, 
that's a mistake and the file should be restored; if a file (formerly used 
by some targets) remains while no target uses it, that's also a mistake 
and it should be removed.

-- 
Joseph S. Myers
[EMAIL PROTECTED]


GCC-ICI V1.0 & GCC-ICI-PLUGINS V1.0 release (for the MILEPOST GCC)

2008-06-15 Thread Grigori Fursin
Dear all,

Just wanted to mention that we released the new version
of GCC ICI and GCC ICI Plugins that are used in the MILEPOST GCC
(machine learning based research compiler).

I will be at the GCC Summit next week presenting this work
and will be happy to discuss our current and future research & developments,
however you can already get some hints from our Summit paper:
http://gcc-ici.sourceforge.net/papers/fmtp2008.pdf

We hope to release MILEPOST GCC (including Machine Learning routines
from IBM Haifa) in summer'08 as a GCC branch. Some more info is available here: 
http://unidapt.org/software.html#milepostgcc 

Yours,
Grigori Fursin


Grigori Fursin, PhD
Research Scientist, UNIDAPT Group, INRIA, France

http://unidapt.org - tackling the complexity of
future computing systems using machine learning  




Re: RFC: Extend x86-64 psABI for 256bit AVX register

2008-06-15 Thread Jakub Jelinek
On Wed, Jun 11, 2008 at 07:49:12AM -0700, H.J. Lu wrote:
> > I guess we all agree on passing variadic arguments on stack (that is
> > only those belonging on ...) and rest in registers.  It seems easiest in
> > regard to future register set extensions too.  Only negative thing is
> > that calls to variadic functions will become bit longer, but I guess it
> > is not big deal. (the fact that register passing conventions are shorter
> > and variadic functions tends to be called many times was also original
> > motivation to support register passing on pretty much everything for
> > varargs in psABI)
> > 
> 
> There is no precedent for passing named parameters in registers but
> unnamed parameters on the stack.  On IA32 for the __m128 types, we
> pass ALL __m128 parameters on the stack for varargs functions, not
> just the unnamed ones. I think we should do the same for x86-64.

Why should the 32-bit ABI influence x86-64 ABI decisions?
There are clear advantages of passing __m128 named arguments in registers
(shorter/faster code both on the caller and callee side) and there
are advantages of passing __m128 unnamed arguments on the stack
(for va_arg to work, they need to be on the stack, and if they
are passed in registers, the callee would need to push them
to the stack).

Jakub


Re: C++ warnings vs. errors

2008-06-15 Thread Jonathan Wakely
2008/6/13 Mark Mitchell:
> Jonathan Wakely wrote:
>>
>> Hi Volker, thanks for picking these issues up. I told Manuel I'd
>> review the rest of the remaining pedwarns, but haven't had time to do
>> it either.
>
> Just to chime in here: Volker, I agree with your comments.

I think we all do :-)

> Jonathan, Manuel, if you would please make the time to finish this project,
> that would be very much appreciated.  We don't want this to be a case where
> we improved the infrastructure of the compiler -- but made the user
> experience worse.

Absolutely agreed. I'm working on it. Sorry for the delay, until
Volker's mail I didn't realise most of the pedwarns hadn't changed to
permerrors already.

Jon


Re: 4.4 deprecation proposals

2008-06-15 Thread Ben Elliston
On Sat, 2008-06-14 at 18:53 +, Joseph S. Myers wrote:

> m68k-*-aout*
> m68k-*-coff*

These would be fine with me; there has been no interest in these targets
in binutils-land for some time.

Ben




Re: RFC: Extend x86-64 psABI for 256bit AVX register

2008-06-15 Thread Jan Hubicka
> On Wed, Jun 11, 2008 at 07:49:12AM -0700, H.J. Lu wrote:
> > > I guess we all agree on passing variadic arguments on stack (that is
> > > only those belonging on ...) and rest in registers.  It seems easiest in
> > > regard to future register set extensions too.  Only negative thing is
> > > that calls to variadic functions will become bit longer, but I guess it
> > > is not big deal. (the fact that register passing conventions are shorter
> > > and variadic functions tends to be called many times was also original
> > > motivation to support register passing on pretty much everything for
> > > varargs in psABI)
> > > 
> > 
> > There is no precedent for passing named parameters in registers but
> > unnamed parameters on the stack.  On IA32 for the __m128 types, we
> > pass ALL __m128 parameters on the stack for varargs functions, not
> > just the unnamed ones. I think we should do the same for x86-64.
> 
> Why should the 32-bit ABI influence x86-64 ABI decisions?
> There are clear advantages of passing __m128 named arguments in registers
> (shorter/faster code both on the caller and callee side) and there
> are advantages of passing __m128 unnamed arguments on the stack
> (for va_arg to work, they need to be on the stack, and if they
> are passed in registers, the callee would need to push them
> to the stack).

For record I would also preffer passing all named AVX arguments in
registers.  x86-64 ABI was designed for performance not for backward
compatibility, so it should be consistent with original idea and I think
that ABIs are divergent anough so this won't cause too much of extra
confussion.  But I am happy with both solutions.

Honza
> 
>   Jakub


Re: newlib & libgcov

2008-06-15 Thread Jan Hubicka
> Hello,
> In our GCC porting, we use newlib instead of libc.  Today I tried to use
> profiling feedback based optimization with option -fprofile-arcs.  But
> the executable doesn't produce .gcda file.  I examined the disassembled
> binary file and found the following functions are basically just dummy
> ones: __gcov_init, __gcov_flush,  __gcov_merge_add. I checked libgcov.c
> that contains these functions and found following code. 
> 
> 
> #if defined(inhibit_libc)

I am not much expert in this area, but the inhibit_libc check here is
mainly to disable gcov functions for freestanding targets that don't
support normal IO.  If you use newlib instead of glibc, you still do
have libc, so why inhibit_libc is defined at first place?

Honza
> /* If libc and its header files are not available, provide dummy
> functions.  */
> 
> #ifdef L_gcov
> void __gcov_init (struct gcov_info *p __attribute__ ((unused))) {}
> void __gcov_flush (void) {}
> #endif
> 
> #ifdef L_gcov_merge_add
> void __gcov_merge_add (gcov_type *counters  __attribute__ ((unused)),
>  unsigned n_counters __attribute__ ((unused))) {}
> #endif
> 
> #ifdef L_gcov_merge_single
> void __gcov_merge_single (gcov_type *counters  __attribute__ ((unused)),
> unsigned n_counters __attribute__ ((unused)))
> {}
> #endif
> 
> #ifdef L_gcov_merge_delta
> void __gcov_merge_delta (gcov_type *counters  __attribute__ ((unused)),
>unsigned n_counters __attribute__ ((unused)))
> {}
> #endif
> 
> 
> Both -Dinhibit_libc and -DL_gcov are used as shown in our building log
> file.  I guess -Dinhibit_libc is added because we used newlibc instead
> of glibc. I tried to grep these functions in newlibc and didn't find
> them.  My question is how to enable gcov with newlibc.  Do I need to
> write my own versions of them?  Any suggestion is greatly appreciated.  
> 
> Cheers,
> Bingfeng Mei
> 
> Broadcom UK


Re: C++ warnings vs. errors

2008-06-15 Thread Mark Mitchell

Jonathan --

Thanks for pushing this forward!

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

On Jun 15, 2008, at 7:06 PM, "Jonathan Wakely" <[EMAIL PROTECTED]>  
wrote:



2008/6/13 Mark Mitchell:

Jonathan Wakely wrote:


Hi Volker, thanks for picking these issues up. I told Manuel I'd
review the rest of the remaining pedwarns, but haven't had time to  
do

it either.


Just to chime in here: Volker, I agree with your comments.


I think we all do :-)

Jonathan, Manuel, if you would please make the time to finish this  
project,
that would be very much appreciated.  We don't want this to be a  
case where

we improved the infrastructure of the compiler -- but made the user
experience worse.


Absolutely agreed. I'm working on it. Sorry for the delay, until
Volker's mail I didn't realise most of the pedwarns hadn't changed to
permerrors already.

Jon