[Flang][OpenMP][NFC][1/2] Reorder OmpStructureChecker and simplify it.
authorSameeran joshi <joshisameeran17@gmail.com>
Wed, 28 Oct 2020 18:13:49 +0000 (23:43 +0530)
committerSameeran joshi <joshisameeran17@gmail.com>
Tue, 3 Nov 2020 06:20:32 +0000 (11:50 +0530)
commit855a32d9e55932885759979361b353c63def84c8
tree3348f9feb8999e56268d25e7aff69d553ea315e2
parentee63acc37e319cdab6accd677fdf772ea3683867
[Flang][OpenMP][NFC][1/2] Reorder OmpStructureChecker and simplify it.

`OmpStructureChecker` has too much boilerplate code in source file.
It was not easy to figure out the seperation of clauses inside 'OmpClause' and
the ones which had a seperate node in parse-tree.h.

This patch:
1. Removes the boilerplate by defining a few macros.
2. Makes seperation between constructs, directives and clauses(sub classes are seperated).
3. Macros could have been shared between OMP and OACC, template specilizations might have
   been costly hence used macros.
Follows the same strategy used for `AccStructureChecker`.

Next patch in series to simplify OmpStructureChecker would try to simplify
boilerplates inside the functions and either create abstractions or use if
something is available inside check-directive-structure.h

Reviewed By: kiranchandramohan, clementval

Differential Revision: https://reviews.llvm.org/D90324
flang/lib/Semantics/check-omp-structure.cpp