diff --git a/src/Scope.cc b/src/Scope.cc index 91b806c921..4bebbcdbbf 100644 --- a/src/Scope.cc +++ b/src/Scope.cc @@ -93,11 +93,9 @@ const IDPtr& lookup_ID(const char* name, const char* curr_module, bool no_global bool check_export) { bool explicit_global = zeek::util::starts_with(name, "::"); - // Ad-hoc deprecation if a name starts with "GLOBAL::". In v7.1 we could - // tweak {ID} to reject GLOBAL::, or switch this warning to error instead. - static std::string deprecated_prefix = util::fmt("%s::", GLOBAL_MODULE_NAME); - if ( zeek::util::starts_with(name, deprecated_prefix) ) - reporter->Deprecation(util::fmt("Remove in v7.1: Use :: instead of %s (%s)", deprecated_prefix.c_str(), name)); + static std::string global_prefix = util::fmt("%s::", GLOBAL_MODULE_NAME); + if ( zeek::util::starts_with(name, global_prefix) ) + reporter->Error("Using GLOBAL:: as a prefix is invalid. Use :: instead (%s)", name); std::string fullname = make_full_var_name(curr_module, name); std::string ID_module = extract_module_name(fullname.c_str()); diff --git a/testing/btest/Baseline/language.deprecate-global/.stderr b/testing/btest/Baseline/language.deprecate-global/.stderr deleted file mode 100644 index ba832c6e5f..0000000000 --- a/testing/btest/Baseline/language.deprecate-global/.stderr +++ /dev/null @@ -1,3 +0,0 @@ -### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -warning in <...>/deprecate-global.zeek, line 22: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::test_function) -warning in <...>/deprecate-global.zeek, line 26: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::X) diff --git a/testing/btest/Baseline/language.deprecate-global/out b/testing/btest/Baseline/language.deprecate-global/out deleted file mode 100644 index 3987e838f5..0000000000 --- a/testing/btest/Baseline/language.deprecate-global/out +++ /dev/null @@ -1,4 +0,0 @@ -### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -X, shadows ::X (42) -::X, 42 -GLOBAL::X, 42 diff --git a/testing/btest/Baseline/language.global-colon-colon/.stderr b/testing/btest/Baseline/language.global-colon-colon/.stderr index a24c303643..49d861c74c 100644 --- a/testing/btest/Baseline/language.global-colon-colon/.stderr +++ b/testing/btest/Baseline/language.global-colon-colon/.stderr @@ -1,9 +1 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -warning in <...>/global-colon-colon.zeek, line 67: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::X) -warning in <...>/global-colon-colon.zeek, line 75: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::my_hook) -warning in <...>/global-colon-colon.zeek, line 82: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::func) -warning in <...>/global-colon-colon.zeek, line 89: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::funcX) -warning in <...>/global-colon-colon.zeek, line 110: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::X) -warning in <...>/global-colon-colon.zeek, line 118: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::my_hook) -warning in <...>/global-colon-colon.zeek, line 125: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::func) -warning in <...>/global-colon-colon.zeek, line 132: Remove in v7.1: Use :: instead of GLOBAL:: (GLOBAL::funcX) diff --git a/testing/btest/Baseline/language.global-colon-colon/out b/testing/btest/Baseline/language.global-colon-colon/out index 59ffb07de4..bc61803592 100644 --- a/testing/btest/Baseline/language.global-colon-colon/out +++ b/testing/btest/Baseline/language.global-colon-colon/out @@ -3,8 +3,6 @@ MyModule X (MyModule) print MyModule::X MyModule X -(MyModule) print GLOBAL::X - global X (MyModule) print ::X global X (MyModule) hook my_hook() @@ -13,32 +11,22 @@ (MyModule) hook MyModule::my_hook() MyModule::my_hook() (in GLOBAL) MyModule::my_hook() -(MyModule) hook GLOBAL::my_hook() - my_hook() (in GLOBAL) - ::my_hook() (in GLOBAL) - ::my_hook() (in MyModule using ::) (MyModule) hook ::my_hook() my_hook() (in GLOBAL) ::my_hook() (in GLOBAL) ::my_hook() (in MyModule using ::) (MyModule) call func() MyModule::func() -(MyModule) call GLOBAL::func() - GLOBAL::func() (MyModule) call ::func() GLOBAL::func() (MyModule) call funcX() ::funcX() (in MyModule) -(MyModule) call GLOBAL::funcX() - ::funcX() (in MyModule) (MyModule) call ::funcX() ::funcX() (in MyModule) (G) print X global X (G) print MyModule::X MyModule X -(G) print GLOBAL::X - global X (G) print ::X global X (G) hook my_hook() @@ -48,24 +36,16 @@ (G) MyModule::my_hook() MyModule::my_hook() (in GLOBAL) MyModule::my_hook() -(G) hook GLOBAL::my_hook() - my_hook() (in GLOBAL) - ::my_hook() (in GLOBAL) - ::my_hook() (in MyModule using ::) (G) hook ::my_hook() my_hook() (in GLOBAL) ::my_hook() (in GLOBAL) ::my_hook() (in MyModule using ::) (G) call func() GLOBAL::func() -(G) call GLOBAL::func() - GLOBAL::func() (G) call ::func() GLOBAL::func() (G) call funcX() ::funcX() (in MyModule) -(G) call GLOBAL::funcX() - ::funcX() (in MyModule) (G) call ::funcX() ::funcX() (in MyModule) MyModule::my_event() (in MyModule) diff --git a/testing/btest/language/deprecate-global.zeek b/testing/btest/language/deprecate-global.zeek deleted file mode 100644 index 236cc3bf19..0000000000 --- a/testing/btest/language/deprecate-global.zeek +++ /dev/null @@ -1,27 +0,0 @@ -# @TEST-DOC: Adapt in v7.1 to check for errors upon GLOBAL accesses. - -# @TEST-EXEC: zeek -b %INPUT >out -# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-remove-abspath btest-diff out -# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-remove-abspath btest-diff .stderr - -module GLOBAL; - -function test_function() { } - -global X = 42; - - -module MyModule; - -global X = fmt("shadows ::X (%s)", ::X); - -event zeek_init() - { - test_function(); - ::test_function(); - GLOBAL::test_function(); - - print "X", X; - print "::X", ::X; - print "GLOBAL::X", GLOBAL::X; - } diff --git a/testing/btest/language/global-colon-colon.zeek b/testing/btest/language/global-colon-colon.zeek index f1abef9066..79e3d25bb9 100644 --- a/testing/btest/language/global-colon-colon.zeek +++ b/testing/btest/language/global-colon-colon.zeek @@ -30,7 +30,7 @@ hook my_hook() &priority=9 print " MyModule::my_hook()"; } -# This implements GLOBAL::my_hook() +# This implements a global my_hook() hook ::my_hook() &priority=8 { print " ::my_hook() (in MyModule using ::)"; @@ -63,37 +63,29 @@ event zeek_init() &priority=5 print fmt(" %s", X); print "(MyModule) print MyModule::X"; print fmt(" %s", MyModule::X); - print "(MyModule) print GLOBAL::X"; - print fmt(" %s", GLOBAL::X); print "(MyModule) print ::X"; print fmt(" %s", ::X); print "(MyModule) hook my_hook()"; hook my_hook(); # This uses MyModule::my_hook(); print "(MyModule) hook MyModule::my_hook()"; hook MyModule::my_hook(); # This uses MyModule::hook(); - print "(MyModule) hook GLOBAL::my_hook()"; - hook GLOBAL::my_hook(); print "(MyModule) hook ::my_hook()"; hook ::my_hook(); print "(MyModule) call func()"; func(); - print "(MyModule) call GLOBAL::func()"; - GLOBAL::func(); print "(MyModule) call ::func()"; ::func(); print "(MyModule) call funcX()"; funcX(); - print "(MyModule) call GLOBAL::funcX()"; - GLOBAL::funcX(); print "(MyModule) call ::funcX()"; ::funcX(); # This schedules MyEvent::my_event() event my_event(); - # This schedules the GLOBAL::my_event(); + # This schedules the global ::my_event() event ::my_event(); } @@ -106,30 +98,22 @@ event zeek_init() &priority=5 print fmt(" %s", X); print "(G) print MyModule::X"; print fmt(" %s", MyModule::X); - print "(G) print GLOBAL::X"; - print fmt(" %s", GLOBAL::X); print "(G) print ::X"; print fmt(" %s", ::X); print "(G) hook my_hook()"; - hook my_hook(); # This uses GLOBAL::my_hook(); + hook my_hook(); # This uses global my_hook(); print "(G) MyModule::my_hook()"; hook MyModule::my_hook(); # This uses MyModule::hook(); - print "(G) hook GLOBAL::my_hook()"; - hook GLOBAL::my_hook(); print "(G) hook ::my_hook()"; hook ::my_hook(); print "(G) call func()"; func(); - print "(G) call GLOBAL::func()"; - GLOBAL::func(); print "(G) call ::func()"; ::func(); print "(G) call funcX()"; funcX(); - print "(G) call GLOBAL::funcX()"; - GLOBAL::funcX(); print "(G) call ::funcX()"; ::funcX(); } diff --git a/testing/btest/language/global-type-clash.zeek b/testing/btest/language/global-type-clash.zeek index 9eac7fb53a..e361046b07 100644 --- a/testing/btest/language/global-type-clash.zeek +++ b/testing/btest/language/global-type-clash.zeek @@ -9,7 +9,7 @@ type r: record { b: count; }; event zeek_init() { - local x: GLOBAL::r; + local x: ::r; x$a = 5; local y: test::r;