# Copyright (C) 1994, 1997 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 2 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, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  

# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu

# This file was adapted from old Chill tests by Stan Shebs
# (shebs@cygnus.com).

if $tracelevel then {
	strace $tracelevel
}

set prms_id 0
set bug_id 0

# Set the current language to fortran.  This counts as a test.  If it
# fails, then we skip the other tests.

proc set_lang_fortran {} {
    global gdb_prompt
    
    if [gdb_test "set language fortran" ""] {
	return 0;
    }

    if ![gdb_test "show language" ".* source language is \"fortran\".*"] {
	return 1;
    } else {
	return 0;
    }
}

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'"
}

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 modulo with various operands

}

# 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
}
