|  | // Check violations for rule 5.7 | 
|  | // https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_05_07.c | 
|  | // | 
|  | // Confidence: Moderate | 
|  | // Copyright: (C) 2020 Intel Corporation | 
|  | // | 
|  | // SPDX-License-Identifier: Apache-2.0 | 
|  |  | 
|  | virtual report | 
|  |  | 
|  | @initialize:python@ | 
|  | @@ | 
|  |  | 
|  | @common_case@ | 
|  | position p; | 
|  | identifier t, v; | 
|  | @@ | 
|  | ( | 
|  | struct t *v@p; | 
|  | | | 
|  | struct t v@p; | 
|  | | | 
|  | union t v@p; | 
|  | ) | 
|  |  | 
|  | @ script:python @ | 
|  | t << common_case.t; | 
|  | v << common_case.v; | 
|  | p << common_case.p; | 
|  | @@ | 
|  |  | 
|  | msg = "WARNING: Violation to rule 5.7 (Tag name should be unique) tag: {}".format(v) | 
|  | if t == v: | 
|  | coccilib.report.print_report(p[0], msg) | 
|  |  | 
|  | @per_type@ | 
|  | type T; | 
|  | identifier v; | 
|  | position p; | 
|  | @@ | 
|  | ( | 
|  | T v@p; | 
|  | | | 
|  | T *v@p; | 
|  | ) | 
|  |  | 
|  | @ script:python @ | 
|  | t << per_type.T; | 
|  | v << per_type.v; | 
|  | p << per_type.p; | 
|  | @@ | 
|  |  | 
|  | msg = "WARNING: Violation to rule 5.7 (Tag name should be unique) tag: {}".format(v) | 
|  | if t == v: | 
|  | coccilib.report.print_report(p[0], msg) | 
|  |  | 
|  | @function_match@ | 
|  | type T1, T2; | 
|  | identifier function, v; | 
|  | position p; | 
|  | parameter list[n] P1; | 
|  | parameter list[n1] P2; | 
|  | @@ | 
|  | T1 function(P1, T2 *v@p, P2) { | 
|  | ... | 
|  | } | 
|  |  | 
|  | @ script:python @ | 
|  | v << function_match.v; | 
|  | t << function_match.T2; | 
|  | p << function_match.p; | 
|  | @@ | 
|  |  | 
|  | msg = "WARNING: Violation to rule 5.7 (Tag name should be unique) tag: {}".format(v) | 
|  | if v == t.split(" ")[-1]: | 
|  | coccilib.report.print_report(p[0], msg) |