Re: gcc-in-cxx update

2009-04-30 Thread Gabriel Dos Reis
On Wed, Apr 29, 2009 at 7:13 AM, Manuel López-Ibáñez lopeziba...@gmail.com wrote: * In C a const variable which is neither extern nor static is   visible outside of the current translation unit.  In C++ it is not,   without an explicit extern declaration.  I'm not sure how best to   handle

Re: gcc-in-cxx update

2009-04-30 Thread Gabriel Dos Reis
On Wed, Apr 29, 2009 at 8:42 AM, Manuel López-Ibáñez lopeziba...@gmail.com wrote: BTW, why is this warned about? I imagine because in C it is not conventional to use extern when defining something, only on a declaration that is not a definition. But may it lead to some confusion or subtle

Re: gcc-in-cxx update

2009-04-30 Thread Gabriel Dos Reis
On Wed, Apr 29, 2009 at 10:19 AM, Manuel López-Ibáñez lopeziba...@gmail.com wrote: 2009/4/29 Joseph S. Myers jos...@codesourcery.com: On Wed, 29 Apr 2009, Manuel López-Ibáñez wrote: BTW, why is this warned about? I imagine because in C it is not conventional to use extern when defining

Re: gcc-in-cxx update

2009-04-30 Thread Gabriel Dos Reis
On Wed, Apr 29, 2009 at 10:54 AM, Manuel López-Ibáñez lopeziba...@gmail.com wrote: 2009/4/29 Joseph S. Myers jos...@codesourcery.com: On Wed, 29 Apr 2009, Manuel López-Ibáñez wrote: 2009/4/29 Joseph S. Myers jos...@codesourcery.com: On Wed, 29 Apr 2009, Manuel López-Ibáñez wrote: BTW,

Re: gcc-in-cxx update

2009-04-29 Thread Richard Guenther
On Wed, Apr 29, 2009 at 9:39 AM, Ian Lance Taylor i...@google.com wrote: I've finished my set of patches which fix -Wc++-compat to check for enum conversions which are valid in C++.  Adding those checks forced a lot of changes in mainline to compile cleanly with -Wc++-compat.  I have merged

Re: gcc-in-cxx update / multi-targeted gcc

2009-04-29 Thread Joern Rennecke
In order to be able to use namespaces in my endeavour to support gcc with multiple targets, I've first done a merge from the gcc-in-cxx branch. For my initial implementation, I choose as configuration --target=m32r-elf --with-extra-target-list='sh64-elf arc-elf32' . I've found some issues with

Re: gcc-in-cxx update

2009-04-29 Thread Joseph S. Myers
On Wed, 29 Apr 2009, Ian Lance Taylor wrote: * The C++ frontend warns about while (true); when there is no whitespace between the ')' and the ';'. The C frontend does not. I'm not sure how to best handle this. It doesn't make much sense to warn about this with -Wc++-compat. Should

Re: gcc-in-cxx update / multi-targeted gcc

2009-04-29 Thread Joseph S. Myers
On Wed, 29 Apr 2009, Joern Rennecke wrote: What are your thoughts on using gcc extensions for gcc-in-cxx ? I believe we agreed in a previous discussion to aim for building with the intersection of C++98/C++03 and C++ as supported by GCC 3.4 (including making sure at an appropriate point that

Re: gcc-in-cxx update / multi-targeted gcc

2009-04-29 Thread Joern Rennecke
Quoting Joseph S. Myers jos...@codesourcery.com: On Wed, 29 Apr 2009, Joern Rennecke wrote: What are your thoughts on using gcc extensions for gcc-in-cxx ? I believe we agreed in a previous discussion to aim for building with the intersection of C++98/C++03 and C++ as supported by GCC 3.4

Re: gcc-in-cxx update

2009-04-29 Thread Manuel López-Ibáñez
2009/4/29 Joseph S. Myers jos...@codesourcery.com: On Wed, 29 Apr 2009, Ian Lance Taylor wrote: * The C++ frontend warns about while (true); when there is no   whitespace between the ')' and the ';'.  The C frontend does not.  I'm   not sure how to best handle this.  It doesn't make much

Re: gcc-in-cxx update / multi-targeted gcc

2009-04-29 Thread Joseph S. Myers
On Wed, 29 Apr 2009, Joern Rennecke wrote: Quoting Joseph S. Myers jos...@codesourcery.com: On Wed, 29 Apr 2009, Joern Rennecke wrote: What are your thoughts on using gcc extensions for gcc-in-cxx ? I believe we agreed in a previous discussion to aim for building with the

Re: gcc-in-cxx update / multi-targeted gcc

2009-04-29 Thread Richard Earnshaw
On Wed, 2009-04-29 at 13:21 +, Joseph S. Myers wrote: On Wed, 29 Apr 2009, Joern Rennecke wrote: Quoting Joseph S. Myers jos...@codesourcery.com: On Wed, 29 Apr 2009, Joern Rennecke wrote: What are your thoughts on using gcc extensions for gcc-in-cxx ? I believe we

Re: gcc-in-cxx update

2009-04-29 Thread Joseph S. Myers
On Wed, 29 Apr 2009, Manuel López-Ibáñez wrote: 2009/4/29 Joseph S. Myers jos...@codesourcery.com: On Wed, 29 Apr 2009, Ian Lance Taylor wrote: * The C++ frontend warns about while (true); when there is no   whitespace between the ')' and the ';'.  The C frontend does not.  I'm   not

Re: gcc-in-cxx update / multi-targeted gcc

2009-04-29 Thread Joseph S. Myers
On Wed, 29 Apr 2009, Richard Earnshaw wrote: The question is not just one for bootstrapping a native compiler but also one of what compiler can be used to build a cross compiler (such as that with multiple targets), which is not bootstrapped in the usual GCC sense. There we presently

Re: gcc-in-cxx update

2009-04-29 Thread Manuel López-Ibáñez
2009/4/29 Joseph S. Myers jos...@codesourcery.com: On Wed, 29 Apr 2009, Manuel López-Ibáñez wrote: I don't know the rationale for this warning.  Is it to do with the C++0x specification that certain loops may be assumed to terminate? I guess the rationale is that there is little use for

Re: gcc-in-cxx update

2009-04-29 Thread Sebastian Redl
Joseph S. Myers wrote: On Wed, 29 Apr 2009, Manuel López-Ibáñez wrote: 2009/4/29 Joseph S. Myers jos...@codesourcery.com: On Wed, 29 Apr 2009, Ian Lance Taylor wrote: * The C++ frontend warns about while (true); when there is no whitespace between the ')' and the ';'.

Re: gcc-in-cxx update

2009-04-29 Thread Manuel López-Ibáñez
2009/4/29 Sebastian Redl sebastian.r...@getdesigned.at: So MSC will warn about this construct, but GCC will not, due to its whitespace rule: I think we should just remove the whitespace rule and implement the warning in C. Cheers, Manuel.

Re: gcc-in-cxx update

2009-04-29 Thread Ian Lance Taylor
Richard Guenther richard.guent...@gmail.com writes: * The C++ frontend emits some warnings on code which is known to be  never executed, which the C frontend does not.  This leads to some  warnings compiling code in gcc.  I think it is reasonable to fix this  in the C++ frontend. Or just

Re: gcc-in-cxx update / multi-targeted gcc

2009-04-29 Thread Ian Lance Taylor
Joern Rennecke amyl...@spamcop.net writes: I've found some issues with gcc-in-cxx both specific to these targets, and specific to (parts of) compiler passes that are only compiled for a subset of all tagets, which include one or more of the above mentioned three. I'd be happy to see and

Re: gcc-in-cxx update

2009-04-29 Thread Ian Lance Taylor
Manuel López-Ibáñez lopeziba...@gmail.com writes: 2009/4/29 Sebastian Redl sebastian.r...@getdesigned.at: So MSC will warn about this construct, but GCC will not, due to its whitespace rule: I think we should just remove the whitespace rule and implement the warning in C. Actually it

Re: gcc-in-cxx update

2009-04-29 Thread Joseph S. Myers
On Wed, 29 Apr 2009, Manuel López-Ibáñez wrote: BTW, why is this warned about? I imagine because in C it is not conventional to use extern when defining something, only on a declaration that is not a definition. But may it lead to some confusion or subtle error? It seems overly

Re: gcc-in-cxx update / multi-targeted gcc

2009-04-29 Thread Joseph S. Myers
On Wed, 29 Apr 2009, Ian Lance Taylor wrote: (I'm not personally convinced that a multi-targeted gcc is particularly useful, though I don't object if there is a general desire to support it.) I think the cleanups involved in using the target vector / class more, and other cleanups involved

Re: gcc-in-cxx update

2009-04-29 Thread Manuel López-Ibáñez
2009/4/29 Joseph S. Myers jos...@codesourcery.com: On Wed, 29 Apr 2009, Manuel López-Ibáñez wrote: BTW, why is this warned about? I imagine because in C it is not conventional to use extern when defining something, only on a declaration that is not a definition. But may it lead to some

Re: gcc-in-cxx update

2009-04-29 Thread Joseph S. Myers
On Wed, 29 Apr 2009, Manuel López-Ibáñez wrote: 2009/4/29 Joseph S. Myers jos...@codesourcery.com: On Wed, 29 Apr 2009, Manuel López-Ibáñez wrote: BTW, why is this warned about? I imagine because in C it is not conventional to use extern when defining something, only on a

Re: gcc-in-cxx update

2009-04-29 Thread Manuel López-Ibáñez
2009/4/29 Joseph S. Myers jos...@codesourcery.com: On Wed, 29 Apr 2009, Manuel López-Ibáñez wrote: 2009/4/29 Joseph S. Myers jos...@codesourcery.com: On Wed, 29 Apr 2009, Manuel López-Ibáñez wrote: BTW, why is this warned about? I imagine because in C it is not conventional to use

Re: gcc-in-cxx update / multi-targeted gcc

2009-04-29 Thread Kaveh R. GHAZI
On Wed, 29 Apr 2009, Joseph S. Myers wrote: On Wed, 29 Apr 2009, Richard Earnshaw wrote: If you are building a non-C front end without bootstrapping you need at least 2.95: To build all languages in a cross-compiler or other configuration where 3-stage bootstrap is not performed,

Re: gcc-in-cxx update / multi-targeted gcc

2009-04-29 Thread Joern Rennecke
Quoting Ian Lance Taylor i...@google.com: I'm not sure why you are singling me out. You seemed to be actively working on the branch, and the c++ enum type checks provide a motivation to make changes. Also, this issue should be considered in general when people change their coding habits in

Re: gcc-in-cxx update / multi-targeted gcc

2009-04-29 Thread Joern Rennecke
Quoting Joseph S. Myers jos...@codesourcery.com: I think the cleanups involved in using the target vector / class more, and other cleanups involved in the natural approach to multi-target GCC of which the target vector is a part, are more useful than the end result (for which compiling large

Re: gcc-in-cxx update / multi-targeted gcc

2009-04-29 Thread Esben Mose Hansen
On Wednesday 29 April 2009 12:47:04 Joern Rennecke wrote: Something which I miss in C++ is a way to declare that a function uses an integral type to pass an enum value (in arguments or return value), and then at function definition time only check that the integral type is sufficently large to

Re: gcc-in-cxx update / multi-targeted gcc

2009-04-29 Thread Joern Rennecke
On Wednesday 29 April 2009 12:47:04 Joern Rennecke wrote: Something which I miss in C++ is a way to declare that a function uses an integral type to pass an enum value (in arguments or return value), and then at function definition time only check that the integral type is sufficently large to