------- Comment #14 from jakub at gcc dot gnu dot org  2009-05-12 19:06 -------
In *.pre it still looks correct:
  adaptor.D.166953._vptr.matchable =
&_ZTVN5boost9xpressive6detail17xpression_adaptorINS_17reference_wrapperIKNS1_17stacked_xpressionINS1
_16static_xpressionINS1_11end_matcherENS1_7no_nextEEENS5_INS1_21alternate_end_matcherES7_EEEEEENS1_9matchableIN9__gnu_cxx17__normal_itera
torIPKcSsEEEEEE[2];
  adaptor.xpr_.t_ = D.187226_39;
  D.187223_40 =
&this_1(D)->xpr_.D.142582.alternates_.D.142415.cdr.D.142229.car.D.142156.impl_;
  D.187198_41 = push_context_match (D.187223_40, state_4(D),
&adaptor.D.166953);

and

  adaptor.D.166953._vptr.matchable =
&_ZTVN5boost9xpressive6detail17xpression_adaptorINS_17reference_wrapperIKNS1_17stacked_xpressionINS1
_16static_xpressionINS1_11end_matcherENS1_7no_nextEEENS5_INS1_21alternate_end_matcherES7_EEEEEENS1_9matchableIN9__gnu_cxx17__normal_itera
torIPKcSsEEEEEE[2];
  adaptor.xpr_.t_ = D.187218_33;
  D.187221_34 =
&this_1(D)->xpr_.D.142582.alternates_.D.142415.car.D.142156.impl_;
  D.187216_35 = push_context_match (D.187221_34, state_4(D),
&adaptor.D.166953);

but *.sink already breaks the first push_context_match call:

  D.187227_38 =
&this_1(D)->xpr_.D.142582.alternates_.D.142415.cdr.D.142229.car.next_;
  D.187226_39 = (const struct stacked_xpression &) D.187227_38;
  adaptor.D.166953._vptr.matchable =
&_ZTVN5boost9xpressive6detail17xpression_adaptorINS_17reference_wrapperIKNS1_17stacked_xpressionINS1
_16static_xpressionINS1_11end_matcherENS1_7no_nextEEENS5_INS1_21alternate_end_matcherES7_EEEEEENS1_9matchableIN9__gnu_cxx17__normal_itera
torIPKcSsEEEEEE[2];
  adaptor.xpr_.t_ = D.187226_39;
  D.187223_40 =
&this_1(D)->xpr_.D.142582.alternates_.D.142415.cdr.D.142229.car.D.142156.impl_;
  adaptor.D.166953._vptr.matchable =
&_ZTVN5boost9xpressive6detail9matchableIN9__gnu_cxx17__normal_iteratorIPKcSsEEEE[2];
  D.187198_41 = push_context_match (D.187223_40, state_4(D),
&adaptor.D.166953);


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39509

Reply via email to