-
Notifications
You must be signed in to change notification settings - Fork 162
C++ Project
These notes cover the C++ compiler and library components of Open Watcom. Collectively we refer to these components as the "C++ project."
The version of C++ implemented by the C++ Project is currently an approximation of C++ 1998. We say it is an approximation because not all C++98 features are supported. Some library components, particularly ones that rely on unsupported features, are missing. It is our intention to eventually support all of C++ 1998 and, ultimately, the newer standards as well.
Open Watcom C++ does support a few features from the newer standards, and also offers some library components from the newer standards. This reflects the incremental evolution of the project. We want to make whatever features have been implemented immediately available without necessarily waiting for complete support for an entire standard. As a result you may be able to use some modern C++ features in your programs, even while lacking certain features from the older, 1998 standard. All features that have been implemented are supported, and bug reports against them are welcome. Missing features should be reported as enhancement requests rather than as bugs.
The C++ project has several long term goals, listed here as different subprojects. Not all of these subprojects are currently active. However, if you are interested in contributing to the C++ project, contributions in any of these areas are welcome.
-
C++ Language. It is our desire to make the C++ compiler conformant, to the greatest degree feasible, with the C++ 2011 standard (or even more recent standards).
-
C++ Library. Likewise it is our desire to make the C++ library conformant, to the greatest degree feasible, with the C++ 2011 standard (or even more recent standards). In addition we have implemented or intend to implement several Open Watcom specific library components.
-
C++ for Embedded Programming. Open Watcom C++ is one of the few actively maintained C++ compilers that can generate 16 bit x86 code. Thus one of our goals is to provide a modern C++ compiler and library that 16 bit x86 embedded system programmers can actually use.
-
C++ for Numerical Applications. The Open Watcom tool set contains a FORTRAN 77 compiler and a C compiler that is working its way toward C99 compliance. We anticipate this combination will be interesting to those doing numerical work and we would like Open Watcom C++ to support such programmers as well.
-
Seamless Cross Platform Support. The Open Watcom project as a whole is characterized by good cross platform support. We would like the C++ compiler to continue this tradition by offering reasonable platform-specific extensions as appropriate.
-
Rich Tool Support. The Open Watcom project is also characterized by an extensive collection of tools (debugger, profiler, browser, etc). We would like these tools to work well with the C++ compiler even as the compiler evolves.
-
High Quality Documentation. This includes both external documentation for users as well as internal documentation for compiler and library developers.
-
Maintenance. Of course we want to provide the highest quality software that we can. Thus general maintenance needs to be given at least as much attention as the more glamorous activity of adding new features.
- Welcome
- Building
- Open Watcom Documentation
- Notes
- Relicensing effort
- Debugging
- OW tools usage Overview
- OW tools usage with CMake
- OW tools usage with Visual Studio Code
- Open Watcom 1.9 Wiki
OW Development
WGML Development
- WGML
- Augmented Devices
- Binary Device Files
- Common File Blocks
- COP Files
- Device File Blocks
- Device Function Language
- Device Function Notes
- Device Functions
- Directory File Format
- Drawing Boxes
- Driver File Blocks
- File and Directory Names
- Font File Blocks
- Fonts
- GML Tag Notes
- Keyword Statistics
- Macros and User Defined Tags
- Meta Data
- Page Layout Subsystem
- Search Paths
- Sequencing
- System Symbol Notes
- Tabs and Tabbing
- whpcvt Utility interaction