C/C++ Producer Implementation

  1. i. Introduction
  2. 1. Program overview
  3. 2. Structural Organisation
    1. 2.1. Source code modules
    2. 2.2. Type system
  4. 3. Scalar types
    1. 3.1. Arithmetic types
    2. 3.2. Integer literal types
    3. 3.3. Bitfield types
  5. 4. Pointers
    1. 4.1. Generic pointers
    2. 4.2. Pointers to data members
    3. 4.3. Pointers to function members
  6. 5. Calling conventions
    1. 5.1. Member functions
    2. 5.2. Ellipsis functions
  7. 6. Classes
    1. 6.1. Class layout
    2. 6.2. Derived class layout
    3. 6.3. Constructors and destructors
    4. 6.4. Virtual function tables
  8. 7. Exceptions
    1. 7.1. Try blocks
    2. 7.2. Local variables
    3. 7.3. Throwing an exception
    4. 7.4. Handling an exception
    5. 7.5. Exception specifications
  9. 8. Run-time type information
    1. 8.1. Defining run-time type information structures
    2. 8.2. Accessing run-time type information
  10. 9. Mangled identifier names
    1. 9.1. Mangling identifier names
    2. 9.2. Mangling namespace names
    3. 9.3. Mangling types
    4. 9.4. Other mangled names
    5. 9.5. Mangled name examples
  11. 10. Other implementation details
    1. 10.1. Parsing C++
    2. 10.2. Undefined conversions
    3. 10.3. Integer division
    4. 10.4. Dynamic initialisation
    5. 10.5. The std namespace
    6. 10.6. Error catalogue