Thank you for your detailed explanation of "dummy parameter" !
>It is still unclear to me what you are trying to accomplish.
>Implicit typying and implicit interfaces are a compile-time
>thing.
.......
>An -fcheck=implicit-type option that generates a runtime
>error that does not make sense to me unless the aim is
>to slow down the compile code. The above code would be
>transformed into something like (ignoring passing convention).
>float
>foo(float x)
>{
> if (runtime_option & fcheck_implicit_type)
> runtime_error("'foo' has an implicit type");
> if (runtime_option & fcheck_implicit_type)
> runtime_error("'x' has an implicit type");
> return (x * x);
>}
Here is the description of the GSoC project :
*Fortran – run-time argument checking.* – In particular older Fortran code,
which does not use modules, but also code which uses implicit-size or
explicit-size arrays is prone to argument mismatches. The goal of this item
is to *add an optional run-time test* which works by storing the
argument-type/size data before the call in a global variable – and check
against it in the callee. (A pointer to the called function is stored
alongside to permit calls from uninstrumented code to instrumented code.)
This project would/could be mentored by Tobias Burnus. Required skills
include C/C++; some knowledge of Fortran helps, but is not needed. *Difficulty
medium, size: 175 hours (medium)*.
"older Fortran code "may indicate the version Fortran 77
I try to regard "an optional run-time test" as a compile option like what
you said "-fcheck=implicit-type" . Is there any other understanding?
(Maybe , the test is "check_implicit_type" , the code you showed to me
above))
Although the optimized code will reduce the code running efficiency, I feel
that this project should have its place!😄😄