[PATCH] D42665: Extensions to the LLVM debug information metadata to support the Fortran language.

xoviat via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 29 15:13:16 PST 2018


xoviat created this revision.
Herald added subscribers: llvm-commits, JDevlieghere, aprantl.

There are several new debug info constructs added  here.  They include the following.

!DIStringType :
Debug clients expect Fortran CHARACTER types to appear as
DW_TAG_string_type in the DWARF. !DIStringType can be used to generate
DWARF for constant and variable sized CHARACTER type variables.  If the
size of a CHARACTER must be computed at run-time, DWARF specifies that
the DW_TAG_string_type has a DW_AT_string_length with a location expression.

!DIFortranArrayType and !DIFortranSubrange :
Debug clients expect Fortran arrays to specify the bounds of their
dimensions in DW_TAG_subrange_types.  Both the lower and upper bounds can
be given by the programmer as constants, variables, a mix of constants
and variables, omitted, or as deferred.  The DWARF standard requires
that these bounds appear in the DW_TAG_subrange_type.  Debug clients
expect variable bounds to be encoded in blocks.


Repository:
  rL LLVM

https://reviews.llvm.org/D42665

Files:
  include/llvm/Bitcode/LLVMBitCodes.h
  include/llvm/IR/DIBuilder.h
  include/llvm/IR/DebugInfoFlags.def
  include/llvm/IR/DebugInfoMetadata.h
  include/llvm/IR/Metadata.def
  lib/AsmParser/LLParser.cpp
  lib/Bitcode/Reader/MetadataLoader.cpp
  lib/Bitcode/Writer/BitcodeWriter.cpp
  lib/CodeGen/AsmPrinter/DebugLocEntry.h
  lib/CodeGen/AsmPrinter/DebugLocStream.cpp
  lib/CodeGen/AsmPrinter/DebugLocStream.h
  lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
  lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
  lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  lib/CodeGen/AsmPrinter/DwarfDebug.h
  lib/CodeGen/AsmPrinter/DwarfExpression.cpp
  lib/CodeGen/AsmPrinter/DwarfExpression.h
  lib/CodeGen/AsmPrinter/DwarfUnit.cpp
  lib/CodeGen/AsmPrinter/DwarfUnit.h
  lib/IR/AsmWriter.cpp
  lib/IR/DIBuilder.cpp
  lib/IR/DebugInfoMetadata.cpp
  lib/IR/LLVMContextImpl.h
  lib/IR/Verifier.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D42665.131884.patch
Type: text/x-patch
Size: 67156 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180129/0d6c1cfb/attachment.bin>


More information about the llvm-commits mailing list