Replace Apple Clang with Vanilla Clang, what can go wrong?

We are developing a cross platform c++ application. We also use some objective-c (no swift) and specific Apple frameworks like AVFoundation, CoreML in the MacOs version of our software.

We use Apple Clang as compiler when building for MacOs. As our code is primarily c++ we would like to use the latest and greatest c++ 20 features.

So we are looking into using vanilla clang instead, the builds with vanilla clang seem to work fine, however our concern is that we might have overlooked possible issues that could arise. So our question is whether there are specific things we need to address when switching compilers, are there things that we need to be aware of?

In the end we just want to know if switching compilers won't cause problems we can't oversee.

So we would like to know if others took the same steps and what your thoughts/experiences are regarding this?

It would be helpful to understand what parts of C++20 support that you feel motivate needing to switch in the first place so that we're aware. We have a published list of C++20 features and their support status, if you haven't seen it. Further, the Xcode Release Notes are extensive, and so smaller developments in C++20 support that you value may appear there, and I recommend doing a survey through the different versions there to also gauge the amount of changes in C++20 support. If there's more that you need, then please let us know through Feedback Assistant, and feel free to post the FB numbers of any of your requests here for my reference.

however our concern is that we might have overlooked possible issues that could arise.

The clang version included with Xcode or the Command Line Tools packages is the supported option for development and distribution with Apple frameworks. By going off that path, especially since you name a few Apple-specific frameworks such as AVFoundation and CoreML, opens you up to encountering bugs that no one else has encountered before because its a configuration that very few other people are using.

— Ed Ford,  DTS Engineer

Replace Apple Clang with Vanilla Clang, what can go wrong?
 
 
Q