This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/34650] 'this' pointer goes null on x86_64-linux-gnu
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 3 Jan 2008 16:48:13 -0000
- Subject: [Bug c++/34650] 'this' pointer goes null on x86_64-linux-gnu
- References: <bug-34650-15578@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from rguenth at gcc dot gnu dot org 2008-01-03 16:48 -------
This is obviously an error in your program or LGraph as you can see
#2 0x0000000000402cb3 in std::find<__gnu_cxx::__normal_iterator<Edge<int,
std::string, true> const*, std::vector<Edge<int, std::string, true>,
std::allocator<Edge<int, std::string, true> > > >, int> (__first={_M_current =
0x0}, __last=
{_M_current = 0x7fffef4c1201}, __val=@0x7fffef4c1060) at t.ii:18268
18268 std::__iterator_category(__first));
(gdb)
#3 0x0000000000403442 in LGraph<int, std::string, true>::has (
this=0x7fffef4c1230, n1=1, n2=3) at t.ii:14506
14506
if(one->second.end()!=find(one->second.begin(),one->second.end(),n2)){
(gdb)
#4 0x00000000004073f3 in LGraph<int, std::string, true>::operator() (
this=0x7fffef4c1230, node1=1, node2=3) at t.ii:14543
14543 if(has(node1,node2)){
(gdb)
#5 0x000000000040186c in main (argv=1, args=0x7fffef4c1448) at t.ii:32882
32882 std::cout << "There is an edge as(EXISTS):" << (( "EXISTS" == cdg(1,3)
) ? "true" : "false") <<std::endl;
std::find is invoked with an invalid __first argument from LGraph::has.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |INVALID
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34650