about summary refs log tree commit diff stats
path: root/082scenario_screen.cc
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2016-08-28 18:12:03 -0700
committerKartik K. Agaram <vc@akkartik.com>2016-08-28 18:37:57 -0700
commit5f05e954ee1f1daf953b3ff20af81775f226d5bf (patch)
tree21a691619f0e260e18df4140d4d8381682ecd979 /082scenario_screen.cc
parentc7fde8d4e4175b436bc8db92bedd231261827e2c (diff)
downloadmu-5f05e954ee1f1daf953b3ff20af81775f226d5bf.tar.gz
3273
Undo 3272. The trouble with creating a new section for constants is that
there's no good place to order it since constants can be initialized
using globals as well as vice versa. And I don't want to add constraints
disallowing either side.

Instead, a new plan: always declare constants in the Globals section
using 'extern const' rather than just 'const', since otherwise constants
implicitly have internal linkage (http://stackoverflow.com/questions/14894698/why-does-extern-const-int-n-not-work-as-expected)
Diffstat (limited to '082scenario_screen.cc')
-rw-r--r--082scenario_screen.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/082scenario_screen.cc b/082scenario_screen.cc
index 01750bb0..3321a7fc 100644
--- a/082scenario_screen.cc
+++ b/082scenario_screen.cc
@@ -133,7 +133,7 @@ $error: 0
 //: locations.
 
 :(before "End Globals")
-const int Max_variables_in_scenarios = Reserved_for_tests-100;
+extern const int Max_variables_in_scenarios = Reserved_for_tests-100;
 int Next_predefined_global_for_scenarios = Max_variables_in_scenarios;
 :(before "End Setup")
 assert(Next_predefined_global_for_scenarios < Reserved_for_tests);
@@ -143,10 +143,10 @@ assert(Next_predefined_global_for_scenarios < Reserved_for_tests);
 // initialize a default-space.
 assert(Name[tmp_recipe.at(0)][""] < Max_variables_in_scenarios);
 
-:(before "End Constants")
-// Fixed Scenario Locations.
-const int SCREEN = Next_predefined_global_for_scenarios++;
-// End Fixed Scenario Locations.
+:(before "End Globals")
+// Scenario Globals.
+extern const int SCREEN = Next_predefined_global_for_scenarios++;
+// End Scenario Globals.
 
 //: give 'screen' a fixed location in scenarios
 :(before "End Special Scenario Variable Names(r)")