llvm-project/flang/lib/Semantics
Daniil Dudkin 2c27d5b36a [flang] Fix internal error with DATA-statement style initializers
The code below causes flang to crash with an exception.
After fixing the crash flang with an internal error "no symbol found for 'bar'"
This change fixes all the issues.

  program name
    implicit none
    integer, parameter :: bar = 1
    integer foo(bar) /bar*2/
  end program name

Reviewed By: kiranchandramohan, klausler

Differential Revision: https://reviews.llvm.org/D124914
2022-05-06 18:21:34 +03:00
..
CMakeLists.txt [flang] Save binding labels as strings 2021-03-24 11:25:23 -07:00
assignment.cpp [flang] Add one semantic check for masked array assignment 2022-05-06 22:19:20 +08:00
assignment.h
attr.cpp
canonicalize-acc.cpp [flang] Add clang-tidy check for braces around if 2021-06-16 09:13:53 +00:00
canonicalize-acc.h [flang][openacc] Semantic checks for OpenACC 3.0 clauses validity 2020-07-14 20:44:35 -04:00
canonicalize-do.cpp [flang] Add & use a better visit() (take 2) 2022-04-16 16:00:48 -07:00
canonicalize-do.h
canonicalize-omp.cpp
canonicalize-omp.h
check-acc-structure.cpp [flang] Add clang-tidy check for braces around if 2021-06-16 09:13:53 +00:00
check-acc-structure.h [flang][directive] Enforce basic semantic check for all clauses 2021-02-01 13:33:30 -05:00
check-allocate.cpp [flang] Add & use a better visit() (take 2) 2022-04-16 16:00:48 -07:00
check-allocate.h
check-arithmeticif.cpp [flang] Finer control over error recovery with GetExpr() 2022-04-15 14:25:41 -07:00
check-arithmeticif.h
check-call.cpp [flang] Fix ICE for passing a label for non alternate return arguments 2022-05-04 12:32:33 +03:00
check-call.h [flang] Fix generic resolution case 2021-10-22 13:38:47 -07:00
check-case.cpp [flang] Downgrade a fatal error to a warning 2022-04-27 12:31:58 -07:00
check-case.h
check-coarray.cpp [flang] Finer control over error recovery with GetExpr() 2022-04-15 14:25:41 -07:00
check-coarray.h [flang] Support for image selectors 2020-07-08 07:31:54 -07:00
check-data.cpp [flang] Add & use a better visit() (take 2) 2022-04-16 16:00:48 -07:00
check-data.h [flang] Implement semantics for DEC STRUCTURE/RECORD 2022-01-13 13:17:13 -08:00
check-deallocate.cpp [flang] Add & use a better visit() (take 2) 2022-04-16 16:00:48 -07:00
check-deallocate.h
check-declarations.cpp [flang] Do not ICE on recursive function definition in function result 2022-04-21 19:04:17 +09:00
check-declarations.h [flang] Improve initializer semantics, esp. for component default values 2020-12-07 14:40:41 -08:00
check-directive-structure.h [flang][OpenMP] Add semantic checks of nesting of region about ordered construct 2022-04-13 22:27:58 +08:00
check-do-forall.cpp [flang] Add & use a better visit() (take 2) 2022-04-16 16:00:48 -07:00
check-do-forall.h
check-if-stmt.cpp
check-if-stmt.h
check-io.cpp [flang] Add & use a better visit() (take 2) 2022-04-16 16:00:48 -07:00
check-io.h [flang] Finer control over error recovery with GetExpr() 2022-04-15 14:25:41 -07:00
check-namelist.cpp
check-namelist.h
check-nullify.cpp [flang] Add & use a better visit() (take 2) 2022-04-16 16:00:48 -07:00
check-nullify.h
check-omp-structure.cpp [mlir][OpenMP] Add omp.cancel and omp.cancellationpoint. 2022-05-02 12:23:38 -05:00
check-omp-structure.h [flang][OpenMP] Add semantic checks of nesting of region about ordered construct 2022-04-13 22:27:58 +08:00
check-purity.cpp
check-purity.h
check-return.cpp [flang] Fix semantics check for RETURN statement 2022-05-02 22:04:58 +02:00
check-return.h
check-select-rank.cpp [flang] Add & use a better visit() (take 2) 2022-04-16 16:00:48 -07:00
check-select-rank.h
check-select-type.cpp [flang] Add & use a better visit() (take 2) 2022-04-16 16:00:48 -07:00
check-select-type.h [flang] Semantics for SELECT TYPE 2020-06-12 00:12:24 +05:30
check-stop.cpp [flang] Finer control over error recovery with GetExpr() 2022-04-15 14:25:41 -07:00
check-stop.h
compute-offsets.cpp [flang] Handle common block with different sizes in same file 2022-04-29 14:52:47 +02:00
compute-offsets.h [flang] Implement STORAGE_SIZE(), SIZEOF(), C_SIZEOF() 2020-12-15 17:26:20 -08:00
data-to-inits.cpp [flang] Fix internal error with DATA-statement style initializers 2022-05-06 18:21:34 +03:00
data-to-inits.h [flang] Implement semantics for DEC STRUCTURE/RECORD 2022-01-13 13:17:13 -08:00
expression.cpp [flang][nfc] Use a message class for "not yet implemented" messages 2022-05-05 07:12:22 -07:00
mod-file.cpp [flang] Fix crash from PDT component init in module file 2022-04-26 10:49:05 -07:00
mod-file.h [flang] Distinguish intrinsic from non-intrinsic modules 2022-01-31 13:31:27 -08:00
pointer-assignment.cpp [flang] Add & use a better visit() (take 2) 2022-04-16 16:00:48 -07:00
pointer-assignment.h [flang] DATA stmt processing (part 3/4): Remaining prep work 2020-06-19 09:09:05 -07:00
program-tree.cpp [flang] Avoid global name conflict when BIND(C,NAME=) is used 2022-04-25 09:25:44 -07:00
program-tree.h [flang] Avoid global name conflict when BIND(C,NAME=) is used 2022-04-25 09:25:44 -07:00
resolve-directives.cpp [flang] Add & use a better visit() (take 2) 2022-04-16 16:00:48 -07:00
resolve-directives.h [flang][NFC] Extract name resolution for OpenACC & OpenMP into new file 2020-07-28 16:38:36 -07:00
resolve-labels.cpp [flang] Fix semantic analysis for "forall" targeted by "label" 2022-04-09 00:27:53 +08:00
resolve-labels.h
resolve-names-utils.cpp [flang] Add & use a better visit() (take 2) 2022-04-16 16:00:48 -07:00
resolve-names-utils.h [flang] Add nonfatal message classes 2022-03-08 11:40:45 -08:00
resolve-names.cpp [flang] Fix internal error with DATA-statement style initializers 2022-05-06 18:21:34 +03:00
resolve-names.h [flang] Distinguish intrinsic from non-intrinsic modules 2022-01-31 13:31:27 -08:00
rewrite-parse-tree.cpp [flang] Disambiguate F(X)=Y case where F is a function returning a pointer 2022-04-25 09:25:09 -07:00
rewrite-parse-tree.h
runtime-type-info.cpp [flang] Add & use a better visit() (take 2) 2022-04-16 16:00:48 -07:00
scope.cpp [flang] Do not pass derived type by descriptor when not needed 2022-04-20 10:00:34 +02:00
semantics.cpp [flang] Handle common block with different sizes in same file 2022-04-29 14:52:47 +02:00
symbol.cpp [flang] Add & use a better visit() (take 2) 2022-04-16 16:00:48 -07:00
tools.cpp [flang] Add & use a better visit() (take 2) 2022-04-16 16:00:48 -07:00
type.cpp [flang] Handle parameter-dependent types in PDT initializers 2022-04-15 16:20:41 -07:00
unparse-with-symbols.cpp [flang][openacc] Basic name resolution infrastructure for OpenACC construct 2020-07-26 20:01:35 -04:00