mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-16 14:25:56 +00:00
Estimated hours taken: 2 Branches: main, release Fix a problem with the recent debugger changes that broke the 0.13 branch in nogc grades on jupiter (and would presumably have broken the main branch tonight). The problem was that the static global variable MR_trace_browser_persistent_state_type, defined in mercury_trace_browser.c, is referred to in the recently added file mercury_trace_cmd_parameter.c. This causes a link-time error in the latter. This only shows up in nogc grades since in other grades the the references to MR_trace_browser_persistent_state_type are eliminated by the preprocessor. Fix some other problems that cause warnings from the C compiler. trace/mercury_trace_browse.[ch]: Export the global MR_trace_browser_persistent_state_type since it is now referred to from the module mercury_trace_cmd_parameter. trace/mercury_trace_cmd_parameter.c: #include mercury_trace_browse.h here because this file refers to MR_trace_browser_persistent_state_type. Call ML_LISTING_listing_type rather than passing its address to MR_make_permanent. Avoid a C compiler warning on 64-bit architectures about the size of int and MR_Integer differing. trace/mercury_trace_holds_vars.c: Avoid C compiler warnings in calls to MR_make_permanent by adding casts so that the arguments have the correct type. (Again this only shows up in nogc grades since it's all just macros in the other grades.) browser/listing.m: Export ML_LISTING_listing_type as a function rather than as a predicate since that is how it was being used in the trace directory.