| ... | @@ -4978,6 +4978,17 @@ const PatternList = struct { | ... | @@ -4978,6 +4978,17 @@ const PatternList = struct { |
| 4978 | , | 4978 | , |
| 4979 | "WL_CONTAINER_OF", | 4979 | "WL_CONTAINER_OF", |
| 4980 | }, | 4980 | }, |
| | 4981 | |
| | 4982 | [2][]const u8{ "IGNORE_ME(X) ((void)(X))", "DISCARD" }, |
| | 4983 | [2][]const u8{ "IGNORE_ME(X) (void)(X)", "DISCARD" }, |
| | 4984 | [2][]const u8{ "IGNORE_ME(X) ((const void)(X))", "DISCARD" }, |
| | 4985 | [2][]const u8{ "IGNORE_ME(X) (const void)(X)", "DISCARD" }, |
| | 4986 | [2][]const u8{ "IGNORE_ME(X) ((volatile void)(X))", "DISCARD" }, |
| | 4987 | [2][]const u8{ "IGNORE_ME(X) (volatile void)(X)", "DISCARD" }, |
| | 4988 | [2][]const u8{ "IGNORE_ME(X) ((const volatile void)(X))", "DISCARD" }, |
| | 4989 | [2][]const u8{ "IGNORE_ME(X) (const volatile void)(X)", "DISCARD" }, |
| | 4990 | [2][]const u8{ "IGNORE_ME(X) ((volatile const void)(X))", "DISCARD" }, |
| | 4991 | [2][]const u8{ "IGNORE_ME(X) (volatile const void)(X)", "DISCARD" }, |
| 4981 | }; | 4992 | }; |
| 4982 | | 4993 | |
| 4983 | /// Assumes that `ms` represents a tokenized function-like macro. | 4994 | /// Assumes that `ms` represents a tokenized function-like macro. |
| ... | @@ -5152,6 +5163,16 @@ test "Macro matching" { | ... | @@ -5152,6 +5163,16 @@ test "Macro matching" { |
| 5152 | | 5163 | |
| 5153 | try helper.checkMacro(allocator, pattern_list, "NO_MATCH(X, Y) (X + Y)", null); | 5164 | try helper.checkMacro(allocator, pattern_list, "NO_MATCH(X, Y) (X + Y)", null); |
| 5154 | try helper.checkMacro(allocator, pattern_list, "CAST_OR_CALL(X, Y) (X)(Y)", "CAST_OR_CALL"); | 5165 | try helper.checkMacro(allocator, pattern_list, "CAST_OR_CALL(X, Y) (X)(Y)", "CAST_OR_CALL"); |
| | 5166 | try helper.checkMacro(allocator, pattern_list, "IGNORE_ME(X) (void)(X)", "DISCARD"); |
| | 5167 | try helper.checkMacro(allocator, pattern_list, "IGNORE_ME(X) ((void)(X))", "DISCARD"); |
| | 5168 | try helper.checkMacro(allocator, pattern_list, "IGNORE_ME(X) (const void)(X)", "DISCARD"); |
| | 5169 | try helper.checkMacro(allocator, pattern_list, "IGNORE_ME(X) ((const void)(X))", "DISCARD"); |
| | 5170 | try helper.checkMacro(allocator, pattern_list, "IGNORE_ME(X) (volatile void)(X)", "DISCARD"); |
| | 5171 | try helper.checkMacro(allocator, pattern_list, "IGNORE_ME(X) ((volatile void)(X))", "DISCARD"); |
| | 5172 | try helper.checkMacro(allocator, pattern_list, "IGNORE_ME(X) (const volatile void)(X)", "DISCARD"); |
| | 5173 | try helper.checkMacro(allocator, pattern_list, "IGNORE_ME(X) ((const volatile void)(X))", "DISCARD"); |
| | 5174 | try helper.checkMacro(allocator, pattern_list, "IGNORE_ME(X) (volatile const void)(X)", "DISCARD"); |
| | 5175 | try helper.checkMacro(allocator, pattern_list, "IGNORE_ME(X) ((volatile const void)(X))", "DISCARD"); |
| 5155 | } | 5176 | } |
| 5156 | | 5177 | |
| 5157 | const MacroCtx = struct { | 5178 | const MacroCtx = struct { |