何やらAndroid NDKのclang++の秘孔を突いた(最適化バグにぶち当たった)ような感じだ。-O1 と -O2 の間にどんだけ違いがあるのかはちょっとどう調べたら良いのかわからんな…(clangのソースのどこかで定義されてるんだろうけど)
https://github.com/atsushieno/aap-core/issues/194
-fno-vectorizeだけ付ければ今まで通りにビルドして使えるようになったからまあいいかと思ってたけど、よく考えたらオーディオ処理でvectorizationが効かないってけっこうデメリットでかいな??
やっぱり最適化外しの影響は可能な限り小さく抑えようと思って、問題箇所をがんがん絞り込んでいって問題を再現できるコードまで特定した https://github.com/atsushieno/cmidi2/commit/4483594
うーんこれ最適化に失敗するのは仕方ないか…とはいえコードの最適化が理由で動かないコードが出来上がるのは問題か