После указания ошибки компилятора я заметил, что clang stdbool.h содержит (среди прочего) следующие строки:
#define bool  bool
#define false false
#define true  true
Они содержатся в блоке #ifdef, который косвенно поддерживает __cplusplus, поэтому тег С++, хотя stdbool.h является заголовком C.
Какая потребность в них определяет? Я предполагаю, что они требуются по какой-то причине, связанной с препроцессором, но мне было бы интересно узнать, какая часть стандарта или какая техническая причина делает так, чтобы это было связано с этим.