diff --git a/src/Attr.cc b/src/Attr.cc index 0c134606fb..6850c80b5f 100644 --- a/src/Attr.cc +++ b/src/Attr.cc @@ -22,7 +22,7 @@ const char* attr_name(AttrTag t) "&group", "&log", "&error_handler", "&type_column", "(&tracked)", "&on_change", "&broker_store", "&broker_allow_complex_type", "&backend", "&deprecated", - "&is_set", + "&is_assigned", "&is_used", }; return attr_names[int(t)]; @@ -291,6 +291,7 @@ void Attributes::CheckAttr(Attr* a) case ATTR_DEPRECATED: case ATTR_REDEF: case ATTR_IS_ASSIGNED: + case ATTR_IS_USED: break; case ATTR_OPTIONAL: diff --git a/src/Attr.h b/src/Attr.h index c63b0adacc..bd6d349387 100644 --- a/src/Attr.h +++ b/src/Attr.h @@ -46,7 +46,8 @@ enum AttrTag { ATTR_BROKER_STORE_ALLOW_COMPLEX, // for Broker store backed tables ATTR_BACKEND, // for Broker store backed tables ATTR_DEPRECATED, - ATTR_IS_ASSIGNED, // to suppress warnings + ATTR_IS_ASSIGNED, // to suppress usage warnings + ATTR_IS_USED, // to suppress usage warnings NUM_ATTRS // this item should always be last }; diff --git a/src/parse.y b/src/parse.y index 11c168541f..d8ce7ec819 100644 --- a/src/parse.y +++ b/src/parse.y @@ -5,7 +5,7 @@ // Switching parser table type fixes ambiguity problems. %define lr.type ielr -%expect 135 +%expect 141 %token TOK_ADD TOK_ADD_TO TOK_ADDR TOK_ANY %token TOK_ATENDIF TOK_ATELSE TOK_ATIF TOK_ATIFDEF TOK_ATIFNDEF @@ -28,7 +28,7 @@ %token TOK_ATTR_BROKER_STORE_ALLOW_COMPLEX TOK_ATTR_BACKEND %token TOK_ATTR_PRIORITY TOK_ATTR_LOG TOK_ATTR_ERROR_HANDLER %token TOK_ATTR_TYPE_COLUMN TOK_ATTR_DEPRECATED -%token TOK_ATTR_IS_ASSIGNED +%token TOK_ATTR_IS_ASSIGNED TOK_ATTR_IS_USED %token TOK_DEBUG @@ -1474,6 +1474,8 @@ attr: { $$ = new zeek::detail::Attr(zeek::detail::ATTR_REDEF); } | TOK_ATTR_IS_ASSIGNED { $$ = new zeek::detail::Attr(zeek::detail::ATTR_IS_ASSIGNED); } + | TOK_ATTR_IS_USED + { $$ = new zeek::detail::Attr(zeek::detail::ATTR_IS_USED); } | TOK_ATTR_ADD_FUNC '=' expr { $$ = new zeek::detail::Attr(zeek::detail::ATTR_ADD_FUNC, {zeek::AdoptRef{}, $3}); } | TOK_ATTR_DEL_FUNC '=' expr diff --git a/src/scan.l b/src/scan.l index da512f4206..198843fe83 100644 --- a/src/scan.l +++ b/src/scan.l @@ -286,6 +286,7 @@ when return TOK_WHEN; &log return TOK_ATTR_LOG; &optional return TOK_ATTR_OPTIONAL; &is_assigned return TOK_ATTR_IS_ASSIGNED; +&is_used return TOK_ATTR_IS_USED; &priority return TOK_ATTR_PRIORITY; &type_column return TOK_ATTR_TYPE_COLUMN; &read_expire return TOK_ATTR_EXPIRE_READ;