new testcase for Ada Wide Wide Characters and Strings

gdb/testsuite/ChangeLog:

        * gdb.ada/widewide: New testcase.
This commit is contained in:
Joel Brobecker 2011-01-14 19:33:19 +00:00
parent 447b483c37
commit 2c3e6e2466
5 changed files with 123 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2011-01-14 Joel Brobecker <brobecker@adacore.com>
* gdb.ada/widewide: New testcase.
2011-01-13 Joel Brobecker <brobecker@adacore.com>
* gdb.base/interact.exp: New testcase.

View File

@ -0,0 +1,47 @@
# Copyright 2011 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/>.
load_lib "ada.exp"
set testdir "widewide"
set testfile "${testdir}/foo"
set srcfile ${srcdir}/${subdir}/${testfile}.adb
set binfile ${objdir}/${subdir}/${testfile}
file mkdir ${objdir}/${subdir}/${testdir}
if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } {
return -1
}
clean_restart ${testfile}
set bp_location [gdb_get_line_number "START" ${testdir}/foo.adb]
if ![runto "foo.adb:$bp_location" ] then {
perror "Couldn't run ${testfile}"
return
}
gdb_test "print some_easy" "= 74 'J'"
gdb_test "print some_larger" "= 48879 '\\\[\"0000beef\"\\\]'"
gdb_test "print some_big" "= 14335727 '\\\[\"00dabeef\"\\\]'"
gdb_test "print my_wws" "= \" helo\""
gdb_test "print my_wws(1)" "= 32 ' '"
gdb_test "print my_wws(2)" "= 104 'h'"

View File

@ -0,0 +1,27 @@
-- Copyright 2011 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/>.
with Pck; use Pck;
procedure Foo is
Some_Easy : Wide_Wide_Character := 'J';
Some_Larger : Wide_Wide_Character := Wide_Wide_Character'Val(16#beef#);
Some_Big : Wide_Wide_Character := Wide_Wide_Character'Val(16#00dabeef#);
My_WWS : Wide_Wide_String := " helo";
begin
Do_Nothing (Some_Easy'Address); -- START
Do_Nothing (Some_Larger'Address);
Do_Nothing (Some_Big'Address);
end Foo;

View File

@ -0,0 +1,23 @@
-- Copyright 2011 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/>.
package body Pck is
procedure Do_Nothing (A : System.Address) is
begin
null;
end Do_Nothing;
end Pck;

View File

@ -0,0 +1,22 @@
-- Copyright 2011 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/>.
with System;
package Pck is
procedure Do_Nothing (A : System.Address);
end Pck;