From 5aa5f11fb5ae501bf9487124b7bf9bfdf642480a Mon Sep 17 00:00:00 2001 From: arbee Date: Fri, 5 May 2023 19:06:52 -0400 Subject: xbox_nv2a.cpp: worked around another GCC 13.1 error. [R. Belmont] --- src/mame/shared/xbox_nv2a.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) 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; -- cgit v1.2.3