diff --git a/examples/cmake_example/main.c b/examples/cmake_example/main.c index 00c5405b3..91875cda5 100644 --- a/examples/cmake_example/main.c +++ b/examples/cmake_example/main.c @@ -49,7 +49,7 @@ static void exampleTask( void * parameters ); /*-----------------------------------------------------------*/ -static void exampleTask( void * parameters ) +static _Noreturn void exampleTask( void * parameters ) { /* Unused parameters. */ ( void ) parameters; @@ -62,7 +62,7 @@ static void exampleTask( void * parameters ) } /*-----------------------------------------------------------*/ -void main( void ) +int main( void ) { static StaticTask_t exampleTaskTCB; static StackType_t exampleTaskStack[ configMINIMAL_STACK_SIZE ]; @@ -84,6 +84,8 @@ void main( void ) { /* Should not reach here. */ } + + return 0; } /*-----------------------------------------------------------*/ diff --git a/portable/template/portmacro.h b/portable/template/portmacro.h index 90668043c..6cb084e6f 100644 --- a/portable/template/portmacro.h +++ b/portable/template/portmacro.h @@ -105,7 +105,7 @@ extern void vPortYield( void ); #define portYIELD() vPortYield() /* Task function macros as described on the FreeRTOS.org WEB site. */ -#define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void * pvParameters ) +#define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) __attribute__( ( noreturn ) ) void vFunction( void * pvParameters ) #define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void * pvParameters ) #if ( configNUMBER_OF_CORES > 1 )