diff options
| author | 2023-05-05 19:06:52 -0400 | |
|---|---|---|
| committer | 2023-05-05 19:06:52 -0400 | |
| commit | 5aa5f11fb5ae501bf9487124b7bf9bfdf642480a (patch) | |
| tree | ba205bac272d67a5ab64a93dfcdff10d0d519ea1 | |
| parent | b747acec69c0129ad15f14e6cea2dfa4f67e3a6e (diff) | |
xbox_nv2a.cpp: worked around another GCC 13.1 error. [R. Belmont]
| -rw-r--r-- | src/mame/shared/xbox_nv2a.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/mame/shared/xbox_nv2a.cpp b/src/mame/shared/xbox_nv2a.cpp index d299e57705e..74cdc8c0b15 100644 --- a/src/mame/shared/xbox_nv2a.cpp +++ b/src/mame/shared/xbox_nv2a.cpp @@ -2501,7 +2501,25 @@ void nv2a_renderer::compute_supersample_factors(float &horizontal, float &vertic void nv2a_renderer::convert_vertices(vertex_nv *source, nv2avertex_t *destination) { - vertex_nv vert; +/* + FIXME: GCC 13.1 errored this without the static on "vert". I believe this is a real bug, but I don't + know enough about what this code is doing to be confident. + + In member function ‘void vertex_program_simulator::set_data(vertex_nv*, vertex_nv*)’, + inlined from ‘void vertex_program_simulator::process(int, vertex_nv*, vertex_nv*, int)’ at ../../../../../src/mame/shared/xbox_nv2a.cpp:643:10, + inlined from ‘void nv2a_renderer::convert_vertices(vertex_nv*, nv2avertex_t*)’ at ../../../../../src/mame/shared/xbox_nv2a.cpp:2546:29: +../../../../../src/mame/shared/xbox_nv2a.cpp:449:16: error: storing the address of local variable ‘vert’ in ‘*&this_144(D)->vertexprogram.exec.vertex_program_simulator::output’ [-Werror=dangling-pointer=] + 449 | output = out; + | ~~~~~~~^~~~~ +../../../../../src/mame/shared/xbox_nv2a.cpp: In member function ‘void nv2a_renderer::convert_vertices(vertex_nv*, nv2avertex_t*)’: +../../../../../src/mame/shared/xbox_nv2a.cpp:2504:19: note: ‘vert’ declared here + 2522 | vertex_nv vert; + | ^~~~ +../../../../../src/mame/shared/xbox_nv2a.cpp:2502:82: note: ‘this’ declared here + 2502 | void nv2a_renderer::convert_vertices(vertex_nv *source, nv2avertex_t *destination) + | ^ +*/ + static vertex_nv vert; int u; float v[4]; double c; |
