/*
** Splint - annotation-assisted static program checker
-** Copyright (C) 1994-2002 University of Virginia,
+** Copyright (C) 1994-2003 University of Virginia,
** Massachusetts Institute of Technology
**
** This program is free software; you can redistribute it and/or modify it
return f->info.nerrors;
}
+bool flagMarker_equal (flagMarker f1, flagMarker f2)
+{
+ if (f1->kind != f2->kind)
+ {
+ return FALSE;
+ }
+
+ if (!fileloc_equal (f1->loc, f2->loc))
+ {
+ return FALSE;
+ }
+
+ switch (f1->kind)
+ {
+ case FMK_LOCALSET:
+ return (f1->info.set == f2->info.set
+ && flagcode_equal (f1->code, f2->code));
+ case FMK_IGNORECOUNT:
+ return (f1->info.nerrors == f2->info.nerrors);
+ case FMK_IGNOREON:
+ case FMK_IGNOREOFF:
+ return TRUE;
+ case FMK_SUPPRESS:
+ return (flagcode_equal (f1->code, f2->code));
+ }
+
+ BADBRANCHRET (FALSE);
+}
+
cstring flagMarker_unparse (flagMarker c)
{
switch (c->kind)