# Copyright (C) 1994-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 adapted from old Chill tests by Stan Shebs
# (shebs@cygnus.com).

load_lib "fortran.exp"

if { [skip_fortran_tests] } { continue }

proc test_integer_literals_accepted {} {
    global gdb_prompt

    # Test various decimal values.

    gdb_test "p 123" " = 123"
    gdb_test "p -123" " = -123"
}

proc test_character_literals_accepted {} {
    global gdb_prompt

    # Test various character values.

    gdb_test "p 'a'" " = 'a'"

    # Test various substring expression.
    gdb_test "p 'abcdefg'(2:4)" " = 'bcd'"
    gdb_test "p 'abcdefg'(:3)"  " = 'abc'"
    gdb_test "p 'abcdefg'(5:)"  " = 'efg'"
    gdb_test "p 'abcdefg'(:)" " = 'abcdefg'"

}

proc test_integer_literals_rejected {} {
    global gdb_prompt

    test_print_reject "p _"
}

proc test_logical_literals_accepted {} {
    global gdb_prompt

    # Test the only possible values for a logical, TRUE and FALSE.

    gdb_test "p .TRUE." " = .TRUE."
    gdb_test "p .FALSE." " = .FALSE."
}

proc test_float_literals_accepted {} {
    global gdb_prompt

    # Test various floating point formats

    gdb_test "p .44 .LT. .45" " = .TRUE."
    gdb_test "p .44 .GT. .45" " = .FALSE."
    gdb_test "p 0.44 .LT. 0.45" " = .TRUE."
    gdb_test "p 0.44 .GT. 0.45" " = .FALSE."
    gdb_test "p 44. .LT. 45." " = .TRUE."
    gdb_test "p 44. .GT. 45." " = .FALSE."
    gdb_test "p 44.0 .LT. 45.0" " = .TRUE."
    gdb_test "p 44.0 .GT. 45.0" " = .FALSE."
    gdb_test "p 10D20 .LT. 10D21" " = .TRUE."
    gdb_test "p 10D20 .GT. 10D21" " = .FALSE."
    gdb_test "p 10d20 .LT. 10d21" " = .TRUE."
    gdb_test "p 10d20 .GT. 10d21" " = .FALSE."
    gdb_test "p 10E20 .LT. 10E21" " = .TRUE."
    gdb_test "p 10E20 .GT. 10E21" " = .FALSE."
    gdb_test "p 10e20 .LT. 10e21" " = .TRUE."
    gdb_test "p 10e20 .GT. 10e21" " = .FALSE."
    gdb_test "p 10.D20 .LT. 10.D21" " = .TRUE."
    gdb_test "p 10.D20 .GT. 10.D21" " = .FALSE."
    gdb_test "p 10.d20 .LT. 10.d21" " = .TRUE."
    gdb_test "p 10.d20 .GT. 10.d21" " = .FALSE."
    gdb_test "p 10.E20 .LT. 10.E21" " = .TRUE."
    gdb_test "p 10.E20 .GT. 10.E21" " = .FALSE."
    gdb_test "p 10.e20 .LT. 10.e21" " = .TRUE."
    gdb_test "p 10.e20 .GT. 10.e21" " = .FALSE."
    gdb_test "p 10.0D20 .LT. 10.0D21" " = .TRUE."
    gdb_test "p 10.0D20 .GT. 10.0D21" " = .FALSE."
    gdb_test "p 10.0d20 .LT. 10.0d21" " = .TRUE."
    gdb_test "p 10.0d20 .GT. 10.0d21" " = .FALSE."
    gdb_test "p 10.0E20 .LT. 10.0E21" " = .TRUE."
    gdb_test "p 10.0E20 .GT. 10.0E21" " = .FALSE."
    gdb_test "p 10.0e20 .LT. 10.0e21" " = .TRUE."
    gdb_test "p 10.0e20 .GT. 10.0e21" " = .FALSE."
    gdb_test "p 10.0D+20 .LT. 10.0D+21" " = .TRUE."
    gdb_test "p 10.0D+20 .GT. 10.0D+21" " = .FALSE."
    gdb_test "p 10.0d+20 .LT. 10.0d+21" " = .TRUE."
    gdb_test "p 10.0d+20 .GT. 10.0d+21" " = .FALSE."
    gdb_test "p 10.0E+20 .LT. 10.0E+21" " = .TRUE."
    gdb_test "p 10.0E+20 .GT. 10.0E+21" " = .FALSE."
    gdb_test "p 10.0e+20 .LT. 10.0e+21" " = .TRUE."
    gdb_test "p 10.0e+20 .GT. 10.0e+21" " = .FALSE."
    gdb_test "p 10.0D-11 .LT. 10.0D-10" " = .TRUE."
    gdb_test "p 10.0D-11 .GT. 10.0D-10" " = .FALSE."
    gdb_test "p 10.0d-11 .LT. 10.0d-10" " = .TRUE."
    gdb_test "p 10.0d-11 .GT. 10.0d-10" " = .FALSE."
    gdb_test "p 10.0E-11 .LT. 10.0E-10" " = .TRUE."
    gdb_test "p 10.0E-11 .GT. 10.0E-10" " = .FALSE."
    gdb_test "p 10.0e-11 .LT. 10.0e-10" " = .TRUE."
    gdb_test "p 10.0e-11 .GT. 10.0e-10" " = .FALSE."
}

proc test_convenience_variables {} {
    global gdb_prompt

    gdb_test "set \$foo = 101"	" = 101\[\r\n\]*" \
	"Set a new convenience variable"

    gdb_test "print \$foo"		" = 101" \
	"Print contents of new convenience variable"

    gdb_test "set \$foo = 301"	" = 301\[\r\n\]*" \
	"Set convenience variable to a new value"

    gdb_test "print \$foo"		" = 301" \
	"Print new contents of convenience variable"

    gdb_test "set \$_ = 11"		" = 11\[\r\n\]*" \
	"Set convenience variable \$_"

    gdb_test "print \$_"		" = 11" \
	"Print contents of convenience variable \$_"

    gdb_test "print \$foo + 10"	" = 311" \
	"Use convenience variable in arithmetic expression"

    gdb_test "print (\$foo = 32) + 4"	" = 36" \
	"Use convenience variable assignment in arithmetic expression"

    gdb_test "print \$bar"		" = void" \
	"Print contents of uninitialized convenience variable"
}

proc test_value_history {} {
    global gdb_prompt

    gdb_test "print 101"	"\\\$1 = 101" \
	"Set value-history\[1\] using \$1"

    gdb_test "print 102" 	"\\\$2 = 102" \
	"Set value-history\[2\] using \$2"

    gdb_test "print 103"	"\\\$3 = 103" \
	"Set value-history\[3\] using \$3"

    gdb_test "print \$\$"	"\\\$4 = 102" \
	"Print value-history\[MAX-1\] using inplicit index \$\$"

    gdb_test "print \$\$"	"\\\$5 = 103" \
	"Print value-history\[MAX-1\] again using implicit index \$\$"

    gdb_test "print \$"	"\\\$6 = 103" \
	"Print value-history\[MAX\] using implicit index \$"

    gdb_test "print \$\$2"	"\\\$7 = 102" \
	"Print value-history\[MAX-2\] using explicit index \$\$2"

    gdb_test "print \$0"	"\\\$8 = 102" \
	"Print value-history\[MAX\] using explicit index \$0"

    gdb_test "print 108"	"\\\$9 = 108" ""

    gdb_test "print \$\$0"	"\\\$10 = 108" \
	"Print value-history\[MAX\] using explicit index \$\$0"

    gdb_test "print \$1"	"\\\$11 = 101" \
	"Print value-history\[1\] using explicit index \$1"

    gdb_test "print \$2"	"\\\$12 = 102" \
	"Print value-history\[2\] using explicit index \$2"

    gdb_test "print \$3"	"\\\$13 = 103" \
	"Print value-history\[3\] using explicit index \$3"

    gdb_test "print \$-3"	"\\\$14 = 100" \
	"Print (value-history\[MAX\] - 3) using implicit index \$"

    gdb_test "print \$1 + 3"	"\\\$15 = 104" \
	"Use value-history element in arithmetic expression"
}

proc test_arithmetic_expressions {} {
    global gdb_prompt

    # Test unary minus with various operands

#    gdb_test "p -(TRUE)"	" = -1"	"unary minus applied to bool"
#    gdb_test "p -('a')"	" = xxx"	"unary minus applied to char"
    gdb_test "p -(1)"		" = -1"	"unary minus applied to int"
    gdb_test "p -(1.0)"	" = -1"	"unary minus applied to real"

    # Test addition with various operands

    gdb_test "p .TRUE. + 1"	" = 2"	"bool plus int"
    gdb_test "p 1 + 1"		" = 2"	"int plus int"
    gdb_test "p 1.0 + 1"	" = 2"	"real plus int"
    gdb_test "p 1.0 + 2.0"	" = 3"	"real plus real"

    # Test subtraction with various operands

    gdb_test "p .TRUE. - 1"	" = 0"	"bool minus int"
    gdb_test "p 3 - 1"		" = 2"	"int minus int"
    gdb_test "p 3.0 - 1"	" = 2"	"real minus int"
    gdb_test "p 5.0 - 2.0"	" = 3"	"real minus real"

    # Test multiplication with various operands

    gdb_test "p .TRUE. * 1"	" = 1"	"bool times int"
    gdb_test "p 2 * 3"		" = 6"	"int times int"
    gdb_test "p 2.0 * 3"	" = 6"	"real times int"
    gdb_test "p 2.0 * 3.0"	" = 6"	"real times real"

    # Test division with various operands

    gdb_test "p .TRUE. / 1"	" = 1"	"bool divided by int"
    gdb_test "p 6 / 3"		" = 2"	"int divided by int"
    gdb_test "p 6.0 / 3"	" = 2"	"real divided by int"
    gdb_test "p 6.0 / 3.0"	" = 2"	"real divided by real"

    # Test exponentiation with various operands
    
    gdb_test "p 2 ** 3" " = 8" "int powered by int"
    gdb_test "p 2 ** 2 ** 3" " = 256" "combined exponentiation expression"
    gdb_test "p (2 ** 2) ** 3" " = 64" "combined exponentiation expression in specified order"
    gdb_test "p 4 ** 0.5" " = 2" "int powered by real"
    gdb_test "p 4.0 ** 0.5" " = 2" "real powered by real"

}

# Start with a fresh gdb.

gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir

gdb_test "set print sevenbit-strings" ""

if [set_lang_fortran] then {
    test_value_history
    test_convenience_variables
    test_integer_literals_accepted
    test_integer_literals_rejected
    test_logical_literals_accepted
    test_character_literals_accepted
    test_float_literals_accepted
    test_arithmetic_expressions
} else {
    warning "$test_name tests suppressed." 0
}
