From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- .../doc/html/manual/ext_compile_checks.html | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 libstdc++-v3/doc/html/manual/ext_compile_checks.html (limited to 'libstdc++-v3/doc/html/manual/ext_compile_checks.html') diff --git a/libstdc++-v3/doc/html/manual/ext_compile_checks.html b/libstdc++-v3/doc/html/manual/ext_compile_checks.html new file mode 100644 index 000000000..c648797c1 --- /dev/null +++ b/libstdc++-v3/doc/html/manual/ext_compile_checks.html @@ -0,0 +1,40 @@ + + +Chapter 16. Compile Time Checks

+ Also known as concept checking. +

In 1999, SGI added concept checkers to their implementation + of the STL: code which checked the template parameters of + instantiated pieces of the STL, in order to insure that the parameters + being used met the requirements of the standard. For example, + the Standard requires that types passed as template parameters to + vector be Assignable (which means what you think + it means). The checking was done during compilation, and none of + the code was executed at runtime. +

Unfortunately, the size of the compiler files grew significantly + as a result. The checking code itself was cumbersome. And bugs + were found in it on more than one occasion. +

The primary author of the checking code, Jeremy Siek, had already + started work on a replacement implementation. The new code has been + formally reviewed and accepted into + the + Boost libraries, and we are pleased to incorporate it into the + GNU C++ library. +

The new version imposes a much smaller space overhead on the generated + object file. The checks are also cleaner and easier to read and + understand. +

They are off by default for all versions of GCC from 3.0 to 3.4 (the + latest release at the time of writing). + They can be enabled at configure time with + --enable-concept-checks. + You can enable them on a per-translation-unit basis with + #define _GLIBCXX_CONCEPT_CHECKS for GCC 3.4 and higher + (or with #define _GLIBCPP_CONCEPT_CHECKS for versions + 3.1, 3.2 and 3.3). +

Please note that the upcoming C++ standard has first-class + support for template parameter constraints based on concepts in the core + language. This will obviate the need for the library-simulated concept + checking described above. +

-- cgit v1.2.3