### Godot version

929ee6117

### System information

Ubuntu 22.10 - AMD RX 470, Gnome shell 43 X11

### Issue description

Similar to #72649
```
scons -j2 dev_build=yes target=editor use_asan=yes use_ubsan=yes linker=gold module_basis_universal_enabled=no module_bmp_enabled=no module_camera_enabled=no module_csg_enabled=no module_cvtt_enabled=no module_dds_enabled=no module_denoise_enabled=no module_enet_enabled=no module_etcpak_enabled=no brotli=no module_gltf_enabled=no module_gridmap_enabled=no module_hdr_enabled=no module_jpg_enabled=no module_jsonrpc_enabled=no module_lightmapper_rd_enabled=no module_mbedtls_enabled=no module_meshoptimizer_enabled=no module_minimp3_enabled=no module_mobile_vr_enabled=no module_msdfgen_enabled=no module_multiplayer_enabled=no module_noise_enabled=no module_ogg_enabled=no module_openxr_enabled=no module_raycast_enabled=no module_regex_enabled=no module_squish_enabled=no graphite=no module_text_server_adv_enabled=no module_tga_enabled=no module_theora_enabled=no module_tinyexr_enabled=no module_upnp_enabled=no module_vhacd_enabled=no module_vorbis_enabled=no module_webp_enabled=no module_webrtc_enabled=no module_websocket_enabled=no module_webxr_enabled=no module_xatlas_unwrap_enabled=no
```
fails to compile Godot:
```
 Ranlib Library core/libcore.linuxbsd.editor.dev.x86_64.san.a ...
Linking Program bin/godot.linuxbsd.editor.dev.x86_64.san ...
modules/gdscript/gdscript_analyzer.cpp:2621: error: undefined reference to 'ProjectConverter3To4::gdscript_properties_renames'
modules/gdscript/gdscript_analyzer.cpp:2626: error: undefined reference to 'ProjectConverter3To4::enum_renames'
modules/gdscript/gdscript_analyzer.cpp:2631: error: undefined reference to 'ProjectConverter3To4::color_renames'
modules/gdscript/gdscript_analyzer.cpp:2636: error: undefined reference to 'ProjectConverter3To4::class_renames'
modules/gdscript/gdscript_analyzer.cpp:2640: error: undefined reference to 'ProjectConverter3To4::builtin_types_renames'
modules/gdscript/gdscript_analyzer.cpp:2643: error: undefined reference to 'ProjectConverter3To4::gdscript_function_renames'
modules/gdscript/gdscript_analyzer.cpp:2649: error: undefined reference to 'ProjectConverter3To4::builtin_types_renames'
collect2: error: ld returned 1 exit status
```

### Steps to reproduce

Above

### Minimal reproduction project

N/A
valid = valid && test_conversion_with_regex("Spatial.gd", "Spatial.gd", &rter3To4::rename_classes, "classes", reg_container);
	valid = valid && test_conversion_with_regex("Spatial.shader", "Spatial.shader", &rter3To4::rename_classes, "classes", reg_container);
	valid = valid && test_conversion_with_regex("Spatial.other", "Node3D.other", &rter3To4::rename_classes, "classes", reg_container);
	valid = valid && test_conversion_with_regex("\nonready", "\n@onready", &rter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container);
	valid = valid && test_conversion_with_regex("onready", "@onready", &rter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container);
	valid = valid && test_conversion_with_regex(" onready", " onready", &rter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container);
	valid = valid && test_conversion_with_regex("\nexport", "\n@export", &rter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container);
	valid = valid && test_conversion_with_regex("\texport", "\t@export", &rter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container);
	valid = valid && test_conversion_with_regex("\texport_diag", "\texport_diag", &rter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container);
	valid = valid && test_conversion_with_regex("export", "@export", &rter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container);
	valid = valid && test_conversion_with_regex(" export", " export", &rter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container);
	valid = valid && test_conversion_with_regex("tool", "@tool", &rter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container);
	valid = valid && test_conversion_with_regex("\n    tool", "\n    tool", &rter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container);
	valid = valid && test_conversion_with_regex("\n\ntool", "\n\n@tool", &rter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container);
	valid = valid && test_conversion_with_regex("\n\nremote func", "\n\n@rpc(\"any_peer\") func", &rter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container);
	valid = valid && test_conversion_with_regex("\n\nremotesync func", "\n\n@rpc(\"any_peer\", \"call_cal\") func", &rter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container);
	valid = valid && test_conversion_with_regex("\n\nsync func", "\n\n@rpc(\"any_peer\", \"call_cal\") func", &rter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container);
	valid = valid && test_conversion_with_regex("\n\nslave func", "\n\n@rpc func", &rter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container);
	valid = valid && test_conversion_with_regex("\n\npuppet func", "\n\n@rpc func", &rter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container);
	valid = valid && test_conversion_with_regex("\n\npuppetsync func", "\n\n@rpc(\"call_cal\") func", &rter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container);
	valid = valid && test_conversion_with_regex("\n\nmaster func", "\n\nThe master and mastersync rpc behavior is not officially supported anymore. Try using another keyword or making custom gic using get_multiplayer().get_remote_sender_id()\n@rpc func", &rter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container);
	valid = valid && test_conversion_with_regex("\n\nmastersync func", "\n\nThe master and mastersync rpc behavior is not officially supported anymore. Try using another keyword or making custom gic using get_multiplayer().get_remote_sender_id()\n@rpc(\"call_cal\") func", &rter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container);
	valid = valid && test_conversion_gdscript_builtin("var size : Vector2 = Vector2() setget set_function , get_function", "var size : Vector2 = Vector2() : get = get_function, set = set_function", &rter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
	valid = valid && test_conversion_gdscript_builtin("var size : Vector2 = Vector2() setget set_function , ", "var size : Vector2 = Vector2() : set = set_function", &rter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
	valid = valid && test_conversion_gdscript_builtin("var size : Vector2 = Vector2() setget set_function", "var size : Vector2 = Vector2() : set = set_function", &rter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
	valid = valid && test_conversion_gdscript_builtin("var size : Vector2 = Vector2() setget  , get_function", "var size : Vector2 = Vector2() : get = get_function", &rter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
	valid = valid && test_conversion_gdscript_builtin("get_node(@", "get_node(", &rter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
	valid = valid && test_conversion_gdscript_builtin("yield(this, \"timeout\")", "await this.timeout", &rter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
	valid = valid && test_conversion_gdscript_builtin("yield(this, \\\"timeout\\\")", "await this.timeout", &rter3To4::rename_gdscript_functions, "custom rename", reg_container, true);
	valid = valid && test_conversion_gdscript_builtin(" Transform.xform(Vector3(a,b,c)) ", " Transform * Vector3(a,b,c) ", &rter3To4::rename_gdscript_functions, "custom rename", reg_container, false);