472,958 Members | 2,304 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,958 software developers and data experts.

looking for compilers and/or platforms **without** C++ exception support

Hi there,

Please forgive me for posting this article on multiple groups.
Being new in the newsgroups, I was not sure which group would
have been appropriate for my question. Sorry.

My Question
-----------
I am looking for a list of popular compilers and/or platforms that
*do not* support native C++ exceptions. Any pointers in this
regard is appreciated.

Best Regards,
Bill

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
Jul 19 '05 #1
10 3080
On Thu, 30 Oct 2003 11:07:45 -0500, Bill Davidson wrote:
Hi there,

Please forgive me for posting this article on multiple groups.
Being new in the newsgroups, I was not sure which group would
have been appropriate for my question. Sorry.

My Question
-----------
I am looking for a list of popular compilers and/or platforms that
*do not* support native C++ exceptions. Any pointers in this
regard is appreciated.


Convince gcc porters to stop work dead, and you'll have quite a few
OSes...
-Dhruv :-)


Hello

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
Jul 19 '05 #2
Bill Davidson wrote:

I'm not sure why you cross-posted this to newsgroups without 'c++' in
their names.... I've reduced the list of ng's.

My Question
-----------
I am looking for a list of popular compilers and/or platforms that
*do not* support native C++ exceptions. Any pointers in this
regard is appreciated.

g++ has options like -fno_exceptions that may do what you want. It
won't fail to compile valid exception code, but it will not generate the
associated assembly.

See the manpage for details.

Adam

--
Reverse domain name to reply.

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
Jul 19 '05 #3
Bill Davidson wrote:
Hi there,

Please forgive me for posting this article on multiple groups.
Being new in the newsgroups, I was not sure which group would
have been appropriate for my question. Sorry.

My Question
-----------
I am looking for a list of popular compilers and/or platforms that
*do not* support native C++ exceptions. Any pointers in this
regard is appreciated.


Microsoft embedded C++ 3.0 (eVC 3)
--
GISTEK software
Gis consultant.
gi****@gistek.net
www.gistek.net

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
Jul 19 '05 #4

"Bill Davidson" <ca*************@yahoo.ca> wrote in message
news:c1**************************@posting.google.c om...
I am looking for a list of popular compilers and/or platforms that
*do not* support native C++ exceptions. Any pointers in this
regard is appreciated.


Many C++ compilers for 16 bit DOS do not support exception handling,
templates or RTTI (but Digital Mars C++ does).
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
Jul 19 '05 #5
On 30 Oct 2003 11:07:45 -0500, ca*************@yahoo.ca (Bill
Davidson) wrote in comp.realtime:
Hi there,

Please forgive me for posting this article on multiple groups.
Being new in the newsgroups, I was not sure which group would
have been appropriate for my question. Sorry.

My Question
-----------
I am looking for a list of popular compilers and/or platforms that
*do not* support native C++ exceptions. Any pointers in this
regard is appreciated.

Best Regards,
Bill


Since you posted to comp.arch.embedded with such a hopelessly vague
question, there are quite a few architectures with no C++ compilers at
all, so they certainly do not support native, or foreign, C++
exceptions.

--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://www.eskimo.com/~scs/C-faq/top.html
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++ ftp://snurse-l.org/pub/acllc-c++/faq

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
Jul 19 '05 #6
In article news:<c1**************************@posting.google. com>, Bill Davidson
wrote:
I am looking for a list of popular compilers and/or platforms that
*do not* support native C++ exceptions. Any pointers in this
regard is appreciated.


It seems a strange question - what for?

The C++ language is now defined by an ISO standard. The language specified in
that standard /does/ support exceptions, and the runtime library described in the
standard /does/ use exceptions. Any compiler that doesn't support them isn't C++
(not standard C++, anyway).

Maybe that's the answer you're looking for? Non-C++ compilers don't support
native C++ exceptions. Fortran compilers, for example.

If, on the other hand, your question is really "how widespread are C++-subset
compilers that don't support exceptions" or "if I use exceptions in my code will
my code be significantly less portable than if I don't use them" then the answer
is that all modern compilers on desktop platforms do support exceptions, as do
the better embedded ones. I would expect this situation to improve as compilers
continue to be updated to include more of the provisions of the standard.

- I believe that the Microsoft compilers targetting Windows CE currently
don't support exceptions (is that still true? It seems a strange
omission),

- Visual C++ for 16-bit platforms didn't support excpetions (but had
an exception-like system without stack unwinding kludged with longjump).

- C++ on the Symbian platform does not use exceptions (because it depends
upon an old version of the gcc cross-compiler which is deficient in
exception support) and so has its own error-handling mechanism. Porting code
to/from Symbian is a fairly major undertaking because Symbian provides a large
runtime library that is peculiar to the Symbian platform, support for
exceptions will be the least of your worries.

All the C++ compilers I'm aware of for Windows and/or linux do support
exceptions.

Unless you have a particular compiler or platform in mind that you know does not
support exceptions I would go ahead and use them. In my experience the use of
exceptions leads to clearer code and more robust error handling than the
alternatives.

Daniel James | djng
Sonadata Limited, UK | at sonadata
| dot co dot uk

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
Jul 19 '05 #7
Bill Davidson wrote:
Hi there,

Please forgive me for posting this article on multiple groups.
Being new in the newsgroups, I was not sure which group would
have been appropriate for my question. Sorry.

My Question
-----------
I am looking for a list of popular compilers and/or platforms that
*do not* support native C++ exceptions. Any pointers in this
regard is appreciated.

Best Regards,
Bill


ARM - ARM Developer Suite (ADS) 1.2
ARM - RealView Compilation Tools (RVCT) 2.0

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
Jul 19 '05 #8
On 31 Oct 2003 12:19:46 -0500, Daniel James
<wa*********@nospam.aaisp.org> wrote:
In article news:<c1**************************@posting.google. com>, Bill Davidson
wrote:
I am looking for a list of popular compilers and/or platforms that
*do not* support native C++ exceptions. Any pointers in this
regard is appreciated.


It seems a strange question - what for?


The wording looks quite strange, but considering that the realtime and
embedded newsgroups are included, I would guess that the original
poster is considering situations in which exception handling is not
desirable.

A compiler that does not support exceptions will not generate
exceptions at run time :-).

I think that the more relevant question in the embedded and/or
realtime environment is that, can a compiler that supports exception
handling be configured in such a way that it does not generate
exceptions ? This is especially important regarding the run time
libraries, such as "new".

The exceptions can not be disabled, then the use of C++ in some
situations is out of the question.

Paul

Jul 19 '05 #9
"Paul Keinanen" <ke******@sci.fi> wrote in message
news:qg********************************@4ax.com...
On 31 Oct 2003 12:19:46 -0500, Daniel James
<wa*********@nospam.aaisp.org> wrote:
In article news:<c1**************************@posting.google. com>, Bill Davidson
wrote:
I am looking for a list of popular compilers and/or platforms that
*do not* support native C++ exceptions. Any pointers in this
regard is appreciated.


It seems a strange question - what for?


The wording looks quite strange, but considering that the realtime and
embedded newsgroups are included, I would guess that the original
poster is considering situations in which exception handling is not
desirable.

A compiler that does not support exceptions will not generate
exceptions at run time :-).

I think that the more relevant question in the embedded and/or
realtime environment is that, can a compiler that supports exception
handling be configured in such a way that it does not generate
exceptions ? This is especially important regarding the run time
libraries, such as "new".

The exceptions can not be disabled, then the use of C++ in some
situations is out of the question.


Right. Some compilers, particularly in the embedded world, do indeed
permit exceptions to be disabled. That can lead to code that is smaller
or faster (or both). Or it can simply permit the use of C++ in a
project that outlaws exceptions for safety reasons (whether justified
or not). If you want to use a compiler that can disable exceptions,
then you also need a library that can work that way. We provide such
a creature, which is one of the reasons why so many embedded compilers
ship with our library. I believe one or two other libraries do too.
But if the library that comes with your compiler doesn't work properly
in the absence of exception handling, your only choice is not to use
the library.

P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com
Jul 19 '05 #10
Bill Davidson wrote:
I am looking for a list of popular compilers and/or platforms that
*do not* support native C++ exceptions. Any pointers in this
regard is appreciated.


The notion of 'native' is not clear to me, however, it might mean three
things IMHO, either

1. the compiler does not know the concept of exceptions (it is not native
to the compiler implementation) and therefore does not support
try/catch
2. the compiler does not know that the platform it generates code for
has a particular exception mechanism as for example the structured
exception mechanism of Windows NT or a similar architecture in VMS
(one of the signs showing heritage)
3. the platform on which the code runs does not know an exception
mechanism, most if not all UNIXen.

In case #1, that would be a pretty old compiler I would say. Case #2, I
would say could be versions of the Borland C++ compilers, that indeed make
use of the structured exception handling mechanism but only in a limited
way, meaning that they /do/ use structured exception handling for
propagating exceptions by using a structured exception with the 0x0EEFFACE
number (or 0x0EEDFACE for Delphi), and in case #3, the exception handling
mechanism is almost always 'emulated' in some sense.

What is very instructive in the last case is what code a compiler inserts at
the start of a try/catch block. I think I am not far from reality if in
most cases a register is reserved for pointing to the current exception
handler while outer exception handlers are kept in a stack, much like
structured exception handling in Windows NT.

--

Ruurd
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
Jul 19 '05 #11

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Angie | last post by:
Hello, My name is Angela Mastrodonato. I'm a web designer who would like the assistance of a php programmer. Some of my clients have requested more dynamic web sites, and I am in the beginning...
23
by: JKop | last post by:
I'm looking for a compiler, I'm running Windows XP. Can anyone suggest a good one that can output assembly and that has all sorts of good optimizations in it, all sorts of bells and whistles. I'm...
22
by: bq | last post by:
Hello, Two questions related to floating point support: What C compilers for the wintel (MS Windows + x86) platform are C99 compliant as far as <math.h> and <tgmath.h> are concerned? What...
13
by: Derek | last post by:
As I understand it there is a good amount of link compatibility among C compilers. For example, I can compile main.c with GCC and func.c with Sun One and link the objects using either linker (GNU...
0
by: Chris Stephens | last post by:
Low Cost C Compilers ------------------------------------ HI-TECH Software's C compilers are now available to support the ARM, dsPIC, msp430, 8051, PIC 10 to 17, PIC 18 as well as many other...
21
by: The Night Blogger | last post by:
Can someone recommend me a good API for writing a sexy looking (Rich UI like WinForms) shrink wrap application My requirement is that the application needs to look as good on Windows as on the...
6
by: Neo | last post by:
Hi Friends, Is virtual function table layout (VTABLE) is compiler dependent? Regards Vikram S
0
by: JosAH | last post by:
Greetings, this week's article part discusses the parsers used for our little language. We will implement the parsers according to the grammar rules we defined in the second part of this...
14
by: shyam.lingegowda | last post by:
Hi all, If I have two c++ programs and I compile that using two different compilers on Unix. Is it possible for these two exe's to communicate with one another. Since the way the exe's are...
0
by: lllomh | last post by:
Define the method first this.state = { buttonBackgroundColor: 'green', isBlinking: false, // A new status is added to identify whether the button is blinking or not } autoStart=()=>{
0
by: Aliciasmith | last post by:
In an age dominated by smartphones, having a mobile app for your business is no longer an option; it's a necessity. Whether you're a startup or an established enterprise, finding the right mobile app...
0
tracyyun
by: tracyyun | last post by:
Hello everyone, I have a question and would like some advice on network connectivity. I have one computer connected to my router via WiFi, but I have two other computers that I want to be able to...
2
by: giovanniandrean | last post by:
The energy model is structured as follows and uses excel sheets to give input data: 1-Utility.py contains all the functions needed to calculate the variables and other minor things (mentions...
4
NeoPa
by: NeoPa | last post by:
Hello everyone. I find myself stuck trying to find the VBA way to get Access to create a PDF of the currently-selected (and open) object (Form or Report). I know it can be done by selecting :...
1
by: Teri B | last post by:
Hi, I have created a sub-form Roles. In my course form the user selects the roles assigned to the course. 0ne-to-many. One course many roles. Then I created a report based on the Course form and...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 1 Nov 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM) Please note that the UK and Europe revert to winter time on...
0
NeoPa
by: NeoPa | last post by:
Introduction For this article I'll be focusing on the Report (clsReport) class. This simply handles making the calling Form invisible until all of the Reports opened by it have been closed, when it...
0
isladogs
by: isladogs | last post by:
The next online meeting of the Access Europe User Group will be on Wednesday 6 Dec 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, Mike...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.