Displaying 4 results from an estimated 4 matches for "emitfunctiondecl".
2016 Dec 12
1
cross-checking external declarations / debug info for declarations
I was able to add a call to EmitFunctionDecl in
lib/CodeGen/CodeGenModule.cpp and then needed a corresponding LLVM change
to handle Subprogram¹s in the retained type vector.
The diff D18565 is marked Abandoned. What is the future plans for
supporting full-type consumers?
On 12/9/16, 2:24 PM, "aprantl at apple.com on behalf of Adrian Pr...
2016 Dec 24
1
failure at link time 3.9.1
...ilePCHContainerOperations.cpp.o):
In function `(anonymous
namespace)::PCHContainerGenerator::DebugTypeVisitor::VisitFunctionDecl(clang::FunctionDecl*)':
/home/rdp/dev/llvm/llvm/tools/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp:114:
undefined reference to
`clang::CodeGen::CGDebugInfo::EmitFunctionDecl(clang::GlobalDecl,
clang::SourceLocation, clang::QualType)'
../../../../lib/libclangCodeGen.a(ObjectFilePCHContainerOperations.cpp.o):
In function `(anonymous
namespace)::PCHContainerGenerator::DebugTypeVisitor::VisitObjCMethodDecl(clang::ObjCMethodDecl*)':
/home/rdp/dev/llvm/llvm/tools/cla...
2016 Dec 09
0
cross-checking external declarations / debug info for declarations
> On Dec 9, 2016, at 2:16 PM, David Callahan <dcallahan at fb.com> wrote:
>
> Adrian, this appears to generate, in my example below, the return type for
> the external function (“foo” below) but does not generate a (in Dwarf)
> DW_TAG_Subprogram which binds that type to the name. Is that expected?
>
We are probably not visiting forward declarations in CGDebugInfo. You
2016 Dec 08
6
cross-checking external declarations / debug info for declarations
I am interested in putting together a tool which can verify that an external declaration conforms with the actual definition.
A.c:
extern int32_t foo();
Int bar() { return foo(); }
B.c:
int64_t foo() { ... }
I had thought that I could use the debug information but the debug information in A.o does not include the type of the declaration "foo", just the type of bar.
Is there a way to