Я знаю ещё как минимум 2 языка с компиляцией в Си: Oberon (Ofront компилятор -> ) И Eiffel (в Си - SmartEiffel)- объектный язык -> https://en.wikipedia.org/wiki/SmartEiffel
https://zx.oberon2.ru/forum/viewtopic.php?p=135
Оба умеют в
контрактное программирование .
Посмотрите их возможности. Со вторым сталкивался по студенчеству: один дядька во времена, когда Pentium III был крутым процессором, написал в одного онлайновую игрушку полностью (я, собственно, играл). Полностью - это и серверную часть, и клиента, и инструментарий для создания квестов. Ещё я знаю, что он его применял в биллинговых системах.
Но вам же не Си нужен? 1) нужен только для кросскомпиляции; 2) средство понять, "так ли там, как я хотел?", "почему тут долго работает?" - то есть как ассемблерный листинг для Си-программ.
Второй цели, вероятно, можно и средствами самого языка достичь. Если нет, то obj-dump наверняка поможет.