Currently, I am digging myself through some "modern" 2003 Fortran code and stumbled onto the concept of macros (which they "recently" added) with which I am not familiar with.
Can you give a concise description of what a macro does?
What is its typical use cases?
An example snipper of the code looks like the following. It seems to be handling some preprocessing and is part of an header (*.h) file.
#ifdef _VECTORIZED_DIMENSION_INDEX_
# define _DIMENSION_EXT_SLICE_ ,dimension(loop_start:)
#else
# define _DIMENSION_EXT_SLICE_
#endif