I attach extracts from the MSVC 7.0 warnings and documentation.

I don't think this is very important, but documenting requirements may be
helpful.

As for spell checking, MS FrontPage astonishingly doesn't appear to include a
spelling checker but I now find that after preparing each html file, one can
Open With MS Word and run its spelling checker.  This is of course tedious when
going over code sections, but it did highlight some mis-types. And of course, if
you have split into several files, you have to check each separately.

There must be a better way. Suggestions?

Spelling is not terribly important, but mistakes may confuse non-native English
speakers and certainly don't look good.  But other activities are much more fun.

Paul

Paul A Bristow, Prizet Farmhouse, Kendal, Cumbria, LA8 8AB  UK
+44 1539 561830   Mobile +44 7714 33 02 04
Mobile mailto:[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]


> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of Gennadiy Rozental
> Sent: Thursday, February 06, 2003 5:51 PM
> To: [EMAIL PROTECTED]
> Subject: [boost] Re: Re: Minimal test tool - very minor comments
>
>
> > > > 1 Need to have language extensions enabled. (for WINNT?)
> > >
> > > Do I use any nonstandard language extensions?
> >
> > No, but code that gets pulled in (WINNT?)does, so the MS project
> Properties
> > requires /Za.  This is a minor disadvantage if you like to be 'strict'.
>
> Could you be more specific which header require this option? BTW MSVC65 does
> not seems to require it.
>
> > > > 2 Need to have /EHa rather than /EHs for async exceptions. (for
> WINNT?)
> > >
> > > You need to clarify on that. Why would I want to force async exception
> > > model?
> >
> > I can't imagine, but the MSVC compiler 7.0 reports that /EHa is required
> for it
> > to compile, and it does. (I suspect it is something like winnt.h that is
> pulled
> > in?)
>
> MSVC 6.5 does not require async model. Would be strange for 7.0 to require
> it.
>
> > > > 4 Warnings level 4 ok, (except get two warnings about test_main's
> unused
> > > args). They are used.
>
> Sorry I misundestood you. You could not declare argments names in test_main
> if you are not using them
>
> > Plain black on white please.  Sorry to be so boring.
>
> Use btl-simple.css style instead of btl.css. Both are located in style
> subdirectory. You will need to change the header of doc files for that.
>
>
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>
/I "J:\boost_1_29_0" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Gm /EHsc /RTC1 
/MLd /GS /Fo"Debug/" /Fd"Debug/vc70.pdb" /W3 /nologo /c /Wp64 /Zi /TP

------ Build started: Project: Minimal_test_test, Configuration: Debug Win32 ------

Compiling...
minimal_test.cpp
J:\boost_1_29_0\libs\test\src\execution_monitor.cpp(148) : warning C4535: calling 
_set_se_translator() requires /EHa
        the command line options /EHc and /GX are insufficient
Linking...

Build log was saved at "file://j:\Cpp\Test\Minimal_test_test\Debug\BuildLog.htm"
Minimal_test_test - 0 error(s), 1 warning(s)


---------------------- Done ----------------------

    Build: 1 succeeded, 0 failed, 0 skipped

calling _set_se_translator() requires /EHa

The use of _set_se_translator requires the /EHa compiler option and not /EHs.
The compiler continues the compilation as if /EHa has been specified.

Handles Win32 exceptions (C structured exceptions) as C++ typed exceptions.

_se_translator_function _set_se_translator(
   _se_translator_function se_trans_func
);
Parameter
se_trans_func
Pointer to a C structured exception translator function that you write.
Return Value
Returns a pointer to the previous translator function registered by _set_se_translator,
so that the previous function can be restored later. If no previous function has been 
set,
the return value may be used to restore the default behavior; this value may be NULL.

Remarks
The _set_se_translator function provides a way to handle Win32 exceptions
(C structured exceptions) as C++ typed exceptions.
To allow each C exception to be handled by a C++ catch handler,
first define a C exception wrapper class that can be used, or derived from,
to attribute a specific class type to a C exception. To use this class,
install a custom C exception translator function that is called by the
internal exception-handling mechanism each time a C exception is raised.
Within your translator function, you can throw any typed exception
that can be caught by a matching C++ catch handler.

To specify a custom translation function, call _set_se_translator with
the name of your translation function as its argument.
The translator function that you write is called once for each function
invocation on the stack that has try blocks. There is no default translator function.

In a multithreaded environment, translator functions are maintained separately for 
each thread.
Each new thread needs to install its own translator function.
Thus, each thread is in charge of its own translation handling.

The se_trans_func function that you write must take an unsigned integer
and a pointer to a Win32 _EXCEPTION_POINTERS structure as arguments.
The arguments are the return values of calls to the
Win32 API GetExceptionCode and GetExceptionInformation functions, respectively.

typedef void (*_se_translator_function)(unsigned int, struct _EXCEPTION_POINTERS* );
Requirements
Routine Required header Compatibility
_set_se_translator <eh.h> Win 98, Win Me, Win NT, Win 2000, Win XP

For additional compatibility information, see Compatibility in the Introduction.

Libraries

All versions of the C run-time libraries.

Example
/*  SETRANS.CPP
 */


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to