mirror of
https://github.com/ThrowTheSwitch/CMock.git
synced 2026-06-05 21:15:20 +00:00
Handle headers which only have inline-function-declarations
This means there is NO opening bracket, since there are no struct declarations or inline function definitions.
This commit is contained in:
@@ -160,7 +160,7 @@ class CMockHeaderParser
|
||||
first_open_bracket = inline_function_match.post_match.index("{")
|
||||
first_semicolon = inline_function_match.post_match.index(";")
|
||||
|
||||
if first_semicolon < first_open_bracket
|
||||
if first_open_bracket.nil? or first_semicolon < first_open_bracket
|
||||
puts "DECLARATION, IGNORE"
|
||||
source = inline_function_match.pre_match + inline_function_match.post_match
|
||||
next
|
||||
|
||||
@@ -2119,6 +2119,19 @@ describe CMockHeaderParser, "Verify CMockHeaderParser Module" do
|
||||
assert_equal(expected, @parser.transform_inline_functions(source))
|
||||
end
|
||||
|
||||
it "Transform inline functions can handle header with only inline function declarations" do
|
||||
source =
|
||||
"static inline int dummy_func_decl(int a, char b, float c);\n" +
|
||||
"\n"
|
||||
|
||||
expected =
|
||||
"int dummy_func_decl(int a, char b, float c);\n" +
|
||||
"\n"
|
||||
|
||||
@parser.treat_inlines = :include
|
||||
assert_equal(expected, @parser.transform_inline_functions(source))
|
||||
end
|
||||
|
||||
it "Transform inline functions takes user provided patterns into account" do
|
||||
source =
|
||||
"static __inline__ __attribute__ ((always_inline)) uint16_t _somefunc (uint32_t a)\n" +
|
||||
|
||||
Reference in New Issue
Block a user