[Bug c++/25878] Excessive memory and compile-time with std::map init sequence
rguenth at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Jan 20 15:50:00 GMT 2006
------- 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
More information about the Gcc-bugs
mailing list