In Bugzilla PR # 70275, Manuel López-Ibáñez reports that even though he 
provides the "-Werror=return-type" option, the compiler doesn't flag the 
warning/error about a control reaching the end of a non-void function, due to 
the presence of the "-w" option.  He points out that clang++ wtill flags the 
promoted warning even though warnings are inhibited.

I'm thinking that not reporting the promoted error is the correct and desired 
behavior, based on two factors:
1) Warnings are inhibited, so there is no warning to promote.

2) The comment in diagnostic.c which reads:
/* Give preference to being able to inhibit warnings, before they
     get reclassified to something else.  */

I was looking at this issue as one I could use to get my feet wet in GCC 
maintenance , and would be glad to take on if it is decided that it is 
desired, which I would argue that it is not, but I thought I'd open up 
discussion on the topic.

I have worked on the MIcrochip PIC18 C compiler, and worked for DDC-I, 
supporting their compiler suites,(Ada, C/C++) as well as some work on the ASIS 
standard, and thought it might be fun to work on GCC.


Looking forward to reading discussion on the topic!

Kevin Tucker

Reply via email to