Fixed bug #402, getting confused with __attribute__ directives with spacing.

This commit is contained in:
Mark VanderVoord
2023-01-11 15:43:48 -05:00
parent 902b6c8b3d
commit a58808d424
2 changed files with 25 additions and 3 deletions
+2 -2
View File
@@ -15,7 +15,7 @@ class CMockConfig
:weak => '',
:subdir => nil,
:plugins => [],
:strippables => ['(?:__attribute__\s*\(+.*?\)+)'],
:strippables => ['(?:__attribute__\s*\([ (]*.*?[ )]*\)+)'],
:attributes => %w[__ramfunc __irq __fiq register extern],
:c_calling_conventions => %w[__stdcall __cdecl __fastcall],
:enforce_strict_ordering => false,
@@ -50,7 +50,7 @@ class CMockConfig
# - The keywords can appear before or after the return type (this is a compiler warning but people do weird stuff),
# so we check for word boundaries when searching for them
# - We first remove "static inline" combinations and boil down to single inline or static statements
:inline_function_patterns => ['(static\s+inline|inline\s+static)\s*', '(\bstatic\b|\binline\b)\s*'] # Last part (\s*) is just to remove whitespaces (only to prettify the output)
:inline_function_patterns => ['(static\s+inline|inline\s+static)\s*', '(\bstatic\b|\binline\b)\s*', '(?:static\s*)?(?:__inline__)?__attribute__\s*\([ (]*always_inline[ )]*\)', 'static __inline__'] # Last part (\s*) is just to remove whitespaces (only to prettify the output)
}.freeze
def initialize(options = nil)