Menu

#87 enabling inline functions breaks list test on MIPS+WinCE

closed
nobody
5
2007-01-28
2006-11-17
Superlexx
No

compiler: Microsoft embedded VC3
processor: MIPS R4000
OS: WinCE 3.0
STLPort: v5.1.0 RC3

Enabling inline function expansion ("Disable *" -> "only __inline") makes the list3 test fail at line 141:

//////////////////////////////////////
139 str.sort();
140 i = str.begin();
141 CPPUNIT_ASSERT(*i++=='l');
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

the character is 'x' instead of 'l'

This error doesn't occur under x86 or with STLPort v5.0.2 (MIPS and x86)

I'll see if I can reproduce this on an ARM device.

Discussion

  • Superlexx

    Superlexx - 2006-11-17

    Logged In: YES
    user_id=1152502
    Originator: YES

    I can't reproduce this with VC8+ARM+WinCE5.0, so it looks like a MIPS compiler bug, but a dangerous one because of the runtime-only no-exception/error yet incorrect behaviour

     
  • Francois Dumont

    Francois Dumont - 2007-01-28
    • status: open --> closed
     
  • Francois Dumont

    Francois Dumont - 2007-01-28

    Logged In: YES
    user_id=1096600
    Originator: NO

    Compiler specific bug, use some #pragma to disable optimization locally in your code.

     

Log in to post a comment.