ConceptGCC Manual

This manual describes very briefly how to use the ConceptGCC compiler. If you want to learn instead about the ConceptC++ language, please refer to the ConceptC++ tutorial or specification.

Using the Compiler

The ConceptGCC compiler driver is named conceptg++. It provides the same behavior as GCC's g++ compiler driver, but with several new command line options.

Command-line Options

ConceptGCC has all of the same command-line options as the version of GCC it is based on. However, it includes several ConceptGCC-specific options:

  • -std=c++98 or -std=gnu++98 turns off support for all C++0x features, including concepts.
  • -D_GLIBCXX_NO_CONCEPTS turns off concepts support in the C++ Standard Library but not in the compiler itself.

Improving Compilation Speed

ConceptGCC is much slower than its GCC counterpart. While we expect this to improve with later versions of ConceptGCC, the best fix for now is to use precompiled headers, especially for the ConceptGCC Standard Library. Most users can just add the following command-line option to their invocations of conceptg++:

-include bits/stdc++.h

Predefined macros

Whenever concept support is available, ConceptGCC defines the macro __GXX_CONCEPTS__. ConceptGCC will also define __GXX_EXPERIMENTAL_CXX0X__ to indicate that it is in the experimental C++0x mode of GCC 4.3.