A.out - это имя формата исполняемого файла UNIX. (ELF другой)
Компилятор выдаст это имя (по традиции), если вы не дадите имени исполняемому файлу имя явно.
Что сломалось бы, если бы эти компиляторы
будет просто ошибка вместо
производит "a.out"?
Ничего не сломалось бы, но что вы подразумеваете под "ошибкой"? Вы хотите отказаться от компиляции, если для компоновщика не указано имя исполняемого файла?