メモ:MBED_COMPILER_BARRIERでビルドエラー

Mbed OS5 からSW4STM32にエクポートしてビルドすると、mbed_toolchain.hの下記の行で「'asm' undeclared」というエラーが発生する。

#define MBED_COMPILER_BARRIER() asm volatile("" : : : "memory")

ビルドに用いるコンパイラの違いによるものである。下記のように修正するとビルドが通るようになる。

#define MBED_COMPILER_BARRIER() __asm__ __volatile__("" : : : "memory")

 
【ネタ元】