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