Skip to content
  1. Aug 25, 2012
  2. Aug 24, 2012
    • Howard Hinnant's avatar
      Add Hyeon-bin Jeong to CREDITS.TXT · bad901b3
      Howard Hinnant authored
      llvm-svn: 162604
      bad901b3
    • Jakob Stoklund Olesen's avatar
      Explicitly mark LEApcrel pseudos with hasSideEffects. · 47ac1a8e
      Jakob Stoklund Olesen authored
      It's not clear that they should be marked as such, but tbb formation
      fails if t2LEApcrelJT is hoisted of of a loop.
      
      This doesn't change the flags on these instructions,
      UnmodeledSideEffects was already inferred from the missing pattern.
      
      llvm-svn: 162603
      47ac1a8e
    • Chad Rosier's avatar
      [ms-inline asm] Change the -fenable-experimental-ms-inline-asm option from a · 175ea24e
      Chad Rosier authored
      CodeGen option to a LangOpt option.  In turn, hoist the guard into the parser 
      so that we avoid the new (and fairly unstable) Sema/AST/CodeGen logic.  This
      should restore the behavior of clang to that prior to r158325.
      <rdar://problem/12163681>
      
      llvm-svn: 162602
      175ea24e
    • Howard Hinnant's avatar
      Hyeon-Bin Jeong: 1. sync() should reset it’s external buffer pointers. · bfd96e11
      Howard Hinnant authored
      Remaining characters should be discarded once sync() called. If don’t, garbage
      characters can be inserted to the front of external buffer in underflow().
      Because underflow() copies remaining characters in external buffer to it’s
      front. This results wrong characters insertion when seekpos() or seekoff() is
      called.
      
      this line should be inserted in sync() just before return:
      __extbufnext_ = __extbufend_ = __extbuf_;
      
      2. sync() should use length() rather than out() to calculate offset.
      Reversing iterators and calling out() to calculate offset from behind is
      working fine in stateless character encoding. However, in stateful encoding,
      escape sequences could differ in length. As a result, out() could return wrong
      length. 
      
      For example, if we have internal buffer converted from this external sequence:
      (capital letters mean escape sequence)
      … a a a a B b b b b
      
      out() produces this sequence. 
      b b b b A a a a a
      
      Because out() inserts escape sequence A rather than B, result sequence doesn't
      match to external sequence. A and B could have different lengths, result offset
      could be wrong value too.
      
      length() method in codecvt is right for calculating offset, but it counts
      offset from the beginning of buffer. So it requires another state member
      variable to hold state before conversion.
      Fixes http://llvm.org/bugs/show_bug.cgi?id=13667
      
      llvm-svn: 162601
      bfd96e11
Loading