- Silicon Labs Community
- Welcome and Announcements
- Silicon Labs Knowledge Base
- 8-bit MCU
- 32-bit MCU
- Bluetooth / Wi-Fi
- Other Products Category
- Optical/RH/Temp Sensor
- Other Products
- Hardware and Software Tools
- Simplicity Studio and Software
- General Discussions and Suggestions
- Chinese Forum
- Software Libraries
- Development Kits
- Reference Designs
- Third Party Tools
- White Papers
- Official Blog of Silicon Labs
- Chinese Blog
07-06-2017 09:56 AM
Eclipse complains when there is a FALLTHROUGH in a switch statement with the message "No break at the end of case". It appears that you can suppress this with
// no break
/* no break */
/* no break at the end of case */
If you want to use the apparent lint default of /* FALLTHROUGH */ or /* -fallthrough */ you have to edit eclipse settings.
I did not know about all this, but then I didn't use Eclipse for C before I started using Simplicity Studio. But the developers SiLabs also don't seem to know this. E.g. in em_cmu.c this warning appears and the comment is: /* Fall through and select clock source */ which is not one of the above. Could it be that they don't use Simplicity Studio themselves? Or they did not care that their code gives warnings in their own tool? Let's hope they were just too busy to look this up and reading along right now so this can be fixed
07-06-2017 12:02 PM
Thank you for reporting this issue. I have created a bug report for it.
Note in the Case Analysis preferences for the "No break at end of case" check, the comment text used to suppress the warning defaults to "no break", so any of the first three examples you site would match that criteria.
Silicon Labs runs their code through the IAR C-Stat analysis tool and it isn't case sensitive in the check and allows either a single word 'fallthrough' or two words 'fall through' to suppress the warning.
07-09-2017 07:27 AM
Thanks for passing this on. The three examples indeed do work. I also found out that Eclipse is quite picky about them when it comes to placement. You can't place another comment after these lines. If IAR C-Stat behaves the same then you won't be able to satisfy both since only one line can be the last.