Current FreeRTOS [r2584] uses SDCC-specific keywords that have been deprecated by SDCC long ago, and are no longer supported in current SDCC.
In most cases this can be fixed by a simple rename (e.g at -> __at). Most of the uses are in c8051f120.h, which is just a copy of an old header from SDCC. For this file, I suggest to remove the header from FreeRTOS and just use the one that comes with SDCC.
My suggestions are implemented in the attached patch.
Unfortunately, compilation with current SDCC still fails, as it runs into another issue (https://www.freertos.org/FreeRTOS_Support_Forum_Archive/July_2018/freertos_Types_assignment_in_FreeRTOS_788db98dj.html, https://sourceforge.net/p/sdcc/bugs/2817/).
Philipp
Here is the patch.