Re: Adding to G++: Adding a warning on throwing unspecified exceptions.

2008-11-28 Thread Simon Hill
I have recently been able to put in a few hours toward my restrictive exception specification warning mechanic. I have it warning me correctly on very basic regular code with throw, try/catch, function calls and exception specifications. It's also activated by -Wres (restrictive exception specifica

Re: Adding to G++: Adding a warning on throwing unspecified exceptions.

2008-10-05 Thread Richard Guenther
On Sun, Oct 5, 2008 at 5:50 PM, Simon Hill <[EMAIL PROTECTED]> wrote: > > I guess I should really be asking: > How did most people here learn devving for GCC? Read the source Luke! There is no comprehensive out-of-source documentation of the C++ forntend. Separate documentation is an exception, s

Re: Adding to G++: Adding a warning on throwing unspecified exceptions.

2008-10-05 Thread Simon Hill
I've been planning to add a warning to GCC for a while. I've recently begun learning the GCC internals and trying to add some code. So far I have made very little progress. All I have working is a warning parameter that, when enabled, emits a warning whenever a function is declared. It's not look

Re: Adding to G++: Adding a warning on throwing unspecified exceptions.

2008-10-02 Thread Simon Hill
I've been reading up on GCC internals so that I can begin my project. Initial proposal: http://gcc.gnu.org/ml/gcc/2008-09/msg00383.html (with many follow-ups). My idea of implementing so far is: Alter the code in gcc/cp/parser.c so that I can check strict exception specification during parsing, si

Re: Adding to G++: Adding a warning on throwing unspecified exceptions.

2008-09-26 Thread Simon Hill
Jonathan Wakely said: > Simon Hill wrote: > > Brain Dessent wrote: > >> You're essentially trusting that all > >> exception specifiers for every function in the program and *all* library > >> code are always present and always correct which is a huge leap of faith > >> that I don't think is support

Re: Adding to G++: Adding a warning on throwing unspecified exceptions.

2008-09-25 Thread Brendon Costa
> The above works on code::blocks, which uses some form of GCC, and > looks OK to me. > Of course this only works for exactly one exception type. > You'd have to wait for C++0X variadic templates (and hope you can > throw them) if you need zero or more than one. > It's also very verbose, a little

Re: Adding to G++: Adding a warning on throwing unspecified exceptions.

2008-09-25 Thread Jonathan Wakely
2008/9/24 Simon Hill: > Brain Dessent wrote: >> You're essentially trusting that all >> exception specifiers for every function in the program and *all* library >> code are always present and always correct which is a huge leap of faith >> that I don't think is supported by reality. > > I agree tha

Re: Adding to G++: Adding a warning on throwing unspecified exceptions.

2008-09-25 Thread Simon Hill
Brendon Costa wrote: > You as an author of a new template class "could" define it the other way. > > The issue here is that doing so restricts usage of the generic > component. In specific cases this may be desirable, but not for generic > components like STL containers or those in boost. For gener

Re: Adding to G++: Adding a warning on throwing unspecified exceptions.

2008-09-24 Thread Brendon Costa
Simon Hill wrote: > Brendon Costa said: >> The author of the template class or container can't know >> what types of exceptions will be thrown from them, so you must define >> them as being able to throw all exceptions (which is how they are >> currently). > Ouch, you have a point. But couldn't you

Re: Adding to G++: Adding a warning on throwing unspecified exceptions.

2008-09-24 Thread Simon Hill
Brendon Costa said: > The author of the template class or container can't know > what types of exceptions will be thrown from them, so you must define > them as being able to throw all exceptions (which is how they are > currently). Ouch, you have a point. But couldn't you put this round the other

Re: Adding to G++: Adding a warning on throwing unspecified exceptions.

2008-09-24 Thread Brendon Costa
> I agree that it won't be very useful initially due to lots of third > party code like boost neither defining nor adhering exception > restrictions 100% of the time (STL may be guilty also). However, this > is a catch 22. Why not provide the mechanism for verifying exception > specifications so t

Re: Adding to G++: Adding a warning on throwing unspecified exceptions.

2008-09-24 Thread Simon Hill
Thanks for all the links. I knew there were people wanting this but I didn't quite get how big an issue it was. Brain Dessent wrote: > You're essentially trusting that all > exception specifiers for every function in the program and *all* library > code are always present and always correct which

Re: Adding to G++: Adding a warning on throwing unspecified exceptions.

2008-09-21 Thread Kaveh R. GHAZI
On Sun, 21 Sep 2008, NightStrike wrote: > On Sun, Sep 21, 2008 at 12:36 PM, Brian Dessent <[EMAIL PROTECTED]> wrote: > > Simon Hill wrote: > > > >> http://gcc.gnu.org/onlinedocs/gccint/index.html. (Of course I was > >> horrified to see it's not written in C++, and it's loaded with macros > >> ---

Re: Adding to G++: Adding a warning on throwing unspecified exceptions.

2008-09-21 Thread NightStrike
On Sun, Sep 21, 2008 at 12:36 PM, Brian Dessent <[EMAIL PROTECTED]> wrote: > Simon Hill wrote: > >> http://gcc.gnu.org/onlinedocs/gccint/index.html. (Of course I was >> horrified to see it's not written in C++, and it's loaded with macros >> --- why??). > > You seem to refer to g++ as if it's a sep

Re: Adding to G++: Adding a warning on throwing unspecified exceptions.

2008-09-21 Thread Brian Dessent
Simon Hill wrote: > http://gcc.gnu.org/onlinedocs/gccint/index.html. (Of course I was > horrified to see it's not written in C++, and it's loaded with macros > --- why??). You seem to refer to g++ as if it's a separate program from gcc but it's really not. All of the middle- and back-end code is

Adding to G++: Adding a warning on throwing unspecified exceptions.

2008-09-20 Thread Simon Hill
I have been following the development of C++0x and ConceptGCC and it has got me interested in developing for G++. I've haven't yet dived far into the G++ code, but I have just been reading the GCC internals documentation at http://gcc.gnu.org/onlinedocs/gccint/index.html. (Of course I was horrified