This is an archive of the discontinued LLVM Phabricator instance.

[flang][directive] Enforce basic semantic check for all clauses
ClosedPublic

Authored by clementval on Jan 20 2021, 5:57 PM.

Details

Summary

This patch is a follow up to D94821 to ensure the correct behavior of the
general directive structure checker.
This patch add the generation of the Enter function declaration for clauses in
the TableGen backend.
This helps to ensure each clauses declared in the TableGen file has at least
a basic check.

Diff Detail

Event Timeline

clementval created this revision.Jan 20 2021, 5:57 PM
clementval requested review of this revision.Jan 20 2021, 5:57 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 20 2021, 5:57 PM
clementval added a project: Restricted Project.Jan 20 2021, 5:58 PM

LGTM. A few suggestions. Feel free to skip or submit with changes.

flang/lib/Semantics/check-omp-structure.cpp
474–475

Not of this patch but Nit: seperate -> separate.

474–475

Looks like you have captured more clauses here. Great!

flang/lib/Semantics/check-omp-structure.h
131–141

Can these be moved above the clauses?

llvm/utils/TableGen/DirectiveEmitter.cpp
637

Nit: I don't like the name. Also we are only generating the declaration. Would you be OK with GenerateFlangClauseCheckPrototypes? In the comment along it can be mentioned that the checks happen in the Enter stage during traversal.

This revision is now accepted and ready to land.Jan 30 2021, 4:30 AM
clementval updated this revision to Diff 320486.Feb 1 2021, 8:43 AM
clementval marked 3 inline comments as done.

Address review comments

Thanks for the review.

This revision was landed with ongoing or failed builds.Feb 1 2021, 10:33 AM
This revision was automatically updated to reflect the committed changes.