------- Comment #5 from rguenth at gcc dot gnu dot org 2006-01-20 15:50 ------- At .ssa we have for the posted fragment the following loads of basic blocks and exception objects:
<bb 1>: D.68636_176 = &this_1->iso639_1; D.68641_177 = operator[] (D.68636_176, &D.68639); <bb 2>: this_230 = (struct basic_string<char,std::char_traits<char>,std::allocator<char> > * const) D.68641_177; __s_231 = &"Abkhazian"[0]; this_232 = this_230; __s_233 = __s_231; __s_234 = __s_233; D.76438_235 = strlen (__s_234); D.76432_236 = D.76438_235; D.76433_237 = assign (this_232, __s_233, D.76432_236); <bb 3>: D.76434_238 = D.76433_237; D.76435_239 = D.76434_238; D.76436_240 = D.76435_239; D.68642_241 = D.76436_240; this.146_242 = (struct new_allocator<char> *) &D.68644; this_243 = (struct new_allocator<char> * const) this.146_242; __comp_ctor (&D.68643, &"abk"[0], &D.68644); <bb 4>: D.68637_248 = &this_1->iso639_2; D.68645_249 = operator[] (D.68637_248, &D.68643); <bb 5>: this_302 = (struct basic_string<char,std::char_traits<char>,std::allocator<char> > * const) D.68645_249; __str_303 = (struct basic_string<char,std::char_traits<char>,std::allocator<char> > &) D.68642_241; D.76444_304 = assign (this_302, __str_303); <bb 6>: D.76445_305 = D.76444_304; D.76443_306 = D.76445_305; this_307 = (struct basic_string<char,std::char_traits<char>,std::allocator<char> > * const) &D.68643; this_308 = (struct basic_string<char,std::char_traits<char>,std::allocator<char> > * const) this_307; D.76520_309 = &D.76510; D.76521_310 = &this_308->_M_dataplus; D.76522_311 = (struct allocator<char> *) D.76521_310; this_312 = (struct allocator<char> * const) D.76520_309; __a_313 = (struct allocator<char> &) D.76522_311; __a.148_314 = (struct new_allocator<char> *) __a_313; this.149_315 = (struct new_allocator<char> *) this_312; this_316 = (struct new_allocator<char> * const) this.149_315; D.76525_317 = (struct new_allocator<char> &) __a.148_314; this_318 = (struct basic_string<char,std::char_traits<char>,std::allocator<char> > * const) this_307; this_319 = this_318; D.76534_320 = this_319->_M_dataplus._M_p; D.76530_321 = D.76534_320; D.76531_322 = (struct _Rep *) D.76530_321; D.76532_323 = D.76531_322 + -24B; D.76511_324 = D.76532_323; this_325 = (struct _Rep * const) D.76511_324; __a_326 = (struct allocator<char> &) &D.76510; __p_327 = &_S_empty_rep_storage; D.76549_328 = (struct _Rep *) __p_327; D.76537_329 = D.76549_328; D.76538_330 = D.76537_329 != this_325; D.76539_331 = __builtin_expect (D.76538_330, 0); retval.156_332 = D.76539_331 != 0; if (retval.156_332) goto <L49>; else goto <L126>; <L0>:; save_filt.202_250 = <<<filter object>>>; save_eptr.201_251 = <<<exception object>>>; this_252 = (struct basic_string<char,std::char_traits<char>,std::allocator<char> > * const) &D.68643; this_253 = (struct basic_string<char,std::char_traits<char>,std::allocator<char> > * const) this_252; D.76459_254 = &D.76449; D.76460_255 = &this_253->_M_dataplus; D.76461_256 = (struct allocator<char> *) D.76460_255; this_257 = (struct allocator<char> * const) D.76459_254; __a_258 = (struct allocator<char> &) D.76461_256; __a.148_259 = (struct new_allocator<char> *) __a_258; this.149_260 = (struct new_allocator<char> *) this_257; this_261 = (struct new_allocator<char> * const) this.149_260; D.76464_262 = (struct new_allocator<char> &) __a.148_259; this_263 = (struct basic_string<char,std::char_traits<char>,std::allocator<char> > * const) this_252; this_264 = this_263; D.76473_265 = this_264->_M_dataplus._M_p; D.76469_266 = D.76473_265; D.76470_267 = (struct _Rep *) D.76469_266; D.76471_268 = D.76470_267 + -24B; D.76450_269 = D.76471_268; this_270 = (struct _Rep * const) D.76450_269; __a_271 = (struct allocator<char> &) &D.76449; __p_272 = &_S_empty_rep_storage; D.76488_273 = (struct _Rep *) __p_272; D.76476_274 = D.76488_273; D.76477_275 = D.76476_274 != this_270; D.76478_276 = __builtin_expect (D.76477_275, 0); retval.156_277 = D.76478_276 != 0; if (retval.156_277) goto <L38>; else goto <L134>; <L38>:; D.76482_286 = &this_270->D.16095._M_refcount; D.76483_287 = (volatile _Atomic_word *) D.76482_286; D.76484_288 = __exchange_and_add (D.76483_287, -1); <bb 9>: retval.157_301 = D.76484_288 <= 0; if (retval.157_301) goto <L39>; else goto <L134>; <L39>:; _M_destroy (this_270, __a_271); goto <bb 12> (<L134>); <L34>:; save_filt.198_289 = <<<filter object>>>; save_eptr.197_290 = <<<exception object>>>; this.147_291 = (struct new_allocator<char> *) &D.76449; this_292 = (struct new_allocator<char> * const) this.147_291; <<<exception object>>> = save_eptr.197_290; <<<filter object>>> = save_filt.198_289; resx; <L134>:; this.147_278 = (struct new_allocator<char> *) &D.76449; this_279 = (struct new_allocator<char> * const) this.147_278; D.76454_280 = &this_252->_M_dataplus; this_281 = (struct _Alloc_hider * const) D.76454_280; this.150_282 = (struct allocator<char> *) this_281; this_283 = (struct allocator<char> * const) this.150_282; this.147_284 = (struct new_allocator<char> *) this_283; this_285 = (struct new_allocator<char> * const) this.147_284; <<<exception object>>> = save_eptr.201_251; <<<filter object>>> = save_filt.202_250; resx; <L36>:; save_filt.200_293 = <<<filter object>>>; save_eptr.199_294 = <<<exception object>>>; D.76454_295 = &this_252->_M_dataplus; this_296 = (struct _Alloc_hider * const) D.76454_295; this.150_297 = (struct allocator<char> *) this_296; this_298 = (struct allocator<char> * const) this.150_297; this.147_299 = (struct new_allocator<char> *) this_298; this_300 = (struct new_allocator<char> * const) this.147_299; <<<exception object>>> = save_eptr.199_294; <<<filter object>>> = save_filt.200_293; resx; <L49>:; D.76543_395 = &this_325->D.16095._M_refcount; D.76544_396 = (volatile _Atomic_word *) D.76543_395; D.76545_397 = __exchange_and_add (D.76544_396, -1); <bb 15>: retval.157_410 = D.76545_397 <= 0; if (retval.157_410) goto <L50>; else goto <L126>; <L50>:; _M_destroy (this_325, __a_326); goto <bb 18> (<L126>); <L45>:; save_filt.198_398 = <<<filter object>>>; save_eptr.197_399 = <<<exception object>>>; this.147_400 = (struct new_allocator<char> *) &D.76510; this_401 = (struct new_allocator<char> * const) this.147_400; <<<exception object>>> = save_eptr.197_399; <<<filter object>>> = save_filt.198_398; resx; <L126>:; this.147_333 = (struct new_allocator<char> *) &D.76510; this_334 = (struct new_allocator<char> * const) this.147_333; D.76515_335 = &this_307->_M_dataplus; this_336 = (struct _Alloc_hider * const) D.76515_335; this.150_337 = (struct allocator<char> *) this_336; this_338 = (struct allocator<char> * const) this.150_337; this.147_339 = (struct new_allocator<char> *) this_338; this_340 = (struct new_allocator<char> * const) this.147_339; this.147_341 = (struct new_allocator<char> *) &D.68644; this_342 = (struct new_allocator<char> * const) this.147_341; this_343 = (struct basic_string<char,std::char_traits<char>,std::allocator<char> > * const) &D.68639; this_344 = (struct basic_string<char,std::char_traits<char>,std::allocator<char> > * const) this_343; D.76587_345 = &D.76577; D.76588_346 = &this_344->_M_dataplus; D.76589_347 = (struct allocator<char> *) D.76588_346; this_348 = (struct allocator<char> * const) D.76587_345; __a_349 = (struct allocator<char> &) D.76589_347; __a.148_350 = (struct new_allocator<char> *) __a_349; this.149_351 = (struct new_allocator<char> *) this_348; this_352 = (struct new_allocator<char> * const) this.149_351; D.76592_353 = (struct new_allocator<char> &) __a.148_350; this_354 = (struct basic_string<char,std::char_traits<char>,std::allocator<char> > * const) this_343; this_355 = this_354; D.76601_356 = this_355->_M_dataplus._M_p; D.76597_357 = D.76601_356; D.76598_358 = (struct _Rep *) D.76597_357; D.76599_359 = D.76598_358 + -24B; D.76578_360 = D.76599_359; this_361 = (struct _Rep * const) D.76578_360; __a_362 = (struct allocator<char> &) &D.76577; __p_363 = &_S_empty_rep_storage; D.76616_364 = (struct _Rep *) __p_363; D.76604_365 = D.76616_364; D.76605_366 = D.76604_365 != this_361; D.76606_367 = __builtin_expect (D.76605_366, 0); retval.156_368 = D.76606_367 != 0; if (retval.156_368) goto <L62>; else goto <L116>; <L47>:; save_filt.200_402 = <<<filter object>>>; save_eptr.199_403 = <<<exception object>>>; D.76515_404 = &this_307->_M_dataplus; this_405 = (struct _Alloc_hider * const) D.76515_404; this.150_406 = (struct allocator<char> *) this_405; this_407 = (struct allocator<char> * const) this.150_406; this.147_408 = (struct new_allocator<char> *) this_407; this_409 = (struct new_allocator<char> * const) this.147_408; <<<exception object>>> = save_eptr.199_403; <<<filter object>>> = save_filt.200_402; resx; <L3>:; save_filt.204_244 = <<<filter object>>>; save_eptr.203_245 = <<<exception object>>>; this.147_246 = (struct new_allocator<char> *) &D.68644; this_247 = (struct new_allocator<char> * const) this.147_246; <<<exception object>>> = save_eptr.203_245; <<<filter object>>> = save_filt.204_244; resx; <L62>:; D.76610_379 = &this_361->D.16095._M_refcount; D.76611_380 = (volatile _Atomic_word *) D.76610_379; D.76612_381 = __exchange_and_add (D.76611_380, -1); <bb 22>: retval.157_394 = D.76612_381 <= 0; if (retval.157_394) goto <L63>; else goto <L116>; <L63>:; _M_destroy (this_361, __a_362); goto <bb 25> (<L116>); <L58>:; save_filt.198_382 = <<<filter object>>>; save_eptr.197_383 = <<<exception object>>>; this.147_384 = (struct new_allocator<char> *) &D.76577; this_385 = (struct new_allocator<char> * const) this.147_384; <<<exception object>>> = save_eptr.197_383; <<<filter object>>> = save_filt.198_382; resx; <L116>:; this.147_369 = (struct new_allocator<char> *) &D.76577; this_370 = (struct new_allocator<char> * const) this.147_369; D.76582_371 = &this_343->_M_dataplus; this_372 = (struct _Alloc_hider * const) D.76582_371; this.150_373 = (struct allocator<char> *) this_372; this_374 = (struct allocator<char> * const) this.150_373; this.147_375 = (struct new_allocator<char> *) this_374; this_376 = (struct new_allocator<char> * const) this.147_375; this.147_377 = (struct new_allocator<char> *) &D.68640; this_378 = (struct new_allocator<char> * const) this.147_377; return; <L60>:; save_filt.200_386 = <<<filter object>>>; save_eptr.199_387 = <<<exception object>>>; D.76582_388 = &this_343->_M_dataplus; this_389 = (struct _Alloc_hider * const) D.76582_388; this.150_390 = (struct allocator<char> *) this_389; this_391 = (struct allocator<char> * const) this.150_390; this.147_392 = (struct new_allocator<char> *) this_391; this_393 = (struct new_allocator<char> * const) this.147_392; <<<exception object>>> = save_eptr.199_387; <<<filter object>>> = save_filt.200_386; resx; <L5>:; save_filt.206_178 = <<<filter object>>>; save_eptr.205_179 = <<<exception object>>>; this_180 = (struct basic_string<char,std::char_traits<char>,std::allocator<char> > * const) &D.68639; this_181 = (struct basic_string<char,std::char_traits<char>,std::allocator<char> > * const) this_180; D.76648_182 = &D.76638; D.76649_183 = &this_181->_M_dataplus; D.76650_184 = (struct allocator<char> *) D.76649_183; this_185 = (struct allocator<char> * const) D.76648_182; __a_186 = (struct allocator<char> &) D.76650_184; __a.148_187 = (struct new_allocator<char> *) __a_186; this.149_188 = (struct new_allocator<char> *) this_185; this_189 = (struct new_allocator<char> * const) this.149_188; D.76653_190 = (struct new_allocator<char> &) __a.148_187; this_191 = (struct basic_string<char,std::char_traits<char>,std::allocator<char> > * const) this_180; this_192 = this_191; D.76662_193 = this_192->_M_dataplus._M_p; D.76658_194 = D.76662_193; D.76659_195 = (struct _Rep *) D.76658_194; D.76660_196 = D.76659_195 + -24B; D.76639_197 = D.76660_196; this_198 = (struct _Rep * __a_199 = (struct allocator<char> &) &D.76638; __p_200 = &_S_empty_rep_storage; D.76677_201 = (struct _Rep *) __p_200; D.76665_202 = D.76677_201; D.76666_203 = D.76665_202 != this_198; D.76667_204 = __builtin_expect (D.76666_203, 0); retval.156_205 = D.76667_204 != 0; if (retval.156_205) goto <L73>; else goto <L109>; <L73>:; D.76671_214 = &this_198->D.16095._M_refcount; D.76672_215 = (volatile _Atomic_word *) D.76671_214; D.76673_216 = __exchange_and_add (D.76672_215, -1); <bb 29>: retval.157_229 = D.76673_216 <= 0; if (retval.157_229) goto <L74>; else goto <L109>; <L74>:; _M_destroy (this_198, __a_199); goto <bb 32> (<L109>); <L69>:; save_filt.198_217 = <<<filter object>>>; save_eptr.197_218 = <<<exception object>>>; this.147_219 = (struct new_allocator<char> *) &D.76638; this_220 = (struct new_allocator<char> * const) this.147_219; <<<exception object>>> = save_eptr.197_218; <<<filter object>>> = save_filt.198_217; resx; <L109>:; this.147_206 = (struct new_allocator<char> *) &D.76638; this_207 = (struct new_allocator<char> * const) this.147_206; D.76643_208 = &this_180->_M_dataplus; this_209 = (struct _Alloc_hider * const) D.76643_208; this.150_210 = (struct allocator<char> *) this_209; this_211 = (struct allocator<char> * const) this.150_210; this.147_212 = (struct new_allocator<char> *) this_211; this_213 = (struct new_allocator<char> * const) this.147_212; <<<exception object>>> = save_eptr.205_179; <<<filter object>>> = save_filt.206_178; resx; <L71>:; save_filt.200_221 = <<<filter object>>>; save_eptr.199_222 = <<<exception object>>>; D.76643_223 = &this_180->_M_dataplus; this_224 = (struct _Alloc_hider * const) D.76643_223; this.150_225 = (struct allocator<char> *) this_224; this_226 = (struct allocator<char> * const) this.150_225; this.147_227 = (struct new_allocator<char> *) this_226; this_228 = (struct new_allocator<char> * const) this.147_227; <<<exception object>>> = save_eptr.199_222; <<<filter object>>> = save_filt.200_221; resx; <L8>:; save_filt.208_100 = <<<filter object>>>; save_eptr.207_101 = <<<exception object>>>; this.147_102 = (struct new_allocator<char> *) &D.68640; this_103 = (struct new_allocator<char> * const) this.147_102; <<<exception object>>> = save_eptr.207_101; resx; <L10>:; save_filt.210_104 = <<<filter object>>>; save_eptr.209_105 = <<<exception object>>>; D.68638_106 = &this_1->others; this_107 = (struct map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) D.68638_106; D.76705_108 = &this_107->_M_t; this_107 = (struct map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) D.68638_106; D.76705_108 = &this_107->_M_t; this_109 = (struct _Rb_tree<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::_Select1st<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) D.76705_108; this_110 = this_109; D.76713_111 = this_110->_M_impl._M_header._M_parent; D.76714_112 = (struct _Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > *) D.76713_111; D.76706_113 = D.76714_112; _M_erase (this_109, D.76706_113); goto <bb 37> (<L83>); <L82>:; save_filt.236_168 = <<<filter object>>>; save_eptr.235_169 = <<<exception object>>>; D.76709_170 = &this_109->_M_impl; this_171 = (struct _Rb_tree_impl<std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,false> * const) D.76709_170; this.153_172 = (struct allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > *) this_171; this_173 = (struct allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) this.153_172; this.161_174 = (struct new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > *) this_173; this_175 = (struct new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) this.161_174; <<<exception object>>> = save_eptr.235_169; <<<filter object>>> = save_filt.236_168; resx; <L83>:; D.76709_114 = &this_109->_M_impl; this_115 = (struct _Rb_tree_impl<std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,false> * const) D.76709_114; this.153_116 = (struct allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > *) this_115; this.153_116 = (struct allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > *) this_115; this_117 = (struct allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) this.153_116; this.161_118 = (struct new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > *) this_117; this_119 = (struct new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) this.161_118; <<<exception object>>> = save_eptr.209_105; <<<filter object>>> = save_filt.210_104; resx; <L13>:; save_filt.212_120 = <<<filter object>>>; save_eptr.211_121 = <<<exception object>>>; D.68637_122 = &this_1->iso639_2; this_123 = (struct map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) D.68637_122; D.76730_124 = &this_123->_M_t; this_125 = (struct _Rb_tree<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::_Select1st<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) D.76730_124; this_126 = this_125; D.76738_127 = this_126->_M_impl._M_header._M_parent; D.76739_128 = (struct _Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > *) D.76738_127; D.76731_129 = D.76739_128; _M_erase (this_125, D.76731_129); goto <bb 40> (<L88>); <L87>:; save_filt.236_160 = <<<filter object>>>; save_eptr.235_161 = <<<exception object>>>; D.76734_162 = &this_125->_M_impl; this_163 = (struct _Rb_tree_impl<std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,false> * const) D.76734_162; this.153_164 = (struct allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > *) this_163; this_165 = (struct allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) this.153_164; this_165 = (struct allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) this.153_164; this.161_166 = (struct new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > *) this_165; this_167 = (struct new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) this.161_166; <<<exception object>>> = save_eptr.235_161; <<<filter object>>> = save_filt.236_160; resx; <L88>:; D.76734_130 = &this_125->_M_impl; this_131 = (struct _Rb_tree_impl<std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,false> * const) D.76734_130; this.153_132 = (struct allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > *) this_131; this_133 = (struct allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) this.153_132; this.161_134 = (struct new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > *) this_133; this_135 = (struct new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) this.161_134; <<<exception object>>> = save_eptr.211_121; <<<filter object>>> = save_filt.212_120; resx; <L16>:; save_filt.214_136 = <<<filter object>>>; save_eptr.213_137 = <<<exception object>>>; D.68636_138 = &this_1->iso639_1; this_139 = (struct map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) D.68636_138; D.76755_140 = &this_139->_M_t; this_141 = (struct _Rb_tree<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::_Select1st<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) D.76755_140; this_142 = this_141; D.76763_143 = this_142->_M_impl._M_header._M_parent; D.76764_144 = (struct _Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > *) D.76763_143; D.76756_145 = D.76764_144; _M_erase (this_141, D.76756_145); goto <bb 43> (<L93>); <L92>:; save_filt.236_152 = <<<filter object>>>; save_eptr.235_153 = <<<exception object>>>; D.76759_154 = &this_141->_M_impl; this_155 = (struct _Rb_tree_impl<std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,false> * const) D.76759_154; this.153_156 = (struct allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > *) this_155; this_157 = (struct allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) this.153_156; this_157 = (struct allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) this.153_156; this.161_158 = (struct new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > *) this_157; this_159 = (struct new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) this.161_158; <<<exception object>>> = save_eptr.235_153; <<<filter object>>> = save_filt.236_152; resx; <L93>:; D.76759_146 = &this_141->_M_impl; this_147 = (struct _Rb_tree_impl<std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,false> * const) D.76759_146; this.153_148 = (struct allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > *) this_147; this_149 = (struct allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) this.153_148; this.161_150 = (struct new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > *) this_149; this_151 = (struct new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > * const) this.161_150; <<<exception object>>> = save_eptr.213_137; <<<filter object>>> = save_filt.214_136; resx; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25878