llvm/flang/lib/semantics
Tim Keith 714d3be8bf [flang] Use passed-object dummy in distinguishability checks
Complete the checks for distinguishable specifics procedure in a generic
by considering any passed-object dummy arguments.

C1514 rule 3 is implemented and the checks for the other rules are
extended to consider the PASS attribute, including the concept of the
"effective" position of an argument in an argument list, computed by
ignoring passed-object arguments.

Add `pass` to `characteristics::DummyArgument` to mark each
passed-object dummy argument.

Change symbols to store the index of the passed-object dummy argument
rather than its symbol.

Check that specifics of a type-bound generic are distinguishable only
after all of the procedure bindings have been processed. They don't have
to be before the generic.

Original-commit: flang-compiler/f18@2751490f95
Reviewed-on: https://github.com/flang-compiler/f18/pull/567
2019-07-12 12:18:00 -07:00
..
assignment.cc [flang] Resolve and check names in equivalence sets 2019-06-11 18:26:48 -07:00
assignment.h [flang] Remove OwningPointer and ForwardReference 2019-05-06 07:51:07 -07:00
attr.cc [flang] Changed .clang-format so that it will not add a comment after the closing brace of each namespace. Removed all such previous comments from all .cc and .h files 2018-10-25 05:55:23 -07:00
attr.h [flang] Changed .clang-format so that it will not add a comment after the closing brace of each namespace. Removed all such previous comments from all .cc and .h files 2018-10-25 05:55:23 -07:00
canonicalize-do.cc [flang] Simplify Semantics::Perform 2019-03-06 17:07:25 -08:00
canonicalize-do.h [flang] Simplify Semantics::Perform 2019-03-06 17:07:25 -08:00
check-allocate.cc [flang] Change two member functions of DerivedTypeDetails to non-member 2019-07-11 08:51:40 -07:00
check-allocate.h [flang] First batch of semantics checks for allocate 2019-04-23 03:05:56 -07:00
check-arithmeticif.cc [flang] work in progress 2019-05-20 13:37:28 -07:00
check-arithmeticif.h [flang] Cleanup -- Remove unnecessary inline keyword, 2019-04-11 15:20:14 -07:00
check-coarray.cc [flang] work in progress 2019-05-20 13:37:28 -07:00
check-coarray.h [flang] Save and fetch analyzed Expr in Variable 2019-04-18 17:48:55 -07:00
check-deallocate.cc [flang] Move HasError, SetError to SemanticsContext 2019-04-25 14:47:39 -07:00
check-deallocate.h [flang] Cleanup -- Remove unnecessary inline keyword, 2019-04-11 15:20:14 -07:00
check-do.cc [flang] Fixes for DO constraint C1124 2019-06-27 12:33:36 -07:00
check-do.h [flang] Renamed check.*do.*stmt to check.*do to better conform with the grammar. 2019-06-10 14:03:24 -07:00
check-if-stmt.cc [flang] Reactivate tree-driven constraint checking on expressions. 2019-04-15 09:41:41 -07:00
check-if-stmt.h [flang] Cleanup -- Remove unnecessary inline keyword, 2019-04-11 15:20:14 -07:00
check-io.cc [flang] A minimal PRINT Enter function requires a minimal PRINT Leave function. (flang-compiler/f18#543) 2019-07-03 09:59:59 -07:00
check-io.h [flang] A minimal PRINT Enter function requires a minimal PRINT Leave function. (flang-compiler/f18#543) 2019-07-03 09:59:59 -07:00
check-nullify.cc [flang] Move HasError, SetError to SemanticsContext 2019-04-25 14:47:39 -07:00
check-nullify.h [flang] Cleanup -- Remove unnecessary inline keyword, 2019-04-11 15:20:14 -07:00
check-omp-structure.cc [flang] Examples of Composite and Combined constructs (flang-compiler/f18#558) 2019-07-11 15:18:09 -07:00
check-omp-structure.h [flang] Examples of Composite and Combined constructs (flang-compiler/f18#558) 2019-07-11 15:18:09 -07:00
check-return.cc [flang] Add IsGlobal and IsDerivedType to Scope 2019-07-12 12:17:56 -07:00
check-return.h [flang] Implement semantic checks for return and alt-return. 2019-04-15 10:59:12 -07:00
check-stop.cc [flang] Use SomeExpr rather than GenericExprWrapper in checkers 2019-04-19 08:22:28 -07:00
check-stop.h [flang] Semantics checker for STOP and ERROR STOP statements - post review changes 2019-04-17 14:13:23 -07:00
CMakeLists.txt [flang] OpenMP structural check framework (PARALLEL as example) (flang-compiler/f18#493) 2019-06-25 16:18:51 -07:00
expression.cc [flang] Better name resolution for intrinsics 2019-07-11 11:52:47 -07:00
expression.h [flang] Use LOC() in iso_c_binding for C_LOC and C_FUNLOC 2019-07-01 16:54:53 -07:00
mod-file.cc [flang] Add IsGlobal and IsDerivedType to Scope 2019-07-12 12:17:56 -07:00
mod-file.h [flang] Simplify Semantics::Perform 2019-03-06 17:07:25 -08:00
program-tree.cc [flang] Move ProgramTree to its own file 2019-05-06 10:12:27 -07:00
program-tree.h [flang] Move ProgramTree to its own file 2019-05-06 10:12:27 -07:00
resolve-labels.cc [flang] Replace formatting of CharBlock & string 2019-05-07 09:24:32 -07:00
resolve-labels.h [flang] Changed .clang-format so that it will not add a comment after the closing brace of each namespace. Removed all such previous comments from all .cc and .h files 2018-10-25 05:55:23 -07:00
resolve-names-utils.cc [flang] Add IsGlobal and IsDerivedType to Scope 2019-07-12 12:17:56 -07:00
resolve-names-utils.h [flang] Fix regressions from testing pass 2019-06-28 09:20:55 -07:00
resolve-names.cc [flang] Use passed-object dummy in distinguishability checks 2019-07-12 12:18:00 -07:00
resolve-names.h [flang] Simplify Semantics::Perform 2019-03-06 17:07:25 -08:00
rewrite-parse-tree.cc [flang] Remove support for Names in messages for now. 2019-05-07 10:04:21 -07:00
rewrite-parse-tree.h [flang] Simplify Semantics::Perform 2019-03-06 17:07:25 -08:00
scope.cc [flang] Add IsGlobal and IsDerivedType to Scope 2019-07-12 12:17:56 -07:00
scope.h [flang] Add IsGlobal and IsDerivedType to Scope 2019-07-12 12:17:56 -07:00
semantics.cc [flang] OpenMP structural check framework (PARALLEL as example) (flang-compiler/f18#493) 2019-06-25 16:18:51 -07:00
semantics.h [flang] Handle substring of array element in EQUIVALENCE 2019-06-12 12:38:04 -07:00
symbol.cc [flang] Add IsGlobal and IsDerivedType to Scope 2019-07-12 12:17:56 -07:00
symbol.h [flang] Use passed-object dummy in distinguishability checks 2019-07-12 12:18:00 -07:00
tools.cc [flang] Add IsGlobal and IsDerivedType to Scope 2019-07-12 12:17:56 -07:00
tools.h [flang] Change two member functions of DerivedTypeDetails to non-member 2019-07-11 08:51:40 -07:00
type.cc [flang] Add IsGlobal and IsDerivedType to Scope 2019-07-12 12:17:56 -07:00
type.h [flang] Move various Instantiate functions to tools.cc 2019-07-11 08:51:40 -07:00
unparse-with-symbols.cc [flang] Change when symbol is set in parser::Name 2018-12-06 07:16:52 -08:00
unparse-with-symbols.h [flang] Tests pass 2019-06-17 16:13:07 -07:00