Skip to content

getPointerElementType() is deprecated with LLVM 15.0.7 #18

Description

@aytey

This is more of an FYI than an urgent fix, but I get a number of warnings when compiling your fork with LLVM 15.0.7:

/home/avj/clones/llvm2c/parser/createExpressions.cpp:127:45: warning: ‘llvm::Type* llvm::Type::getPointerElementType() const’ is deprecated: Deprecated without replacement, see https://llvm.org/docs/OpaquePointers.html for context and migration instructions [-Wdeprecated-declarations]
/home/avj/clones/llvm2c/parser/createExpressions.cpp:776:90: warning: ‘llvm::Type* llvm::Type::getPointerElementType() const’ is deprecated: Deprecated without replacement, see https://llvm.org/docs/OpaquePointers.html for context and migration instructions [-Wdeprecated-declarations]
/home/avj/clones/llvm2c/parser/memcpyToAssign.cpp:67:76: warning: ‘llvm::Type* llvm::Type::getPointerElementType() const’ is deprecated: Deprecated without replacement, see https://llvm.org/docs/OpaquePointers.html for context and migration instructions [-Wdeprecated-declarations]
/home/avj/clones/llvm2c/parser/parseMetadataTypes.cpp:285:68: warning: ‘llvm::Type* llvm::Type::getPointerElementType() const’ is deprecated: Deprecated without replacement, see https://llvm.org/docs/OpaquePointers.html for context and migration instructions [-Wdeprecated-declarations]
/home/avj/clones/llvm2c/parser/parseMetadataTypes.cpp:286:155: warning: ‘llvm::Type* llvm::Type::getPointerElementType() const’ is deprecated: Deprecated without replacement, see https://llvm.org/docs/OpaquePointers.html for context and migration instructions [-Wdeprecated-declarations]
/home/avj/clones/llvm2c/parser/parseMetadataTypes.cpp:288:155: warning: ‘llvm::Type* llvm::Type::getPointerElementType() const’ is deprecated: Deprecated without replacement, see https://llvm.org/docs/OpaquePointers.html for context and migration instructions [-Wdeprecated-declarations]
/home/avj/clones/llvm2c/parser/parseMetadataTypes.cpp:291:108: warning: ‘llvm::Type* llvm::Type::getPointerElementType() const’ is deprecated: Deprecated without replacement, see https://llvm.org/docs/OpaquePointers.html for context and migration instructions [-Wdeprecated-declarations]
/home/avj/clones/llvm2c/type/TypeHandler.cpp:69:112: warning: ‘llvm::Type* llvm::Type::getPointerElementType() const’ is deprecated: Deprecated without replacement, see https://llvm.org/docs/OpaquePointers.html for context and migration instructions [-Wdeprecated-declarations]
/home/avj/clones/llvm2c/type/TypeHandler.cpp:119:56: warning: ‘llvm::Type* llvm::Type::getPointerElementType() const’ is deprecated: Deprecated without replacement, see https://llvm.org/docs/OpaquePointers.html for context and migration instructions [-Wdeprecated-declarations]

Interestingly, for my inputs, this function is the cause of quite a lot of pain:

Program received signal SIGSEGV, Segmentation fault.
0x00005555555cc52d in llvm::Type::getNonOpaquePointerElementType (this=0x555555e8c000) at /usr/include/llvm/IR/Type.h:391
391         return ContainedTys[0];
(gdb) bt
#0  0x00005555555cc52d in llvm::Type::getNonOpaquePointerElementType (this=0x555555e8c000) at /usr/include/llvm/IR/Type.h:391
#1  llvm::Type::getPointerElementType (this=0x555555e8c000) at /usr/include/llvm/IR/Type.h:381
#2  TypeHandler::getType (this=this@entry=0x7fffffffd250, type=type@entry=0x555555e8c000) at /home/avj/clones/llvm2c/type/TypeHandler.cpp:69
#3  0x000055555558b3da in Program::getType (type=0x555555e8c000, this=0x7fffffffd250) at /home/avj/clones/llvm2c/core/Program.cpp:82
#4  Program::createNewUnnamedStruct (this=0x7fffffffd250, strct=strct@entry=0x555555e8ce50) at /home/avj/clones/llvm2c/core/Program.cpp:75
#5  0x00005555555cc4e1 in TypeHandler::getType (this=this@entry=0x7fffffffd250, type=<optimized out>) at /home/avj/clones/llvm2c/type/TypeHandler.cpp:130
#6  0x000055555558a135 in Program::getType (this=this@entry=0x7fffffffd250, type=<optimized out>) at /home/avj/clones/llvm2c/core/Program.cpp:82
#7  0x00005555555c50ab in parseStructItems (module=module@entry=0x555555e4ea80, program=...) at /home/avj/clones/llvm2c/parser/parseStructItems.cpp:17
#8  0x00005555555913ef in ProgramParser::parse (this=this@entry=0x7fffffffca38, file="/mnt/baranem/rust/target/debug/deps/rust-b15ed7701c2a689f.bc", bitcastUnions=false)
    at /home/avj/clones/llvm2c/parser/ProgramParser.cpp:140
#9  0x0000555555582f2a in main (argc=4, argv=0x7fffffffd6d8) at /usr/include/llvm/Support/CommandLine.h:1377

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions