Add a little to the "Don't use non-standard extensions discussion."

This commit is contained in:
Titus Winters 2015-11-17 16:07:50 -05:00
parent ca22f65232
commit b3e6c82ade

View File

@ -421,7 +421,13 @@ This is a set of guidelines for writing ISO Standard C++.
##### Note
There are environments where extensions are necessary, e.g., to access system resources.
In such cases, localize the use of necessary extensions and control their use with non-core Coding Guidelines.
In such cases, localize the use of necessary extensions and control their use with non-core Coding Guidelines. If possible, build interfaces that encapsulate the extensions so they can be turned off or compiled away on systems that do not support those extensions.
Extensions often do not have rigorously defined semantics. Even extensions that
are common and implemented by multiple compilers may have slightly different
behaviors and edge case behavior as a direct result of *not* having a rigorous
standard definition. With sufficient use of any such extension, expected
portability will be impacted.
##### Note
@ -14113,4 +14119,3 @@ Alternatively, we will decide that no change is needed and delete the entry.
\[Sutter04\]: H. Sutter. Exceptional C++ Style (Addison-Wesley, 2004).
* <a name="Taligent94"></a>
\[Taligent94\]: Taligent's Guide to Designing Programs (Addison-Wesley, 1994).