OSDN Git Service

Today the front-ends (llvm-gcc and clang) generate multiple llvm.dbg.compile_units...
authorDevang Patel <dpatel@apple.com>
Wed, 17 Dec 2008 22:39:29 +0000 (22:39 +0000)
committerDevang Patel <dpatel@apple.com>
Wed, 17 Dec 2008 22:39:29 +0000 (22:39 +0000)
commitdeeb497954885b0c4d4cb98bc5c6f998ef5e1cc4
treedbf282c0ad873cd1095863956dc2d612590bb9ac
parent24d3f71614c96506ae9bb854a31aa71de22741f6
Today the front-ends (llvm-gcc and clang) generate multiple llvm.dbg.compile_units to identify source file for various debug entities. Each llvm.dbg.compile_unit matches one file on the disk. However, the backend only supports one DW_TAG_compile_unit per .o file. The backend selects first compile_unit from the vector to construct DW_TAG_compile_unit entry, which is not correct in all cases.

First step to resolve this is, record file name and directory directly in debug info for various debug entities.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61164 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/DebugInfo.h
include/llvm/CodeGen/MachineModuleInfo.h
lib/Analysis/DebugInfo.cpp