# Copyright 1998-2000, 2007-2012 Free Software Foundation, Inc.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

# This file was written by Elena Zannoni (ezannoni@cygnus.com)

# This file is part of the gdb testsuite
#
# tests for pointer arithmetic and pointer dereferencing
# with integer type variables and pointers to integers
# 

#
# test running programs
#

set testfile "pointers"
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}

if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug nowarnings}] != "" } {
     untested pointers.exp
     return -1
    }

if [get_compiler_info] {
    return -1;
}

gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}


#
# set it up at a breakpoint so we can play with the variable values
#

if ![runto_main] then {
    perror "couldn't run to breakpoint"
    continue
}

gdb_test "next " "more_code.*;" "continuing after dummy()"


#
# let's see if gdb catches some illegal operations on pointers
#
# I must comment these out because strict type checking is not
# supported in this version of GDB. I do not really know
# what the expected gdb reply is.
#

#send_gdb "print v_int_pointer2 = &v_int_pointer\n"
#gdb_expect {
#    -re ".*.*$gdb_prompt $" {
#        pass "illegal pointer assignment rejected"
#      }
#    -re ".*$gdb_prompt $" { fail "illegal pointer assignment rejected" }
#    timeout           { fail "(timeout) illegal pointer assignment rejected" }    
#  }


#send_gdb "print v_unsigned_int_pointer = &v_int\n"
#gdb_expect {
#    -re ".*.*$gdb_prompt $" {
#        pass "illegal pointer assignment rejected"
#      }
#    -re ".*$gdb_prompt $" { fail "illegal pointer assignment rejected" }
#    timeout           { fail "(timeout) ilegal pointer assignment rejected" }    
#  }

#send_gdb "print v_unsigned_int_pointer == v_double_pointer\n"
#gdb_expect {
#    -re ".*.*$gdb_prompt $" {
#        pass "illegal pointer operation (+) rejected"
#      }
#    -re ".*$gdb_prompt $" { fail "illegal pointer operation (+) rejected" }
#    timeout           { fail "(timeout) illegal pointer operation (+) rejected" }    
#  }


#send_gdb "print v_unsigned_int_pointer * v_double_pointer\n"
#gdb_expect {
#    -re ".*Argument to arithmetic operation not a number or boolean.*$gdb_prompt $" {
#        pass "illegal pointer operation (*) rejected"
#      }
#    -re ".*$gdb_prompt $" { fail "illegal pointer operation (*) rejected" }
#    timeout           { fail "(timeout) illegal pointer operation (*) rejected" }    
#  }


#send_gdb "print v_unsigned_int_pointer = v_double_pointer\n"
#gdb_expect {
#    -re ".*.*$gdb_prompt $" {
#        pass "ilegal pointer assignment rejected"
#      }
#    -re ".*$gdb_prompt $" { fail "illegal pointer assignment rejected" }
#    timeout           { fail "(timeout) illegal pointer assignment rejected" }    
#  }


#send_gdb "print v_unsigned_int_pointer = v_unsigned_int\n"
#gdb_expect {
#    -re ".*.*$gdb_prompt $" {
#        pass "illegal pointer assignment rejected"
#      }
#    -re ".*$gdb_prompt $" { fail "illegal pointer assignment rejected" }
#    timeout           { fail "(timeout) illegal pointer assignment rejected" }    
#  }

gdb_test_no_output "set variable v_int_pointer=&v_int_array\[0\]" \
    "set pointer to beginning of array"
gdb_test_no_output "set variable v_int_pointer2=&v_int_array\[1\]" \
    "set pointer to end of array"


gdb_test "print *v_int_pointer" " = 6" "print object pointed to"

gdb_test "print *v_int_pointer2" " = 18" "print object pointed to \#2"

gdb_test "print v_int_pointer == v_int_pointer2" " = $false" \
    "pointer1==pointer2"

gdb_test "print v_int_pointer != v_int_pointer2" " = $true" \
    "pointer1!=pointer2"

gdb_test "print v_int_pointer <= v_int_pointer2" " = $true" \
    "pointer1<=pointer2"

gdb_test "print v_int_pointer >= v_int_pointer2" " = $false" \
    "pointer1>=pointer2"

gdb_test "print v_int_pointer < v_int_pointer2" " = $true" \
    "pointer1<pointer2"

gdb_test "print v_int_pointer > v_int_pointer2" " = $false" \
    "pointer1>pointer2"

gdb_test_no_output "set variable y = *v_int_pointer++" \
    "set y = *v_int_pointer++"
gdb_test "print y" " = 6" "pointer assignment"
gdb_test "print *v_int_pointer" " = 18" "and post-increment"



gdb_test_no_output "set variable y = *--v_int_pointer2" \
    "set y = *--v_int_pointer2"
gdb_test "print y" " = 6" "pointer assignment"
gdb_test "print *v_int_pointer2" " = 6" "and pre-decrement"



gdb_test_no_output "set variable y =v_int_pointer-v_int_pointer2" \
    "set y =v_int_pointer-v_int_pointer2"
gdb_test "print y" " = 1" "pointer1-pointer2"


gdb_test_no_output "set variable v_int_pointer=v_int_array" \
    "set v_int_pointer=v_int_array"
gdb_test "print *v_int_pointer" " = 6" \
    "print array element through pointer"

gdb_test "print *(v_int_pointer+1)" " = 18" \
    "print array element through pointer \#2"


# test print elements of array through pointers

gdb_test "print (*rptr)\[0\]" " = 0" \
    "print array element through pointer \#3"

gdb_test "print (*rptr)\[1\]" " = 1" \
    "print array element through pointer \#4"

gdb_test "print (*rptr)\[2\]" " = 2" \
    "print array element through pointer \#5"

gdb_test_no_output "set variable rptr = rptr+1" "increment rptr"

gdb_test "print (*rptr)\[0\]" " = 3" \
    "print array element through pointer \#6"

gdb_test "print (*rptr)\[1\]" " = 4" \
    "print array element through pointer \#7"

gdb_test "print (*rptr)\[2\]" " = 5" \
    "print array element through pointer \#8"

gdb_test "print *( *(matrix+1) +2)" " = 5" \
    "print array element w/ pointer arithmetic"

gdb_test "print **ptr_to_ptr_to_float" " = 100" \
    "print through ptr to ptr"

# tests for pointers 
# with elementary type variables and pointers.
# 

gdb_test "break marker1" ".*" ""
gdb_test "cont" "Break.* marker1 \\(\\) at .*:$decimal.*" \
    continue to marker1"
gdb_test "up" "more_code.*" "up from marker1"

gdb_test "print *pUC" " = 21 \'.025\'.*" "print value of *pUC"

gdb_test "ptype pUC" "type = unsigned char \\*" "ptype pUC"

gdb_test "print *pS" " = -14" "print value of *pS"

gdb_test_multiple "ptype pS" "ptype pS" {
    -re "type = short \\*.*$gdb_prompt $"  { pass "ptype pS" }
    -re "type = short int \\*.*$gdb_prompt $"  { pass "ptype pS" }
}    

gdb_test "print *pUS" " = 7" "print value of *pUS"

gdb_test_multiple "ptype pUS" "ptype pUS" {
    -re "type = unsigned short \\*.*$gdb_prompt $"  { pass "ptype pUS" }
    -re "type = short unsigned int \\*.*$gdb_prompt $"  { pass "ptype pUS" }
}

gdb_test "print *pI" " = 102" "print value of *pI"

gdb_test "ptype pI" "type = int \\*" "ptype pI"

gdb_test "print *pUI" " = 1002" "print value of *pUI"

gdb_test "ptype pUI" "type = unsigned int \\*" "ptype pUI"

gdb_test "print *pL" " = -234" "print value of *pL"

gdb_test_multiple "ptype pL" "ptype pL" {
    -re "type = long \\*.*$gdb_prompt $" { pass "ptype pL" }
    -re "type = long int \\*.*$gdb_prompt $" { pass "ptype pL" }
}

gdb_test "print *pUL" " = 234" "print value of *pUL"

gdb_test_multiple "ptype pUL" "ptype pUL" {
    -re "type = unsigned long \\*.*$gdb_prompt $"  { pass "ptype pUL" }
    -re "type = long unsigned int \\*.*$gdb_prompt $"  { pass "ptype pUL" }
}

gdb_test "print *pF" " = 1.2\[0-9\]*e\\+0?10" "print value of *pF"

gdb_test "ptype pF" "type = float \\*" "ptype pF"

gdb_test "print *pD" " = -1.2\[0-9\]*e\\-0?37" "print value of *pD"

gdb_test "ptype pD" "type = double \\*" "ptype pD"

gdb_test "print ******ppppppC" " = 65 \'A\'" \
    "print value of ******ppppppC"

gdb_test "ptype pC" "type = char \\*" "ptype pC"

gdb_test "ptype ppC" "type = char \\*\\*" "ptype ppC"

gdb_test "ptype pppC" "type = char \\*\\*\\*" "ptype pppC"

gdb_test "ptype ppppC" "type = char \\*\\*\\*\\*" "ptype ppppC"

gdb_test "ptype pppppC" "type = char \\*\\*\\*\\*\\*" "ptype pppppC"

gdb_test "ptype ppppppC" "type = char \\*\\*\\*\\*\\*\\*" "ptype ppppppC"

# Regression test for a crash.

gdb_test "p instance.array_variable + 0" \
  " = \\(long (int )?\\*\\) 0x\[0-9a-f\]* <instance>"
