mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
Fix redef'ing a table with a new &default attribute
This commit is contained in:
parent
8773f93325
commit
42b6040952
5 changed files with 25 additions and 8 deletions
2
doc
2
doc
|
@ -1 +1 @@
|
||||||
Subproject commit d3a5f3ca9ca54f126a149bbe2bd9c7422d80b107
|
Subproject commit 8eddb05801f5a6647b6ea343473c82e9e02db237
|
|
@ -181,8 +181,9 @@ void Attributes::AddAttr(Attr* attr)
|
||||||
! FindAttr(ATTR_REDEF) )
|
! FindAttr(ATTR_REDEF) )
|
||||||
attrs->push_back(new Attr(ATTR_REDEF));
|
attrs->push_back(new Attr(ATTR_REDEF));
|
||||||
|
|
||||||
// For DEFAULT, add an implicit OPTIONAL.
|
// For DEFAULT, add an implicit OPTIONAL if it's not a global.
|
||||||
if ( attr->Tag() == ATTR_DEFAULT && ! FindAttr(ATTR_OPTIONAL) )
|
if ( ! global_var && attr->Tag() == ATTR_DEFAULT &&
|
||||||
|
! FindAttr(ATTR_OPTIONAL) )
|
||||||
attrs->push_back(new Attr(ATTR_OPTIONAL));
|
attrs->push_back(new Attr(ATTR_OPTIONAL));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
error in /Users/tim/Desktop/projects/zeek/testing/btest/.tmp/language.attr-default-global-set-error/attr-default-global-set-error.zeek, line 4: arithmetic mixed with non-arithmetic (set[string] and 0)
|
error in /home/jon/pro/zeek/zeek/testing/btest/.tmp/language.attr-default-global-set-error/attr-default-global-set-error.zeek, line 4: arithmetic mixed with non-arithmetic (set[string] and 0)
|
||||||
error in /Users/tim/Desktop/projects/zeek/testing/btest/.tmp/language.attr-default-global-set-error/attr-default-global-set-error.zeek, line 4: &default value has inconsistent type (0 and set[string])
|
error in /home/jon/pro/zeek/zeek/testing/btest/.tmp/language.attr-default-global-set-error/attr-default-global-set-error.zeek, line 4: &default value has inconsistent type (0 and set[string])
|
||||||
error in /Users/tim/Desktop/projects/zeek/testing/btest/.tmp/language.attr-default-global-set-error/attr-default-global-set-error.zeek, line 9: &default is not valid for global variables (&default=10)
|
error in /home/jon/pro/zeek/zeek/testing/btest/.tmp/language.attr-default-global-set-error/attr-default-global-set-error.zeek, line 9: &default is not valid for global variables (&default=10)
|
||||||
error in /Users/tim/Desktop/projects/zeek/testing/btest/.tmp/language.attr-default-global-set-error/attr-default-global-set-error.zeek, line 9: &default is not valid for global variables (&optional, &default=9)
|
error in /home/jon/pro/zeek/zeek/testing/btest/.tmp/language.attr-default-global-set-error/attr-default-global-set-error.zeek, line 9: &default is not valid for global variables (&default=9)
|
||||||
error in /Users/tim/Desktop/projects/zeek/testing/btest/.tmp/language.attr-default-global-set-error/attr-default-global-set-error.zeek, line 9: &optional is not valid for global variables (&optional, &default=9, &optional)
|
error in /home/jon/pro/zeek/zeek/testing/btest/.tmp/language.attr-default-global-set-error/attr-default-global-set-error.zeek, line 9: &optional is not valid for global variables (&default=9, &optional)
|
||||||
|
|
2
testing/btest/Baseline/language.table-redef-default/out
Normal file
2
testing/btest/Baseline/language.table-redef-default/out
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
uno
|
||||||
|
some number
|
14
testing/btest/language/table-redef-default.zeek
Normal file
14
testing/btest/language/table-redef-default.zeek
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# @TEST-EXEC: zeek -b %INPUT >out
|
||||||
|
# @TEST-EXEC: btest-diff out
|
||||||
|
|
||||||
|
const mymap: table[count] of string = {
|
||||||
|
[1] = "one",
|
||||||
|
[2] = "two",
|
||||||
|
} &default="original default" &redef;
|
||||||
|
|
||||||
|
redef mymap = {
|
||||||
|
[1] = "uno",
|
||||||
|
} &default="some number";
|
||||||
|
|
||||||
|
print mymap[1];
|
||||||
|
print mymap[2];
|
Loading…
Add table
Add a link
Reference in a new issue