You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by "Martin Sebor (JIRA)" <ji...@apache.org> on 2007/09/24 21:06:51 UTC

[jira] Issue Comment Edited: (STDCXX-448) SIGSEGV in std::valarray::operator[](gslice)

    [ https://issues.apache.org/jira/browse/STDCXX-448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12529944 ] 

sebor edited comment on STDCXX-448 at 9/24/07 12:06 PM:
---------------------------------------------------------------

Looks like this is covered by DR 543 (http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#543) which clarifies the standard so as to make the behavior of the program above (as well as the behavior of the regression test) is undefined.

We need to decide whether we want to implement some reasonable behavior as a matter of QoI or leave it as is. My feeling is that if we can avoid the undefined behavior without imposing any runtime overhead we should to make valarray slightly less error-prone to use than the standard allows it to be.

      was (Author: sebor):
    Looks like this is covered by DR 253 (http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#253) which clarifies the standard so as to make the behavior of the program above (as well as the behavior of the regression test) is undefined.

We need to decide whether we want to implement some reasonable behavior as a matter of QoI or leave it as is. My feeling is that if we can avoid the undefined behavior without imposing any runtime overhead we should to make valarray slightly less error-prone to use than the standard allows it to be.
  
> SIGSEGV in std::valarray::operator[](gslice)
> --------------------------------------------
>
>                 Key: STDCXX-448
>                 URL: https://issues.apache.org/jira/browse/STDCXX-448
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 26. Numerics
>    Affects Versions: 4.1.2, 4.1.3, 4.1.4
>         Environment: all
>            Reporter: Martin Sebor
>            Assignee: Martin Sebor
>             Fix For: 4.2
>
>
> ****Created By: micucci @ Dec 13, 1999 09:33:05 AM****
> ######## WORK NOTES COPIED FROM INCIDENT 879763 ########
> **** Entered By: leroy @ Wednesday, November 10, 1999 11:59:53 AM ****
> [see Rogue Wave issue 4437: http://insight.roguewave.com/onyxinsight/qa/qa4437.htm]
> ****Modified By: sebor @ Jan 24, 2000 03:40:38 PM****
> This doesn't compile with g++ 2.95.2:
> test.cpp:9: `operator *' not defined
> but does core dump with edg 2.42
> ****Modified By: pedretti @ Feb 07, 2000 05:37:33 PM****
> This is actually a problem with the valarray constructor that takes a gslice as an argument, which is called by the valarray::operator[] ( gslice );. in fact, the following code would cause the core dump:
> ------
> #include <valarray>
> int main()
> {  
>    std::valarray<double> dval;
>    dval[std::gslice()];
> }
> -----

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.