Questions about a patch fixing bug #61414
Dear maintainers, Having come across https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61414 (bug #61414) quite often myself I decided I wanted to fix it. By reading through parts of the GCC internals manual I have managed to add a warning flag, the code for which I will submit to gcc-patches, but since this is my first time contributing to GCC I have some questions. 1. When it comes to the patch, should I post it to the bug tracker before sending it to gcc-patches? 2. A better fix for this bug would be to only warn when the number of defined enumerators would not fit inside a bitfield of the specified size. Seeing as I don't know the GCC internals very well, I'm wondering if anyone could point me in the right direction when it comes to getting the number of defined enumerators in an enum type. 3. When it comes to documentation and tests, I've documented the flag in doc/invoke.texi and will add a test in the test suite, hopefully when the patch includes the check specified in 2. Are there are any other places I should add documentation? Thank you in advance, Sam
Re: Feature request: -Wno-unknown-warnings to silently ignore unknown warning control flags.
On Fri, Oct 13, 2017 at 10:04 PM, Eric Gallager wrote: > If you use autoconf to generate a configure script for your project, I > recommend using the macros from gnulib's manywarnings.m4 and related > files: > > https://www.gnu.org/software/gnulib/manual/html_node/ > warnings.html#warnings > https://www.gnu.org/software/gnulib/manual/html_node/ > manywarnings.html#manywarnings > Thanks for the pointers. I'm not currently using auto tools, but I might end up having to use them, or cmake. Having these macros would help. I still wish we had `-Wno-unknown-warnings` though - it would make life much simpler. Thanks, Oren.
Re: Questions about a patch fixing bug #61414
On 14 October 2017 at 15:50, Sam van Kampen wrote: > Dear maintainers, > > Having come across https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61414 > (bug #61414) quite often myself I decided I wanted to fix it. > > By reading through parts of the GCC internals manual I have > managed to add a warning flag, the code for which I will submit to > gcc-patches, but since this is my first time contributing to GCC I have > some questions. > > 1. When it comes to the patch, should I post it to the bug tracker >before sending it to gcc-patches? No. Patches go to the mailing list, not bugzilla. But you can add the URL of the gcc-patches mail to bugzilla (and then somebody should add the "patch" keyword to the bug). > 2. A better fix for this bug would be to only warn when the number >of defined enumerators would not fit inside a bitfield of the >specified size. Seeing as I don't know the GCC internals very >well, I'm wondering if anyone could point me in the right >direction when it comes to getting the number of defined >enumerators in an enum type. Why does the number of enumerators make any difference? > 3. When it comes to documentation and tests, I've documented the >flag in doc/invoke.texi and will add a test in the test suite, >hopefully when the patch includes the check specified in 2. Are >there are any other places I should add documentation? No, that's all.
Re: Questions about a patch fixing bug #61414
On Sat, Oct 14, 2017 at 04:43:33PM +0100, Jonathan Wakely wrote: > On 14 October 2017 at 15:50, Sam van Kampen wrote: > > Dear maintainers, > > > > Having come across https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61414 > > (bug #61414) quite often myself I decided I wanted to fix it. > > > > By reading through parts of the GCC internals manual I have > > managed to add a warning flag, the code for which I will submit to > > gcc-patches, but since this is my first time contributing to GCC I have > > some questions. > > > > 1. When it comes to the patch, should I post it to the bug tracker > >before sending it to gcc-patches? > > No. Patches go to the mailing list, not bugzilla. > > But you can add the URL of the gcc-patches mail to bugzilla (and then > somebody should add the "patch" keyword to the bug). Noted. > > 2. A better fix for this bug would be to only warn when the number > >of defined enumerators would not fit inside a bitfield of the > >specified size. Seeing as I don't know the GCC internals very > >well, I'm wondering if anyone could point me in the right > >direction when it comes to getting the number of defined > >enumerators in an enum type. > > Why does the number of enumerators make any difference? I suppose the number of enumerators does not make any difference, but rather the enumerator with the highest integer value. For instance, in this example: enum class A { A, B, C; }; struct D { A enum_field : 2; }; the enumerator with the highest integer value is C, with an integer value of 2. This enum type therefore fits inside the bit-field in struct D, and so the compiler should not emit a warning in my eyes. Of course, you can cast an integer to an enum type and assign it that way, which should probably trigger a warning if the value could be too large (it already triggers -Woverflow if the value is a compile-time constant). > > 3. When it comes to documentation and tests, I've documented the > >flag in doc/invoke.texi and will add a test in the test suite, > >hopefully when the patch includes the check specified in 2. Are > >there are any other places I should add documentation? > > No, that's all. Thanks. Sam