Dalam Quartus® Perangkat lunak II versi 15.0, Nios® Kode II dikompilasi menggunakan rantai alat nios2-elf-gcc 4.9. Saat mengkompilasi kode di -O2 (atau lebih tinggi) dengan rantai alat nios2-elf-gcc 4.9, optimisasi -fisolate-erroneous-paths-dereference akan diaktifkan secara bawaan.
Sebagaimana dijelaskan dalam
https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#Optimize-Options,
-fisolate-erroneous-paths-dereference
Mendeteksi jalur yang memicu perilaku keliru atau tidak terdefinis karena dereferensi penunjuk nol. Isolasi jalur tersebut dari alur kontrol utama dan ubah pernyataan dengan perilaku keliru atau tidak terdefinisi menjadi perangkap. Flag ini diaktifkan secara bawaan pada -O2 dan yang lebih tinggi.
Optimisasi ini berarti ketika rantai alat mendeteksi kode sedang mencoba memuat atau menyimpan melalui penunjuk nol yang memungkinkan, ia akan mengubah muatan atau menyimpan pernyataan menjadi instruksi perangkap. Hal ini dapat menyebabkan program tertanam lumpuh tanpa peringatan waktu kompilasi.
Jika desain Anda berisi data yang valid di alamat nol, kompilasi kode Anda menggunakan sakelar berikut untuk menghindari masalah yang terkait dengan dereferensi penunjuk nol:
-fno-delete-null-pointer-checks