TYPE(*) arguments fell through in IS_CONTIGUOUS folding
because they are not Expr<SomeType>. Expose entry point for
symbols in IsContiguous and use that.
The added test revealed that IS_CONTIGUOUS was folded to
false for assumed rank arguments. Fix this: the contiguity of
assumed rank without the CONTIGUOUS argument can only be
verified at runtime.
I'm seeing compilation errors here because the variable details is not used, and my build has -Werror=unused-variable defined.
I'm using GCC 9.3.0.
If I change line 773 to just check against nullptr, everything builds and tests correctly.