DDD-3.4.1 Debugger GUI released
DDD, the DATA DISPLAY DEBUGGER, version 3.4.1 has been released. DDD is a graphical front end for GDB (and other debuggers) with an intuitive interface and an interactive graphical display for data. DDD-3.4.1 includes the following enhancements: - Support for client-side fonts - Dark mode - Flexible line number width - Expanded UTF-8 support - Default source editors are gvim or emacs - Remove Make and Edit buttons from tool bar - Improved MacOS support - Eliminate external configuration files - Support parallel make for build - DDD Reference Manual available through HELP - Resolve 15+ bug reports DDD's maintainers are Stefan Eickler and Michael Eager. Please send questions or comments to mailto:d...@gnu.org. Information about DDD, including how to download and build DDD sources, can be found on the DDD project page: https://www.gnu.org/software/ddd/ -- Michael Eager
value-range.cc:2165: ICE in invert
Trying to use the value-range interface and functions I am running into that ICE when using invert(). From what the sources suggest, invert() computes the complement of the current set (the union of finitely many intervals). For example, when I have a range of [-128, -1] for int8_t, invert() runs into that ICE because that interval is undefined or varying. Take for example, this code that wants to take the complement of the complete interval (with respect to the complete interval given by uint8_t): tree t = unsigned_intQI_type_node; int n_bits = TYPE_PRECISION (t); int_range<2, false /*resizable*/ > j(t); // j is undefined(?), thus set its bounds to the entire range. j.set (t, wi::to_wide (j.lbound()), wi::to_wide (j.ubound())); j.invert(); : internal compiler error: in invert, at value-range.cc:2165 0 This should just return the empty set; no? And vice versa, the complement of the empty set (with respect to the whole interval) should be the whole interval provided by t, no? If I understand correctly, the int_range<> implementation does not implement a semi-group, and there are sets / intervals that are not allowed, like the empty set or intervals that touch a boundary. Does this mean that I have to test and special-case all these cases and do them by hand? Are there more invalid / disallowed intervals? So I guess it is simpler when I write my own interval arithmetic that handles these cases and behaves like a semi group. As there will be at most 3 sub-intervals, that's the way to go...? Isn't there a knob to tell that complement is with respect to the range as provided by type(), and not w.r.t. the integers? Johann
gcc-14-20240824 is now available
Snapshot gcc-14-20240824 is now available on https://gcc.gnu.org/pub/gcc/snapshots/14-20240824/ and on various mirrors, see https://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 14 git branch with the following options: git://gcc.gnu.org/git/gcc.git branch releases/gcc-14 revision 5b75e1c15f97b4a41ad0cf0876f07b5169e05940 You'll find: gcc-14-20240824.tar.xz Complete GCC SHA256=4ef69ab28dbe1e2ceb6ed57c2270d5d03f5145ce7fcf9e83c135cf5b5b82d6d6 SHA1=8c191a08ea6c76de4987236e194fbc7d1fa26670 Diffs from 14-20240817 are available in the diffs/ subdirectory. When a particular snapshot is ready for public consumption the LATEST-14 link is updated and a message is sent to the gcc list. Please do not use a snapshot before it has been announced that way.