Code compiles in MSVC but not in Clang. Why?

I tried to upload code but new users are not allowed to upload! Please advise how to upload.
Aik-Siong Koh

Code at the following link. Thanks.

Classes are subclasses of std::vector and may have circularity issues which Clang cannot handle. Please advise solution for Clang. Thanks.

I would recommend following the advice of How to submit an LLVM bug report — LLVM 18.0.0git documentation
Using creduce or cvise will reduce the issue to it’s minimal variant. (You might have to fine-tune your detection script a few times) Based on that, you should be able to get a reproduction of at most 10 lines. That is something you can copy paste in or here or the bug tracker.


Thanks for answering. I am a novice in Clang, so I doubt I hit something so big as a bug. I would like some expert eyes on the compilation to see what foolish mistake I may have made. I runs in MSVC so I am stumped.

I understand. I’ve once converted a large codebase from MSVC only to clang. It took quite some effort.
MSVC allows a lot of invalid code to be compiled. I’ve logged quite some bugs for those differences. Some where fixed on clang-cl others where not considered worth the effort given they are invalid constructs.

From my experience, using a tool like creduce will reduce the problem to the smallest variant it can become. From that, it is usually very obvious what is causing the issue.

1 Like