As mentioned in #98877, we currently always use 1 as lower bound for fixed size arrays. This PR removes this restriction. It passes along `DeclareOp` to type conversion functions and uses the shift information (if present) to get the lower bound value. This was suggested by @jeanPerier in https://github.com/llvm/llvm-project/pull/96746#issuecomment-2195164553 This PR also adds a small cleanup that type conversion functions don't take Location now. It was initially added so that location of derived types can be passed. But that information can be extracted from typeInfo objects and we don't need to pass it along. This PR will handle the problem for local and global variable. We may need a bit more work for derived type once the support for derived types lands. Fixes #98877.
Flang Integration Tests
This directory can be used to add Integration tests involving multiple stages of the compiler (for eg. from Fortran to LLVM IR). It should not contain executable tests. We should only add tests here sparingly and only if there is no other way to test. Repeat this message in each test that is added to this directory and sub-directories.