incubator-stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: svn commit: r386035 - /incubator/stdcxx/trunk/tests/strings/21.string.erase.cpp
Date Wed, 15 Mar 2006 19:44:50 GMT
antonp@apache.org wrote:
> Author: antonp
> Date: Wed Mar 15 02:18:36 2006
> New Revision: 386035
[...]
> @@ -512,9 +547,21 @@
>                      0 /* no comment */,
>                      run_test,
>                      "|-no-char_traits# "
> -                    "|-no-user_traits# ",
> -                    "|-no-user_chars",
> +                    "|-no-user_traits# "
> +                    "|-no-user_chars# "
> +                    "|-no-exceptions# "
> +                    "|-no-erase# "
> +                    "|-no-erase-pos# "
> +                    "|-no-erase-count# "
> +                    "|-no-erase-iterator# "
> +                    "|-no-erase-range",

This is missing the trailing pound sign so the option processor will
assume the address is that of a callback function and try to call it
when it sees the option on the command line.

Here's what I get on Solaris/SPARC, for example:
$ ./21_erase --no-erase-range
Illegal Instruction (core dumped)

We should extend __rw_memattr() to check function pointers to make
sure they point to memory with executable permissions and detect
and diagnose these kinds of mismatches.

Martin

Mime
View raw message