- Timestamp:
- Apr 23, 2011, 2:31:36 PM (13 years ago)
- Location:
- CMT/HEAD
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
CMT/HEAD/ChangeLog
r569 r570 1 2011-04-23 <rybkin@lal.in2p3.fr> 453 2 3 * source/cmt_use.cxx: In class Use, in function set_auto_imports_state, 4 revisit uses specified explicitly with -import=<package> encountered in 5 constituent specification for the first time, to ensure <package> is 6 imported, in function set_auto_imports, revisit sub-uses of current use 7 encountered in its requirements file for the first time to ensure their 8 auto_imports state takes precedence 9 1 10 2011-04-20 <rybkin@lal.in2p3.fr> 452 2 11 -
CMT/HEAD/source/cmt_use.cxx
r566 r570 1257 1257 1258 1258 static int level (-1); 1259 level++; 1260 if (level == 0) 1261 { 1262 unselect_all (); 1263 } 1264 1259 1265 if (Cmt::get_debug ()) 1260 1266 { 1261 level++;1262 1267 cout << "Use::set_auto_imports_state>|"; 1263 1268 for (int i = level; i > 0; i--) cout << "-"; … … 1275 1280 { 1276 1281 Use* use = uses[i]; 1277 if (visited.has (use)) continue; 1282 if (visited.has (use) && 1283 (0 != level || use->is_selected ())) 1284 // revisit uses specified explicitly with -import=<package> (level == 0) 1285 // encountered in constituent specification for the first time (selected == false) 1286 // to ensure <package> is imported 1287 { 1288 continue; 1289 } 1290 1278 1291 visited.add (use, yes); 1292 if (0 == level) use->select (); 1293 1279 1294 if (!auto_imports_states[use->m_index]) 1280 1295 auto_imports_states[use->m_index] = true; 1296 //if (0 == level && use->is_selected ()) continue; 1281 1297 1282 1298 Use::UsePtrVector subuses; … … 1344 1360 } 1345 1361 cout << "|" << endl; 1346 level--; 1347 } 1362 } 1363 1364 level--; 1365 return; 1348 1366 } 1349 1367 … … 3942 3960 cmt_map <Use*, bool>& visited) 3943 3961 { 3944 if (visited.has (this)) return;3945 3946 3962 static int level (-1); 3963 level++; 3964 if (level == 0) 3965 { 3966 unselect_all (); 3967 selected = true; 3968 } 3969 3970 if (visited.has (this) && 3971 (1 != level || selected)) 3972 // revisit sub-uses of current (level == 0) use 3973 // encountered in its requirements file for the first time (selected == false) 3974 // to ensure their auto_imports state takes precedence 3975 { 3976 level--; 3977 return; 3978 } 3979 3947 3980 if (Cmt::get_debug ()) 3948 3981 { 3949 level++;3950 3982 cout << "Use::set_auto_imports>|"; 3951 3983 for (int i = level; i > 0; i--) cout << "-"; … … 3957 3989 static bool yes (true); 3958 3990 visited.add (this, yes); 3991 if (1 == level) selected = true; 3959 3992 // if (auto_imports == context_state) return; 3960 3993 … … 4051 4084 { 4052 4085 visited.add (sub_uses[i], yes); 4086 sub_uses[i]->select (); 4053 4087 } 4054 4088 } … … 4058 4092 { 4059 4093 cout << s << endl; 4060 level--; 4061 } 4094 } 4095 4096 level--; 4097 return; 4062 4098 } 4063 4099 /*
Note: See TracChangeset
for help on using the changeset viewer.