stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Sebor (JIRA)" <j...@apache.org>
Subject [jira] Commented: (STDCXX-448) SIGSEGV in std::valarray::operator[](gslice)
Date Mon, 24 Sep 2007 19:06:51 GMT

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

Martin Sebor commented on STDCXX-448:
-------------------------------------

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.


Mime
View raw message