# Copyright 1998-2021 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
#

standard_testfile .c

if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug nowarnings}] != "" } {
     untested "failed to compile"
     return -1
    }

if [get_compiler_info] {
    return -1
}

clean_restart ${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 \\*"

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 \\*"

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

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

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 \\*"

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

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

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

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

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

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

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

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

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

# Regression test for a crash.

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