Recordings of cauldron 2023 talks
Hello, according to https://gcc.gnu.org/wiki/cauldron2023 it was planned to make the talk recordings available afterwards. I would be interested to follow them, but have not been able to find them anywhere. My first guess was to look here: https://www.youtube.com/@gnutoolscauldron7666/videos, but that lists only talks of the previous year. Could someone please point me to the right place? Thanks in advance! Heiko Eißfeldt
No c++0x threads using win32 threading model (with MinGW-w64)
Hello, (first of all: sorry to post this message to a second list, I've sent it to the wrong list at first) I am using g++ in MinGW-w64 running in a Windows environment. I'm especially interested in the c++0x threads because it allows standard cross-platform multi-threading. Unfortunately I didn't get this to work (using a very recent Mingw-w64 snapshot that uses gcc 4.5.0). I did some research and I think I found out why. Perhaps somebody on this list could confirm this and/or answer some of the questions I have about the win32 threading model. First of all, the c++0x threads don't seem to work because in the `thread' header file the file `gthr.h' is included, which includes in turn some threading model specific files (like `gthr_posix.h'). While the header `gthr_win32.h' does exist, it is not included from `gthr.h'. The comments in `gthr.h' further mention support for several threading models, but the win32 threading model is not amongst these. Am I looking in the right direction for reasons why the c++0x threads do not work with the win32 threading model? If the above is correct: is support for win32 c++0x threads being worked on at the moment? If that is the case, any indication when it will be in a usable state? What must be undertaken to implement this support? I hope somebody can give me some insight in these questions. Regards, Heiko
Re: Review for gcc-15/changes.html
- FEAT_LRCPC2 (+rcpc2), enabled by default for + FEAT_RCPC2 (+rcpc2), enabled by default for and -FEAT_LRCPC3 instructions, when support for the instructions is +FEAT_RCPC3 instructions, when support for the instructions is These are incorrect. The features really are FEAT_LRCPC2/3. Otherwise, I think these look generally like improvements. R. That is interesting. I did a grep on gcc trunk for 'FEAT_.*RCPC' and got this ./gcc/common/config/aarch64/cpuinfo.h: FEAT_RCPC, ./gcc/common/config/aarch64/cpuinfo.h: FEAT_RCPC2, ./gcc/common/config/aarch64/cpuinfo.h: FEAT_RCPC3, ./libgcc/config/aarch64/cpuinfo.c: setCPUFeature(FEAT_RCPC); ./libgcc/config/aarch64/cpuinfo.c: setCPUFeature(FEAT_RCPC2); ./libgcc/config/aarch64/cpuinfo.c: setCPUFeature(FEAT_RCPC3); Substring "LRCPC" I see only in conjunction with hardware capabilities but not features. The documentation (https://gcc.gnu.org/onlinedocs/gcc-15.1.0/gcc/AArch64-Options.html#aarch64-feature-modifiers) lists in chapter 3.20.1.1 "-march and -mcpu Feature Modifiers" ‘rcpc’ ‘rcpc2’ ‘rcpc3’ Finally, the substring LRCPC2 was not found in my repo at all. H.
Review for gcc-15/changes.html
Hi, here is a patch for some mostly minor typos in https://gcc.gnu.org/gcc-15/changes.html. My fixes might be wrong of course, so they are just suggestions. Also, the linked page https://gcc.gnu.org/gcc-15/porting_to.html contains the now outdated "Note: GCC 15 has not been released yet, so this document is a work-in-progress." which is luckily not true anymore. Greetings and thanks, Heiko --- "GCC 15 Release Series — Changes, New Features, and Fixes - GNU Project.html.org" 2025-04-30 15:09:45.736597984 +0200 +++ "GCC 15 Release Series — Changes, New Features, and Fixes - GNU Project.html" 2025-04-30 18:05:33.700016746 +0200 @@ -69,7 +69,7 @@ The vectorizer now supports vectorizing loops with early exits where the number of elements for the input pointers are unknown through peeling -for alignment. This is supported for only for loops with fixed vector +for alignment. This is supported only for loops with fixed vector lengths. -ftime-report now only reports monotonic run time instead of @@ -90,7 +90,7 @@ Improvements for compiling very large input files. The compile time for large input files with -Wmisleading-indentation has been -significantly improved. The compiler can now track columnn numbers larger +significantly improved. The compiler can now track column numbers larger than 4096. Very large source files have more accurate location reporting. GCC can now emit diagnostics in multiple formats simultaneously, @@ -278,7 +278,7 @@ for more information. -The diagnostics code has seen a major refactor, it now supports the sarif +The diagnostics code has seen a major refactoring, it now supports the sarif format -fdiagnostics-format=sarif-file among other improvements. More changes are expected in following releases. @@ -736,7 +736,7 @@ and -fc-prototypes-external options. -The -fc-prototypes now also generates prototypes for +The -fc-prototypes option now also generates prototypes for interoperable procedures with assumed shape and assumed rank arguments that require the header file <ISO_Fortran_binding.h>. @@ -760,7 +760,7 @@ Access to the GCC builtins clz, clzll, ctz -and ctzll are now available from the +and ctzll is now available from the module Builtins. @@ -776,7 +776,7 @@ Fixes to our automatic dereferencing algorithm for Deref and -DerefMut. This makes gccrs more correct and allow to handle +DerefMut. This makes gccrs more correct and allows to handle complicated cases where the type-checker would previously fail. @@ -809,7 +809,7 @@ improve the runtime performance of Rust binaries. - Support for more lang-items has been added + Support for more lang-items has been added. Lowered minimum required Rust version to 1.49. This allows more systems to compile the Rust @@ -818,7 +818,7 @@ Rewrite of our name resolution algorithm to properly handle the complex import/export -structure used in core 1.49 +structure used in core 1.49. @@ -832,8 +832,8 @@ (aarch64-w64-mingw32). At present, this target supports C and C++ for base Armv8-A, but with some caveats: - Although most variadic functions work, the implementation -of them is not yet complete. + Although most variadic functions work, the implementations +of them are not yet complete. C++ exception handling is not yet implemented. @@ -901,7 +901,7 @@ FEAT_LUT (+lut), enabled by default for Arm9.5-A and above - FEAT_LRCPC2 (+rcpc2), enabled by default for + FEAT_RCPC2 (+rcpc2), enabled by default for Armv8.4-A and above FEAT_SME_B16B16 (+sme-b16b16) @@ -1061,7 +1061,7 @@ via an indirect branch instead of via a normal return instruction. 128-bit atomic operations have been extended to make use of -FEAT_LRCPC3 instructions, when support for the instructions is +FEAT_RCPC3 instructions, when support for the instructions is detected at runtime. There have been many code-generation improvements to the AArch64 port. @@ -1184,7 +1184,7 @@ AMX-TRANSPOSE intrinsics are available via the -mamx-transpose compiler switch. - All of new feature support for Intel APX expect for CFCMOV was added, + All of new feature support for Intel APX except for CFCMOV was added, including CCMP/CTEST, NF and ZU. APX support is available via the -mapxf compiler switch. @@ -1244,7 +1244,7 @@ Support has been added for the new option https://gcc.gnu.org/onlinedocs/gcc-15.1.0/gcc/LoongArch-Options.html#index-mannotate-tablejump";> - -mannotate-tablejump. Which can create an annotation + -mannotate-tablejump, which can create an annotation section .discard.tablejump_annotate to correlate th
web page c++-status proposal revision updates
For some C++26 language features listed on https://gcc.gnu.org/projects/cxx-status.html there are newer proposal revisions available: Remove undefined behavior from lexing P2621R3 <https://wg21.link/P2621R3> constexpr structured bindings and references to constexpr variables P2686R5 <https://wg21.link/P2686R5>constexpr exceptions P3068R6 <https://wg21.link/P3068R6> <https://wg21.link/P2686R5>Oxford variadic comma P3176R1 <https://wg21.link/P3176R1> Removing deprecated array comparisons P2865R6 <https://wg21.link/P2865R6> Heiko OpenPGP_0x6C5B5E2DE9D181E2.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: Review for gcc-15/changes.html
Thanks for the reminder! I have now adapted the patch. Greetings, Heiko --- "GCC 15 Release Series — Changes, New Features, and Fixes - GNU Project.html.org" 2025-04-30 15:09:45.736597984 +0200 +++ "GCC 15 Release Series — Changes, New Features, and Fixes - GNU Project.html" 2025-05-27 19:43:47.339404458 +0200 @@ -62,14 +62,14 @@ The default vectorizer cost model at -O2 has been enhanced -to handle unknown tripcount. But it still disables vectorization of loops +to handle an unknown tripcount. But it still disables vectorization of loops when any runtime check for data dependence or alignment is required, it also disables vectorization of epilogue loops but otherwise is equal to the cheap cost model. The vectorizer now supports vectorizing loops with early exits where the number of elements for the input pointers are unknown through peeling -for alignment. This is supported for only for loops with fixed vector +for alignment. This is supported only for loops with fixed vector lengths. -ftime-report now only reports monotonic run time instead of @@ -90,7 +90,7 @@ Improvements for compiling very large input files. The compile time for large input files with -Wmisleading-indentation has been -significantly improved. The compiler can now track columnn numbers larger +significantly improved. The compiler can now track column numbers larger than 4096. Very large source files have more accurate location reporting. GCC can now emit diagnostics in multiple formats simultaneously, @@ -278,7 +278,7 @@ for more information. -The diagnostics code has seen a major refactor, it now supports the sarif +The diagnostics code has seen major refactoring, it now supports the sarif format -fdiagnostics-format=sarif-file among other improvements. More changes are expected in following releases. @@ -736,7 +736,7 @@ and -fc-prototypes-external options. -The -fc-prototypes now also generates prototypes for +The -fc-prototypes option now also generates prototypes for interoperable procedures with assumed shape and assumed rank arguments that require the header file <ISO_Fortran_binding.h>. @@ -760,7 +760,7 @@ Access to the GCC builtins clz, clzll, ctz -and ctzll are now available from the +and ctzll is now available from the module Builtins. @@ -776,7 +776,7 @@ Fixes to our automatic dereferencing algorithm for Deref and -DerefMut. This makes gccrs more correct and allow to handle +DerefMut. This makes gccrs more correct and allows handling complicated cases where the type-checker would previously fail. @@ -809,7 +809,7 @@ improve the runtime performance of Rust binaries. - Support for more lang-items has been added + Support for more lang-items has been added. Lowered minimum required Rust version to 1.49. This allows more systems to compile the Rust @@ -818,7 +818,7 @@ Rewrite of our name resolution algorithm to properly handle the complex import/export -structure used in core 1.49 +structure used in core 1.49. @@ -832,8 +832,8 @@ (aarch64-w64-mingw32). At present, this target supports C and C++ for base Armv8-A, but with some caveats: - Although most variadic functions work, the implementation -of them is not yet complete. + Although most variadic functions work, the implementations +are not yet complete. C++ exception handling is not yet implemented. @@ -1184,7 +1184,7 @@ AMX-TRANSPOSE intrinsics are available via the -mamx-transpose compiler switch. - All of new feature support for Intel APX expect for CFCMOV was added, + All of new feature support for Intel APX except for CFCMOV was added, including CCMP/CTEST, NF and ZU. APX support is available via the -mapxf compiler switch. @@ -1244,7 +1244,7 @@ Support has been added for the new option https://gcc.gnu.org/onlinedocs/gcc-15.1.0/gcc/LoongArch-Options.html#index-mannotate-tablejump";> - -mannotate-tablejump. Which can create an annotation + -mannotate-tablejump, which can create an annotation section .discard.tablejump_annotate to correlate the jirl instruction and the jump table. @@ -1559,4 +1559,4 @@ - \ No newline at end of file + OpenPGP_0x6C5B5E2DE9D181E2.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
possible CPU types of install.texi vs. configure.ac
Hello, i cross-checked in trunk the referenced ${cpu_type}'s from ${target} in configure.ac against the list of possible CPU types from install.texi, lines 876--885 (under 'Here are the possible CPU types:'). @quotation aarch64, aarch64_be, alpha, alpha64, amdgcn, arc, arceb, arm, armeb, avr, bfin, bpf, cris, csky, epiphany, fido, fr30, frv, ft32, h8300, hppa, hppa2.0, hppa64, i486, i686, ia64, iq2000, lm32, loongarch64, m32c, m32r, m32rle, m68k, mcore, microblaze, microblazeel, mips, mips64, mips64el, mips64octeon, mips64orion, mips64vr, mipsel, mipsisa32, mipsisa32r2, mipsisa64, mipsisa64r2, mipsisa64r2el, mipsisa64sb1, mipsisa64sr71k, mipstx39, mmix, mn10300, moxie, msp430, nds32be, nds32le, nvptx, or1k, pdp11, powerpc, powerpc64, powerpc64le, powerpcle, pru, riscv32, riscv32be, riscv64, riscv64be, rl78, rx, s390, s390x, sh, shle, sparc, sparc64, tic6x, v850, v850e, v850e1, vax, visium, x86_64, xstormy16, xtensa @end quotation The configure.ac script uses also these (probably outdated?) CPU types not mentioned above: (lines 619, 640, 913, 1329, ...) rs6000 (lines 877, 983) crisv32 (lines 986, 989, 992, 1296) kvx (line 1004) m68hc11, m6811, m68hc12, m6812 (line 1194) c4x, tic4x (line 1197) tic54x (lines 1200, 3118) d10v (lines 1203, 3115) d30v (line 1215) h8300 (line 1218) h8500 (line 1221) hppa1.1 (line 1243) i960 (line 3065) spu (line 3855) mep* (multiple lines) i[35789]86 (This is the result of checks for ${target} and ${cpu_type}). Sorry, no patch, as I am not confident with changing something here... Heiko