Witam!

Lubię gdy mój kod nie ma żadnych warningów, po instalacji nowego kompilatora xc-16 wyrywam sobie włosy z głowy

Przy nowym kompilatorze dostaję taki komunikat:

#ifndef DEVICE_ID
# define DEVICE_ID 0x00
#endif

//warning: '_FUID0' definition has been deprecated: consider migrating to #pragma config
_FUID0(DEVICE_ID);

OK, więc po zastosowaniu nowego zapisu, otrzymuję:

#ifndef DEVICE_ID
# define DEVICE_ID 0x00
#endif

//error: unknown value for configuration setting 'UID0': 'DEVICE_ID'
#pragma config UID0 = DEVICE_ID 

Jak się domyślam, pragma config interpretuje to co się wpisuje a nie wartość, ponieważ kod poniżej jest OK

#pragma config UID0 = 0

Powoli kompilator zmusza mnie, abym w Makefile'ach dodał "grep -v" żeby komunikat o warningu się nie wyświetlał.
Nie mogę na sztywno przypisać wartości ponieważ "DEVICE_ID" jest generowany przy kompilacji.

Jak to napisać, żeby było bez warningów/errorów?
Nie wiem czy pragma config jest jeszcze gdzieś wykorzystywana, ale może ktoś z Was wie jak sobie z tym poradzić.

Objaśnienie:
xc-16 kompilator Microchipa, do mikrokontrolerów.
_FUID0/UID0 jest to bajt w pamięci FLASH, gdzie swobodnie można sobie coś pisać.