3 ms·
Fortran forbids aliasing. This gave Fortran compilers an edge before the introduction of restrict with C99. Not sure if there still exist semantic differences
by cygx 5y ago
Fortran forbids aliasing. This gave Fortran compilers an edge before the introduction of restrict with C99.
Not sure if there still exist semantic differences affecting optimizability to this day - perhaps things related to automatic vectorization?
- jcranmer 5y agoOne big issue is that C doesn't have guard rails against overflows within an object. For example, if you have an array `int a[3][3];`, `a[0][4]` is a perfectly legal way to refer to `a[1][0]`, because it's all within the same object.