-# Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+# Copyright (C) 1994-2015 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
+# 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Please email any bugs, comments, and/or additions to this file to:
+# This file was adapted from old Chill tests by Stan Shebs
+load_lib "fortran.exp"
-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;
- }
-}
+if { [skip_fortran_tests] } { continue }
proc test_integer_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 {} {
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
+ # 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"
}