Files
zig/src
Andrew Kelley cdb40936bd properly annotate nullability of ZigLLVMCreateDebugForwardDeclType
This bug manifested as a segfault in stage1 when calling this function.
The C++ code looks like this:

```c++
entry->llvm_di_type = ZigLLVMCreateDebugForwardDeclType(g->dbuilder,
    ZigLLVMTag_DW_structure_type(), full_name,
    import ? ZigLLVMFileToScope(import->data.structure.root_struct->di_file) : nullptr,
    import ? import->data.structure.root_struct->di_file : nullptr,
    line);
```

There is actually no problem here - what happened is that because
cross-language LTO was enabled between zig and c++ code, and because
Zig annotated the file parameter (3rd line) as being non-null, the C++
code assumed that parameter could not be null, and eagerly dereferenced
`import->...`, causing a segfault, since it was null.

I verified that this commit fixed the problem and I also verified this
hypothesis by disabling LTO and noticing that it indeed avoided the
problem.
2022-09-13 03:09:29 -07:00
..
2022-09-11 21:35:01 +02:00
2022-08-19 03:41:13 -07:00
2022-09-12 23:16:38 -07:00
2022-09-08 00:37:11 +03:00
2022-08-19 03:41:13 -07:00
2022-01-07 00:06:06 -05:00
2022-07-30 12:36:11 -07:00
2022-07-28 11:53:25 -07:00
2022-07-28 11:53:25 -07:00
2022-07-28 11:53:25 -07:00
2022-07-28 11:53:25 -07:00