[all-commits] [llvm/llvm-project] b0bdc7: [flang] Fix subtle type naming bug in module file ...

Peter Klausler via All-commits all-commits at lists.llvm.org
Wed Sep 18 12:19:12 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b0bdc7fcc995fe6cf6ca9a184fc6ed211fc7b608
      https://github.com/llvm/llvm-project/commit/b0bdc7fcc995fe6cf6ca9a184fc6ed211fc7b608
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M flang/include/flang/Evaluate/traverse.h
    M flang/include/flang/Semantics/type.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/type.cpp
    M flang/test/Semantics/get_team.f90
    A flang/test/Semantics/modfile68.f90
    M flang/test/Semantics/modproc01.f90

  Log Message:
  -----------
  [flang] Fix subtle type naming bug in module file output (#108892)

A derived type specification in semantics holds both its source name
(for location purposes) and its ultimate derived type symbol. But for
correct module file generation of a structure constructor using that
derived type spec, the original symbol may be needed so that USE
association can be exposed.

Save both the original symbol and its ultimate symbol in the
DerivedTypeSpec, and collect the right one when traversing expressions
(specifically for handling initialization in module files).

Fixes https://github.com/llvm/llvm-project/issues/108827.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list