Targeting LLVM is an easy and obvious way, but let's mind the disadvantages.

  1. You start to depend on a LLVM project existence, plans, roadmaps, and 
ecosystem. Your resources, as a small independent grass–root publisher, are 
nothing compared to Apple ones. Sooner or later the effort of staying in sync 
with newer LLVM versions will become unbearable and your project will die.
  2. Yeah yeah, you can target both LLVM and GCC. Bamm! Now you have 2 
hardwired dependencies instead of one.
  3. Depending on "C/C++", instead of "GCC/LLVM", is completely different 
story. ISO/IEC standards cannot disappear, cannot pivot, cannot change beyond 
any recognition, cannot switch to prohibitive licensing.
  4. Think about compilers for specialized embedded hardware. IAR, Keil, etc. 
The possibility to reach exotic platforms is a big deal.


Reply via email to