Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

Bounds checking with GDB

gmadison
Beginner
121 Views

Here are my compiler flags

ifort -qopenmp

-g -m64 -fpp -O0 -debug all -check bounds -check uninit -traceback -g 

 

While running this under gdb I see this error

forrtl: severe (408): fort: (2): Subscript #1 of the array NODES has value 10 which is greater than the upper bound..

 

I am seeing bounds errors listed, but I can't get GDB to break on the bounds error. Is there a symbol I can use to break on for a bounds error check? Or can a bounds error spit a backtrace out? so I can figure which line its coming from.

 

My guess is its coming from a statement like this (sorry for the formatting..)

 

queue(q_b1, i)%nodes(j)%count

 

Here is a BHNode

 

    type :: BHNode                                                                                                  |                                                                                                                    

       integer :: count                                                                                             |                                                                                                                    

       integer,pointer,dimension(:) :: indices                                                                      |                                                                                                                    

       type(Vec3) :: min,max                                                                                        |                                                                                                                    

       type(Vec3) :: pos,vel,acc                                                                                    |                                                                                                                    

       type(BHNode),pointer :: parent                                                                               |                                                                                                                    

       type(BHNode),pointer,dimension(:) :: nodes                                                                   |                                                                                                                    

    end type BHNode                                                                                                 |                                                                                                                    

Where queue is defined

 

    type(BHNode),pointer,dimension(:,:) :: queue, temp_queue                                                        |                                                                                                                    

 

 

 

 

 

0 Kudos
0 Replies
Reply