&is_set attribute to suppress -u possibly-used-but-not-set warnings

This commit is contained in:
Vern Paxson 2021-01-23 10:30:41 -08:00
parent 28bb39b548
commit ca33a15626
4 changed files with 9 additions and 2 deletions

View file

@ -22,6 +22,7 @@ const char* attr_name(AttrTag t)
"&group", "&log", "&error_handler", "&type_column", "&group", "&log", "&error_handler", "&type_column",
"(&tracked)", "&on_change", "&broker_store", "(&tracked)", "&on_change", "&broker_store",
"&broker_allow_complex_type", "&backend", "&deprecated", "&broker_allow_complex_type", "&backend", "&deprecated",
"&is_set",
}; };
return attr_names[int(t)]; return attr_names[int(t)];
@ -333,6 +334,7 @@ void Attributes::CheckAttr(Attr* a)
switch ( a->Tag() ) { switch ( a->Tag() ) {
case ATTR_DEPRECATED: case ATTR_DEPRECATED:
case ATTR_REDEF: case ATTR_REDEF:
case ATTR_IS_SET:
break; break;
case ATTR_OPTIONAL: case ATTR_OPTIONAL:

View file

@ -46,6 +46,7 @@ enum AttrTag {
ATTR_BROKER_STORE_ALLOW_COMPLEX, // for Broker store backed tables ATTR_BROKER_STORE_ALLOW_COMPLEX, // for Broker store backed tables
ATTR_BACKEND, // for Broker store backed tables ATTR_BACKEND, // for Broker store backed tables
ATTR_DEPRECATED, ATTR_DEPRECATED,
ATTR_IS_SET, // to suppress warnings
NUM_ATTRS // this item should always be last NUM_ATTRS // this item should always be last
}; };

View file

@ -5,7 +5,7 @@
// Switching parser table type fixes ambiguity problems. // Switching parser table type fixes ambiguity problems.
%define lr.type ielr %define lr.type ielr
%expect 129 %expect 135
%token TOK_ADD TOK_ADD_TO TOK_ADDR TOK_ANY %token TOK_ADD TOK_ADD_TO TOK_ADDR TOK_ANY
%token TOK_ATENDIF TOK_ATELSE TOK_ATIF TOK_ATIFDEF TOK_ATIFNDEF %token TOK_ATENDIF TOK_ATELSE TOK_ATIF TOK_ATIFDEF TOK_ATIFNDEF
@ -28,6 +28,7 @@
%token TOK_ATTR_BROKER_STORE_ALLOW_COMPLEX TOK_ATTR_BACKEND %token TOK_ATTR_BROKER_STORE_ALLOW_COMPLEX TOK_ATTR_BACKEND
%token TOK_ATTR_PRIORITY TOK_ATTR_LOG TOK_ATTR_ERROR_HANDLER %token TOK_ATTR_PRIORITY TOK_ATTR_LOG TOK_ATTR_ERROR_HANDLER
%token TOK_ATTR_TYPE_COLUMN TOK_ATTR_DEPRECATED %token TOK_ATTR_TYPE_COLUMN TOK_ATTR_DEPRECATED
%token TOK_ATTR_IS_SET
%token TOK_DEBUG %token TOK_DEBUG
@ -1471,6 +1472,8 @@ attr:
{ $$ = new zeek::detail::Attr(zeek::detail::ATTR_OPTIONAL); } { $$ = new zeek::detail::Attr(zeek::detail::ATTR_OPTIONAL); }
| TOK_ATTR_REDEF | TOK_ATTR_REDEF
{ $$ = new zeek::detail::Attr(zeek::detail::ATTR_REDEF); } { $$ = new zeek::detail::Attr(zeek::detail::ATTR_REDEF); }
| TOK_ATTR_IS_SET
{ $$ = new zeek::detail::Attr(zeek::detail::ATTR_IS_SET); }
| TOK_ATTR_ADD_FUNC '=' expr | TOK_ATTR_ADD_FUNC '=' expr
{ $$ = new zeek::detail::Attr(zeek::detail::ATTR_ADD_FUNC, {zeek::AdoptRef{}, $3}); } { $$ = new zeek::detail::Attr(zeek::detail::ATTR_ADD_FUNC, {zeek::AdoptRef{}, $3}); }
| TOK_ATTR_DEL_FUNC '=' expr | TOK_ATTR_DEL_FUNC '=' expr

View file

@ -280,11 +280,12 @@ when return TOK_WHEN;
&default return TOK_ATTR_DEFAULT; &default return TOK_ATTR_DEFAULT;
&delete_func return TOK_ATTR_DEL_FUNC; &delete_func return TOK_ATTR_DEL_FUNC;
&deprecated return TOK_ATTR_DEPRECATED; &deprecated return TOK_ATTR_DEPRECATED;
&raw_output return TOK_ATTR_RAW_OUTPUT; &raw_output return TOK_ATTR_RAW_OUTPUT;
&error_handler return TOK_ATTR_ERROR_HANDLER; &error_handler return TOK_ATTR_ERROR_HANDLER;
&expire_func return TOK_ATTR_EXPIRE_FUNC; &expire_func return TOK_ATTR_EXPIRE_FUNC;
&log return TOK_ATTR_LOG; &log return TOK_ATTR_LOG;
&optional return TOK_ATTR_OPTIONAL; &optional return TOK_ATTR_OPTIONAL;
&is_set return TOK_ATTR_IS_SET;
&priority return TOK_ATTR_PRIORITY; &priority return TOK_ATTR_PRIORITY;
&type_column return TOK_ATTR_TYPE_COLUMN; &type_column return TOK_ATTR_TYPE_COLUMN;
&read_expire return TOK_ATTR_EXPIRE_READ; &read_expire return TOK_ATTR_EXPIRE_READ;