Skip to content

Conversation

@winspool
Copy link
Contributor

@winspool winspool commented Jan 24, 2026

Thanks for cppstat.

I will add the OpenWatcom and tcc features later, when this is accepted

Why OpenWatcom:

  • has a long History: Started as a comercial compiler and used in most DOS-games in the 90th
  • is Open Source since 2003 and still under development: https://github.com/open-watcom/open-watcom-v2.git
  • is self contained with Assemblers, compilers for C, C++ and Fortran, a libtool, a linker and runtime libraries
  • includes also an IDE, a Debugger, a profiler and many other tools
  • supports many common and unusual targets: Linux, Windows, DOS, OS/2, RDOS, Netware

Why TinyCC:

  • is small and can compile hyper fast
  • allows scripting of C source files
  • is an assembler, a C Compiler, a library Tool and a linker in one Program
  • is used as fast backend in other languages
  • is still under development: https://repo.or.cz/tinycc.git

@cdervis
Copy link
Owner

cdervis commented Jan 24, 2026

Hi @winspool, first off, thank you for the PR.

It would be great to have more toolchains on cppstat, I just don't think it would be feasible to maintain the feature support for them.
cppstat currently only lists the three major toolchains (and Xcode FWIW), because they're the most up-to-date in regards to conformance.

However, if we decide to just list OpenWatcom and TinyCC in the toolchain overview, I'm all for it. Was that your intention in the first place?

Edit: Would you be able to provide roughly what the support level of both of these toolchains is, i.e. is Open Watcom at least somewhere around C++23?

@winspool
Copy link
Contributor Author

winspool commented Jan 25, 2026

My intention:
I have patches in both compiler and work on a free C/POSIX/C++ Testsuite.
(And make Open Watcom & tcc more interesting for developers to join the team).

Unfortunately, the standards supported by Open Watcom are weak:
Open Watcom C support is near C99 and the C++ support is in the range of C++98 / C++03.
A few features from newer standards are implemented.

For tcc:
tcc is about 9 times faster than "gcc -O0", sometimes even more
and the C std support is better than the C std support in Open Watcom:
_Generic is supported,
the explicit atomic access functions work,
but declaring a variable with _Atomic and access the variable without the atomic functions is not atomic.

tcc does not support the C11 auto yet and has no <threads.h> support.
(waiting for the release before adding new features to tcc).

I use c11threads for OpenWatcom and tcc: https://github.com/jtsiomb/c11threads.git

Both development teams are small, so keeping the supported features up to date is easy.
I plan to add a feature list in my tests and afterwards in OpenWatcom and in tcc.

Edit: I will spend the time add the supported papers,
as soon, as the compilers are listed.
Test for the papers are needed, but some tests are available in the testsuites for gcc and/or clang.

@cdervis
Copy link
Owner

cdervis commented Jan 25, 2026

I think we can add both toolchains, but I would hide them by default. Otherwise it would clutter up the table columns for users that only care about the major toolchains.

I'd have to add a feature to the site that allows users to configure toolchains they care about, which can take some time (but it was a planned feature anyway).
Users can then show/hide toolchains as they see fit. I think that would satisfy everyone.

Until I have implemented this feature, your changes may not be visible on the site.

Granted, I trust that you will provide the initial batch of feature support data for both toolchains. But you don't have to rush it.

Edit: Created related feature #63

Copy link
Owner

@cdervis cdervis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes are fine, just some minor nitpicks.

@winspool
Copy link
Contributor Author

Patch updated

@cdervis
Copy link
Owner

cdervis commented Jan 25, 2026

Please merge the main branch into your branch and push again, then the CI checks should pass.

Why OpenWatcom:
* has a long History: Started as a comercial compiler and used in most DOS-games in the 90th
* is Open Source since 2003 and still under development: https://github.com/open-watcom/open-watcom-v2.git
* is self contained with Assemblers, compilers for C, C++ and Fortran, a libtool, a linker and runtime libraries
* includes also an IDE, a Debugger, a profiler and many other tools
* supports many common and unusual targets: Linux, Windows, DOS, OS/2, RDOS, Netware

Why TinyCC:
* is small and can compile hyper fast
* allows scripting of C source files
* is an assembler, a C Compiler, a library Tool and a linker in one Program
* is used as fast backend in other languages
* can compile the linux kernel (tccboot)
* is still under development: https://repo.or.cz/tinycc.git
@cdervis cdervis merged commit c16969d into cdervis:main Jan 26, 2026
1 check passed
@cdervis
Copy link
Owner

cdervis commented Jan 26, 2026

Hi @winspool , thank you for the contribution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants