Open Bug 556699 Opened 14 years ago Updated 2 years ago

[meta] STL: Tracking reviews of exception safety for gcc/MSVC headers

Categories

(Core :: XPCOM, enhancement)

enhancement

Tracking

()

People

(Reporter: cjones, Unassigned)

References

(Depends on 7 open bugs, Blocks 1 open bug)

Details

(Keywords: meta)

The policy proposed by bug 551254 is

To "enable" a standard header H
 o H's exception behavior on gcc and MSVC must be reviewed
 o The headers H depends on must be reviewed
 o The CRT/libstdc++ code H depends on must be reviewed
 o H cannot be enabled if
   - H throws an exception that cannot be disabled or converted to an abort()
   - H calls a CRT function that throws an exception and the function can't be replaced

Reviews should assume that gcc code is build with |#if !_EXCEPTIONS| and MSVC code with |#if !_HAS_EXCEPTIONS|.

The following facts have been established

 o gcc's |__throw_[exception]()| is safe, because we implement those functions
 o MSVC's |_THROW([exception])| and |_RAISE([exception])| are safe, because those abort() in !_HAS_EXCEPTIONS builds
 o std::bad_alloc is never thrown, because we override ::operator new()
Summary: STL: Tracking reviews of exception safety for gcc/MSVC headers → [meta] STL: Tracking reviews of exception safety for gcc/MSVC headers
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.