forked from OSchip/llvm-project
Teach DataLayout that zero-byte pointer sizes don't make sense.
Previously this would result in assertion failures or simply crashes at various points in the optimizer when trying to create types of zero bit width. llvm-svn: 230936
This commit is contained in:
parent
576a9a2728
commit
5bc2bbe601
|
@ -259,6 +259,8 @@ void DataLayout::parseSpecifier(StringRef Desc) {
|
|||
"Missing size specification for pointer in datalayout string");
|
||||
Split = split(Rest, ':');
|
||||
unsigned PointerMemSize = inBytes(getInt(Tok));
|
||||
if (!PointerMemSize)
|
||||
report_fatal_error("Invalid pointer size of 0 bytes");
|
||||
|
||||
// ABI alignment.
|
||||
if (Rest.empty())
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
; RUN: not llvm-as < %s 2>&1 | FileCheck %s
|
||||
|
||||
target datalayout = "p:0:32:32"
|
||||
|
||||
; CHECK: Invalid pointer size of 0 bytes
|
||||
|
Loading…
Reference in New Issue