danmar / simplecpp

C++ preprocessor
BSD Zero Clause License
204 stars 78 forks source link

Invalid ## usage when expanding #300

Open hobala opened 1 year ago

hobala commented 1 year ago

cppcheck 2.11 throws this error with the following code (Atmel ASF):

[FILE_LOCATION/ASF/common/utils/parts.h:63] (error) failed to expand 'SAM', Invalid ## usage when expanding 'SAM_PART_IS_DEFINED': Unexpected token ')' [preprocessorErrorDirective]

I think this is an error of simplecpp!

/ ! Check GCC and IAR part definition for 8-bit AVR /

define AVR8_PART_IS_DEFINED(part) \

(defined(__ ## part ## __) || defined(__AVR_ ## part ## __))

/ ! Check GCC and IAR part definition for 32-bit AVR /

define AVR32_PART_IS_DEFINED(part) \

(defined(__AT32 ## part ## __) || defined(__AVR32_ ## part ## __))

/ ! Check GCC and IAR part definition for SAM /

define SAM_PART_IS_DEFINED(part) (defined( ## part ## ))

// ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /* @} /

LorandMarton commented 8 months ago

I also encounter the same problem.