Re: GCC 15 20250503 dont install its libgccjit.h in the same way as GCC 14
On Monday, May 5th, 2025 at 19:14, Andreas Schwab wrote: > > > On Mai 05 2025, Basile Starynkevitch wrote: > > > and to my surprise its libgccjit.h was installed under /usr/local/include/ > > and > > > libgccjit.h has always been installed in $(includedir), so this is > expected. By the way, there is an open bug report on bugzilla with submitted pathes to suggest to change it, as operating systems (FreeBSD, Linux distros, others?) would like to install different versions of GCC simultaneously but the actual choice causes conflicts. In case you would like to reconsider this possibility, here are the bug report and a patch that I submitted by email long ago (no one ever replied): https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101491 https://gcc.gnu.org/pipermail/jit/2022q4/001572.html Cheers, Lorenzo Salvadore
Detecting noexceptness
Hello! It is my understanding that if a C++ function is declared as 'noexcept' or is a destructor then compiler is required to add some code which will catch any exceptions thrown by it unless the compiler can prove that no exceptions will in fact be thrown. If my understanding is correct, how hard would it be to emit a warning if the noexceptness can't be proven? Then there is of course the big question - would such a warning be helpful for anyone or would it just add doubt and uncertainity? /MF
a super regular RISC that encodes constants in immediate blocks
Hi GCC folks, introducing a new RISC instruction set with a variable length instruction packet using a super regular extension scheme with compression techniques to separate the instruction stream into two streams, one for instructions and and one for constants: - latest: https://metaparadigm.com/~mclark/glyph.pdf - current: https://metaparadigm.com/~mclark/glyph-20250507.pdf I am currently working on an assembler for it. I intend to come up with something that lets one manually emit constants into a .const section plus directives to tie together instructions and constants for local and global symbols, but I may also come up with a meta assembler mode that lets one use inline constants whereby the assembler splits things into streams and allocates address space for constants. I am writing a prototype assembler in Python. it hopefully should be ready in a few months. I would like to start with a Python assembler instead of using binutils because it will make for faster compression tuning when I get up to layout of the 32-bit opcodes which I intend to have contain 128-bit packed SIMD, and the 64-bit opcodes I intend to map to the 5-operand EVEX opcodes in AMD and Intel's AVX-512. this is a preview release. note: the 16-bit packet is designed as a standalone ISA, but it needs read-modify-write for bytes. we have focused on utility for function prologue and epilogue. other types and atomics will come in the 32-bit packet. it is intended to be a virtual machine target and I wish to recode AVX-512 to it. AMD and Intel can bite me if they don't want me to do this. there are interpreters in C, Python, and Go. and I also have a related project that I am working on for translation to x86. - https://github.com/michaeljclark/glyph/ - https://github.com/michaeljclark/x86/ this work has been mentioned on the RISC-V mailing list but this is the first time here. I think it is ready for early feedback. Michael.