diff --git a/share/analysis-scripts/function_finder.py b/share/analysis-scripts/function_finder.py
index e9e84f5545cde56efd66b5ebb7e01b01bc33f28e..a24601e61cf2a8957e048273b74abe4c8d91d9b4 100644
--- a/share/analysis-scripts/function_finder.py
+++ b/share/analysis-scripts/function_finder.py
@@ -46,8 +46,10 @@ c_id_maybe_pointer = c_identifier + "[*]*"
 optional_c_id = "(?:" + c_identifier + ")?"
 non_empty_whitespace = r"[ \t\r\n]+"  # includes newline/CR
 whitespace = "[ \t\r\n]*"  # includes newline/CR
+attribute = r"__attribute__\(\("+whitespace+c_identifier+whitespace+r"\)\)"
+maybe_attr = "(?:" + attribute + non_empty_whitespace + ")?"
 type_prefix = (
-    c_id_maybe_pointer + r"(?:\s+[*]*" + c_id_maybe_pointer + ")*" + non_empty_whitespace + "[*]*"
+    maybe_attr + c_id_maybe_pointer + r"(?:\s+[*]*" + c_id_maybe_pointer + ")*" + non_empty_whitespace + "[*]*"
 )
 optional_type_prefix = "(?:" + type_prefix + whitespace + ")?"
 argument_list = r"\([^)]*\)"