From 0cde2e51c7219647f961623d7995326a0324f12c Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sun, 5 Feb 2017 08:32:45 +0000 Subject: [PATCH] MISRA-related fixes. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10082 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/license/chcustomer.h | 24 +-- os/license/chlicense.h | 4 +- os/nil/include/ch.h | 2 +- os/rt/include/chchecks.h | 2 +- test/rt/testbuild/Makefile_posix | 172 ++++++++++++++++++ .../rt/testbuild/{Makefile => Makefile_win32} | 6 +- test/rt/testbuild/main.c | 1 + 7 files changed, 192 insertions(+), 19 deletions(-) create mode 100755 test/rt/testbuild/Makefile_posix rename test/rt/testbuild/{Makefile => Makefile_win32} (92%) mode change 100644 => 100755 diff --git a/os/license/chcustomer.h b/os/license/chcustomer.h index 5dcf2d8e5..fbc623bb7 100644 --- a/os/license/chcustomer.h +++ b/os/license/chcustomer.h @@ -55,18 +55,18 @@ * @name Licensed Products * @{ */ -#define CH_CUSTOMER_LICENSED_RT TRUE -#define CH_CUSTOMER_LICENSED_NIL TRUE -#define CH_CUSTOMER_LICENSED_EX TRUE -#define CH_CUSTOMER_LICENSED_PORT_CM0 TRUE -#define CH_CUSTOMER_LICENSED_PORT_CM3 TRUE -#define CH_CUSTOMER_LICENSED_PORT_CM4 TRUE -#define CH_CUSTOMER_LICENSED_PORT_CM7 TRUE -#define CH_CUSTOMER_LICENSED_PORT_ARM79 TRUE -#define CH_CUSTOMER_LICENSED_PORT_E200Z0 TRUE -#define CH_CUSTOMER_LICENSED_PORT_E200Z2 TRUE -#define CH_CUSTOMER_LICENSED_PORT_E200Z3 TRUE -#define CH_CUSTOMER_LICENSED_PORT_E200Z4 TRUE +#define CH_CUSTOMER_LIC_RT TRUE +#define CH_CUSTOMER_LIC_NIL TRUE +#define CH_CUSTOMER_LIC_EX TRUE +#define CH_CUSTOMER_LIC_PORT_CM0 TRUE +#define CH_CUSTOMER_LIC_PORT_CM3 TRUE +#define CH_CUSTOMER_LIC_PORT_CM4 TRUE +#define CH_CUSTOMER_LIC_PORT_CM7 TRUE +#define CH_CUSTOMER_LIC_PORT_ARM79 TRUE +#define CH_CUSTOMER_LIC_PORT_E200Z0 TRUE +#define CH_CUSTOMER_LIC_PORT_E200Z2 TRUE +#define CH_CUSTOMER_LIC_PORT_E200Z3 TRUE +#define CH_CUSTOMER_LIC_PORT_E200Z4 TRUE /** @} */ /*===========================================================================*/ diff --git a/os/license/chlicense.h b/os/license/chlicense.h index 72322d872..720f6fa5f 100644 --- a/os/license/chlicense.h +++ b/os/license/chlicense.h @@ -132,7 +132,7 @@ #define CH_LICENSE_FEATURES CH_FEATURES_INTERMEDIATE #define CH_LICENSE_MAX_DEPLOY 500 -#elif CH_LICENSE == CH_LICENSE_COMMERCIAL_DEVELOPER_1000 +#elif CH_LICENSE == CH_LICENSE_COMMERCIAL_DEV_1000 #define CH_LICENSE_TYPE_STRING "Developer Commercial License for 1000 Cores" #define CH_LICENSE_ID_STRING CH_CUSTOMER_ID_STRING #define CH_LICENSE_ID_CODE CH_CUSTOMER_ID_CODE @@ -140,7 +140,7 @@ #define CH_LICENSE_FEATURES CH_FEATURES_FULL #define CH_LICENSE_DEPLOY_LIMIT 1000 -#elif CH_LICENSE == CH_LICENSE_COMMERCIAL_DEVELOPER_5000 +#elif CH_LICENSE == CH_LICENSE_COMMERCIAL_DEV_5000 #define CH_LICENSE_TYPE_STRING "Developer Commercial License for 5000 Cores" #define CH_LICENSE_ID_STRING CH_CUSTOMER_ID_STRING #define CH_LICENSE_ID_CODE CH_CUSTOMER_ID_CODE diff --git a/os/nil/include/ch.h b/os/nil/include/ch.h index 779178f7c..cb32383cb 100644 --- a/os/nil/include/ch.h +++ b/os/nil/include/ch.h @@ -354,7 +354,7 @@ /* Derived constants and error checks. */ /*===========================================================================*/ -#if CH_CUSTOMER_LICENSED_NIL == FALSE +#if CH_CUSTOMER_LIC_NIL == FALSE #error "ChibiOS/NIL not licensed" #endif diff --git a/os/rt/include/chchecks.h b/os/rt/include/chchecks.h index 60f2b4c51..a4c02c510 100644 --- a/os/rt/include/chchecks.h +++ b/os/rt/include/chchecks.h @@ -40,7 +40,7 @@ /* Derived constants and error checks. */ /*===========================================================================*/ -#if CH_CUSTOMER_LICENSED_RT == FALSE +#if CH_CUSTOMER_LIC_RT == FALSE #error "ChibiOS/RT not licensed" #endif diff --git a/test/rt/testbuild/Makefile_posix b/test/rt/testbuild/Makefile_posix new file mode 100755 index 000000000..5c07ab587 --- /dev/null +++ b/test/rt/testbuild/Makefile_posix @@ -0,0 +1,172 @@ +############################################################################## +# Build global options +# NOTE: Can be overridden externally. +# + +# Compiler options here. +ifeq ($(USE_OPT),) + USE_OPT = $(XOPT) -m32 +endif + +# C specific options here (added to USE_OPT). +ifeq ($(USE_COPT),) + USE_COPT = +endif + +# C++ specific options here (added to USE_OPT). +ifeq ($(USE_CPPOPT),) + USE_CPPOPT = -fno-rtti +endif + +# Enable this if you want the linker to remove unused code and data. +ifeq ($(USE_LINK_GC),) + USE_LINK_GC = yes +endif + +# Linker extra options here. +ifeq ($(USE_LDOPT),) + USE_LDOPT = +endif + +# Enable this if you want link time optimizations (LTO) +ifeq ($(USE_LTO),) + USE_LTO = no +endif + +# Enable this if you want to see the full log while compiling. +ifeq ($(USE_VERBOSE_COMPILE),) + USE_VERBOSE_COMPILE = no +endif + +# If enabled, this option makes the build process faster by not compiling +# modules not used in the current configuration. +ifeq ($(USE_SMART_BUILD),) + USE_SMART_BUILD = no +endif + +# +# Build global options +############################################################################## + +############################################################################## +# Architecture or project specific options +# + +# +# Architecture or project specific options +############################################################################## + +############################################################################## +# Project, sources and paths +# + +# Define project name here +PROJECT = ch + +# Imported source files and paths +CHIBIOS = ../../.. +# Startup files. +# HAL-OSAL files (optional). +include $(CHIBIOS)/os/hal/hal.mk +include $(CHIBIOS)/os/hal/boards/simulator/board.mk +include $(CHIBIOS)/os/hal/ports/simulator/posix/platform.mk +include $(CHIBIOS)/os/hal/osal/rt/osal.mk +# RTOS files (optional). +include $(CHIBIOS)/os/rt/rt.mk +include $(CHIBIOS)/os/common/ports/SIMIA32/compilers/GCC/port.mk +# Other files (optional). +include $(CHIBIOS)/test/rt/test.mk +#include $(CHIBIOS)/os/hal/lib/streams/streams.mk +#include $(CHIBIOS)/os/various/shell/shell.mk + +# C sources here. +CSRC = $(STARTUPSRC) \ + $(KERNSRC) \ + $(PORTSRC) \ + $(OSALSRC) \ + $(HALSRC) \ + $(PLATFORMSRC) \ + $(BOARDSRC) \ + $(TESTSRC) \ + $(STREAMSSRC) \ + $(SHELLSRC) \ + main.c + +# C++ sources here. +CPPSRC = + +# List ASM source files here +ASMSRC = +ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM) + +INCDIR = $(CHIBIOS)/os/license \ + $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \ + $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \ + $(STREAMSINC) $(SHELLINC) + +# GCOV files. +GCOVSRC = $(KERNSRC) + +# +# Project, sources and paths +############################################################################## + +############################################################################## +# Compiler settings +# + +#TRGT = powerpc-eabi- +TRGT = +CC = $(TRGT)gcc +CPPC = $(TRGT)g++ +# Enable loading with g++ only if you need C++ runtime support. +# NOTE: You can use C++ even without C++ support if you are careful. C++ +# runtime support makes code size explode. +LD = $(TRGT)gcc +#LD = $(TRGT)g++ +CP = $(TRGT)objcopy +AS = $(TRGT)gcc -x assembler-with-cpp +AR = $(TRGT)ar +OD = $(TRGT)objdump +SZ = $(TRGT)size +BIN = $(CP) -O binary +COV = gcov + +# Define C warning options here +CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes + +# Define C++ warning options here +CPPWARN = -Wall -Wextra -Wundef + +# +# Compiler settings +############################################################################## + +############################################################################## +# Start of user section +# + +# List all user C define here, like -D_DEBUG=1 +UDEFS = -DSIMULATOR $(XDEFS) + +# Define ASM defines here +UADEFS = + +# List all user directories here +UINCDIR = + +# List the user directory to look for the libraries here +ULIBDIR = + +# List all user libraries here +ULIBS = -lgcov + +# +# End of user defines +############################################################################## + +RULESPATH = $(CHIBIOS)/os/common/startup/SIMIA32/compilers/GCC +include $(RULESPATH)/rules.mk + +misra: + @wine lint-nt -v -w3 $(DEFS) pclint/co-gcc.lnt pclint/au-misra3.lnt pclint/waivers.lnt $(IINCDIR) $(KERNSRC) diff --git a/test/rt/testbuild/Makefile b/test/rt/testbuild/Makefile_win32 old mode 100644 new mode 100755 similarity index 92% rename from test/rt/testbuild/Makefile rename to test/rt/testbuild/Makefile_win32 index acc9b38e3..093216059 --- a/test/rt/testbuild/Makefile +++ b/test/rt/testbuild/Makefile_win32 @@ -5,7 +5,7 @@ # Compiler options here. ifeq ($(USE_OPT),) - USE_OPT = $(XOPT) + USE_OPT = $(XOPT) -m32 endif # C specific options here (added to USE_OPT). @@ -61,7 +61,7 @@ endif # # Define project name here -PROJECT = ch +PROJECT = ch.exe # Imported source files and paths CHIBIOS = ../../.. @@ -169,4 +169,4 @@ RULESPATH = $(CHIBIOS)/os/common/startup/SIMIA32/compilers/GCC include $(RULESPATH)/rules.mk misra: - @lint-nt -v -w3 $(DEFS) pclint/co-gcc.lnt pclint/au-misra3.lnt pclint/waivers.lnt $(IINCDIR) $(KERNSRC) + @lint-nt -v -w3 $(DEFS) pclint/co-gcc-win32.lnt pclint/au-misra3.lnt pclint/waivers.lnt $(IINCDIR) $(KERNSRC) diff --git a/test/rt/testbuild/main.c b/test/rt/testbuild/main.c index 7bb73cbeb..3363e398f 100644 --- a/test/rt/testbuild/main.c +++ b/test/rt/testbuild/main.c @@ -15,6 +15,7 @@ */ #include +#include #include #include "ch.h"