[ https://issues.apache.org/jira/browse/STDCXX-856?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Martin Sebor updated STDCXX-856: -------------------------------- Affects Version/s: (was: trunk) 4.2.0 Same problem in 4.2.0 so this is not a regression. > [Sun C++] data corruption in rw_printf() with "%{$VAR!:@}", "%A{*c}", and "%{@}" > -------------------------------------------------------------------------------- > > Key: STDCXX-856 > URL: https://issues.apache.org/jira/browse/STDCXX-856 > Project: C++ Standard Library > Issue Type: Bug > Components: Test Driver > Affects Versions: 4.2.0 > Environment: Sun C++ 5.9/Solaris 10/AMD64 > Reporter: Martin Sebor > Priority: Critical > Fix For: 4.2.2 > > Original Estimate: 2h > Remaining Estimate: 2h > > When compiled with Sun C++ (both 5.9 and 5.8) in 15S build mode the program below exits with {{SIGABRT}}. It runs fine when compiled with HP aCC 3.73 or gcc 4.1.1 on Linux/x86_64 (both in wide mode). I suspect it might have something to do with STDCXX-828. > {noformat} > $ cat t.cpp && gmake t && ./t > #include > #include > #include > int main () > { > char buf [80]; > rw_sprintf (buf, "%{$FUNCALL!:@}", > "%{*Ac} %s %{@}", > 1, " ", "foo", "%Lg", 9.0L); > rw_printf ("%{$FUNCALL}\n"); > assert (0 == std::strcmp (buf, "\" \" foo 9")); > } > CC -c -D_RWSTDDEBUG -mt -I/amd/devco/sebor/stdcxx/include -I/build/sebor/stdcxx-suncc-5.8-j13-15S/include -I/amd/devco/sebor/stdcxx/tests/include -library=%none -g -xarch=amd64 +w -errtags -erroff=hidef t.cpp > CC t.o -o t -L/build/sebor/stdcxx-suncc-5.8-j13-15S/rwtest -lrwtest15S -library=%none -mt -xarch=amd64 -L/build/sebor/stdcxx-suncc-5.8-j13-15S/lib -lstd15S -lm > " " foo 1.69951e-4944 > Assertion failed: 0 == std::strcmp (buf, "\" \" foo 9"), file t.cpp, line 14 > Abort (core dumped) > {noformat} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.