[PATCH] D92672: [flang][openacc] Enforce restriction on routine directive and clauses
Valentin Clement via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 16 12:33:02 PST 2020
clementval marked 3 inline comments as done.
clementval added inline comments.
================
Comment at: flang/test/Semantics/acc-routine-validity.f90:19
+
+ !ERROR: Internal: no symbol found for 'dummy'
+ !$acc routine(dummy) seq
----------------
clementval wrote:
> tskeith wrote:
> > clementval wrote:
> > > sameeranjoshi wrote:
> > > > clementval wrote:
> > > > > sameeranjoshi wrote:
> > > > > > Why isn't it getting resolved though having a resolving function defined above?
> > > > > > Do you think there is a need for a more better resolver, which I tried in
> > > > > > https://reviews.llvm.org/D93051 with the latest diff?
> > > > > `dummy` is not defined anywhere and must raise an error here. There is no subroutine/function named dummy so no symbol so the error is triggered. This is the correct behavior. Not all name can be resolved if they really do not exists.
> > > > So why is it an internal error, which seems to be a fatal error?
> > > > Shouldn't it be something like `no declaration found` or the normal way we get errors from Fortran part in F18?
> > > Well this is the Flang error for no symbol found why would you want a different error? I don't get your point here.
> > That message is an internal error, not a user error. An internal error means a bug in the compiler, not in the user's program.
> >
> > This particular internal error means that we have not resolved `dummy` to a symbol but we also have not reported any errors to the user indicating what is wrong.
> Alright. I'm gonna issue a proper user error for this case. Thanks for the precision @tskeith
@sameeranjoshi User error message is now issued instead of the internal error.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D92672/new/
https://reviews.llvm.org/D92672
More information about the llvm-commits
mailing list