I'd like to log a new feature request: I'm really liking the ability to pass hints to the optimizer about the size limits of certain variables, etc. However, inserting this directive in a header appears to trigger a switch in the syntax parser from the definition section to the executable section. This makes it a bit of a Achilles' heel in practical usage for us, as it would be rather convenient to co-locate the ASSUME hints for a variable in the same location it is defined.
Example: You have a file that include ~5 different header files that define a series of structures, arrays, loop-control variables, etc. These files may be included in several hundred compilation units, so locating the !DIR$ ASSUME tunings for the loop-control variables in the same headers where they are defined would be much easier than having to edit the hundreds of compilation units to ensure the ASSUME directives lie after all the variable definitions.
Perhaps this is a job for FPP?
You would need to use #include as opposed INCLUDE (sans #)
appropriately #define the values you want.
For numeric-only values you might be able to use an INTEGER PRAGMA ...