Цитата
И приходится же просматривать - не упустить бы чего серьёзного.
Верно.
Сейчас поставил другой тулчейн -- codesourcery.
Проект сделал тестовый (main.cpp), без scmRTOS, зато с CMSIS и анонимными структурами.
В настройках проекта выставлено Language Standard = ISO C90 with GNU extensions. (C/C++Build -> Settings -> Miscellaneous)
Предупреждений не возникает.
Фрагмент консоли с компиляцией (не для себя, для искушенных):
'Building file: ../src/lpc17xx_gpio.c'
'Invoking: ARM Sourcery Windows GCC C Compiler'
arm-none-eabi-gcc -O0 -Wall -Wa,-adhlns="src/lpc17xx_gpio.o.lst" -c -fmessage-length=0 -MMD -MP -MF"src/lpc17xx_gpio.d" -MT"src/lpc17xx_gpio.d" -mcpu=cortex-m3 -mthumb -o"src/lpc17xx_gpio.o" "../src/lpc17xx_gpio.c"
'Finished building: ../src/lpc17xx_gpio.c'
' '
Если же выставить ISO C99 (-std=c99), то возникает множество предупреждений на анонимные структуры: "Declaration does not declare anything" и еще возникают ошибки там, где к этим структурам обращается программа.
Вот кусок консольного вывода:
arm-none-eabi-gcc -O0 -Wall -std=c99 -Wa,-adhlns="src/lpc17xx_gpio.o.lst" -c -fmessage-length=0 -MMD -MP -MF"src/lpc17xx_gpio.d" -MT"src/lpc17xx_gpio.d" -mcpu=cortex-m3 -mthumb -o"src/lpc17xx_gpio.o" "../src/lpc17xx_gpio.c"
In file included from ../src/lpc17xx_gpio.h:31:0,
from ../src/lpc17xx_gpio.c:26:
../src/LPC17xx.h:200:6: warning: declaration does not declare anything
Вобщем, должен быть способ отключить вывод избранных предупреждений. Не могу сообразить какой.