From: Sami Wagiaalla Date: Wed, 27 Jan 2010 18:04:57 +0000 (+0000) Subject: 2010-01-27 Sami Wagiaalla X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=de958931bce687e9105946cd2b2868d0d48db1cd;p=binutils-gdb.git 2010-01-27 Sami Wagiaalla * gdb.cp/namespace-using.exp: Rename to nsusing.exp. * gdb.cp/namespace-using.cc: Rename to nsusing.cc. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 667154d4e14..65459bf29ee 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-01-27 Sami Wagiaalla + + * gdb.cp/namespace-using.exp: Rename to nsusing.exp. + * gdb.cp/namespace-using.cc: Rename to nsusing.cc. + 2010-01-26 Tom Tromey PR exp/7643: diff --git a/gdb/testsuite/gdb.cp/namespace-using.cc b/gdb/testsuite/gdb.cp/namespace-using.cc deleted file mode 100644 index b1f0ce48c9b..00000000000 --- a/gdb/testsuite/gdb.cp/namespace-using.cc +++ /dev/null @@ -1,77 +0,0 @@ -namespace O -{ - int ox = 4; -} - -namespace PQ -{ - int marker6 () - { - return 0; - } -} - -namespace P -{ - using namespace O; -} - -//-------------- -namespace C -{ - int cc = 3; -} - -using namespace C; -int marker5 () -{ - cc; - return PQ::marker6 (); -} - - -namespace A -{ - int _a = 1; - int x = 2; -} - -int marker4(){ - using A::x; - return marker5 (); -} - -int marker3(){ - return marker4(); -} - -int marker2() -{ - namespace B = A; - B::_a; - return marker3(); -} - -int marker1() -{ - int total = 0; - { - int b = 1; - { - using namespace A; - int c = 2; - { - int d = 3; - total = _a + b + c + d + marker2(); // marker1 stop - } - } - } - return marker2() + total; -} - -int main() -{ - using namespace A; - _a; - return marker1(); -} diff --git a/gdb/testsuite/gdb.cp/namespace-using.exp b/gdb/testsuite/gdb.cp/namespace-using.exp deleted file mode 100644 index 38d65a37254..00000000000 --- a/gdb/testsuite/gdb.cp/namespace-using.exp +++ /dev/null @@ -1,120 +0,0 @@ -# Copyright 2008, 2010 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 . - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile namespace-using -set srcfile ${testfile}.cc -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } { - untested "Couldn't compile test program" - return -1 -} - -if [get_compiler_info ${binfile}] { - return -1 -} - - -# Get things started. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -############################################ -# test printing of namespace imported within -# the function. - -if ![runto_main] then { - perror "couldn't run to breakpoint main" - continue -} - -gdb_test "print _a" "= 1" - -############################################ -# test printing of namespace imported into -# a scope containing the pc. - -gdb_breakpoint [gdb_get_line_number "marker1 stop"] -gdb_continue_to_breakpoint "marker1 stop" - -gdb_test "print _a" "= 1" "print _a in a nested scope" - -############################################ -# Test printing of namespace aliases - -setup_kfail "gdb/7935" "*-*-*" -if ![runto marker2] then { - perror "couldn't run to breakpoint marker2" - continue -} - -gdb_test "print B::a" "= 1" - -############################################ -# Test that names are not printed when they -# are not imported - -gdb_breakpoint "marker3" -gdb_continue_to_breakpoint "marker3" - -# gcc-4-3 puts import statements for aliases in -# the global scope instead of the corresponding -# function scope. These wrong import statements throw -# this test off. This is fixed in gcc-4-4. -if [test_compiler_info gcc-4-3-*] then { setup_xfail *-*-* } - -gdb_test "print _a" "No symbol \"_a\" in current context." "Print _a without import" - -############################################ -# Test printing of individually imported elements - -setup_kfail "gdb/7936" "*-*-*" -if ![runto marker4] then { - perror "couldn't run to breakpoint marker4" - continue -} - -gdb_test "print x" "= 2" - -############################################ -# test printing of namespace imported into -# file scope. - -if ![runto marker5] then { - perror "couldn't run to marker5" - continue -} - -gdb_test "print cc" "= 3" - -############################################ -# test printing of namespace imported into -# file scope. - -if ![runto PQ::marker6] then { - perror "couldn't run to PQ::marker6" - continue -} - -gdb_test "print ox" "No symbol \"ox\" in current context." diff --git a/gdb/testsuite/gdb.cp/nsusing.cc b/gdb/testsuite/gdb.cp/nsusing.cc new file mode 100644 index 00000000000..b1f0ce48c9b --- /dev/null +++ b/gdb/testsuite/gdb.cp/nsusing.cc @@ -0,0 +1,77 @@ +namespace O +{ + int ox = 4; +} + +namespace PQ +{ + int marker6 () + { + return 0; + } +} + +namespace P +{ + using namespace O; +} + +//-------------- +namespace C +{ + int cc = 3; +} + +using namespace C; +int marker5 () +{ + cc; + return PQ::marker6 (); +} + + +namespace A +{ + int _a = 1; + int x = 2; +} + +int marker4(){ + using A::x; + return marker5 (); +} + +int marker3(){ + return marker4(); +} + +int marker2() +{ + namespace B = A; + B::_a; + return marker3(); +} + +int marker1() +{ + int total = 0; + { + int b = 1; + { + using namespace A; + int c = 2; + { + int d = 3; + total = _a + b + c + d + marker2(); // marker1 stop + } + } + } + return marker2() + total; +} + +int main() +{ + using namespace A; + _a; + return marker1(); +} diff --git a/gdb/testsuite/gdb.cp/nsusing.exp b/gdb/testsuite/gdb.cp/nsusing.exp new file mode 100644 index 00000000000..ef0237d4afd --- /dev/null +++ b/gdb/testsuite/gdb.cp/nsusing.exp @@ -0,0 +1,120 @@ +# Copyright 2008, 2010 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 . + +if $tracelevel then { + strace $tracelevel +} + +set prms_id 0 +set bug_id 0 + +set testfile nsusing +set srcfile ${testfile}.cc +set binfile ${objdir}/${subdir}/${testfile} +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } { + untested "Couldn't compile test program" + return -1 +} + +if [get_compiler_info ${binfile}] { + return -1 +} + + +# Get things started. + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_load ${binfile} + +############################################ +# test printing of namespace imported within +# the function. + +if ![runto_main] then { + perror "couldn't run to breakpoint main" + continue +} + +gdb_test "print _a" "= 1" + +############################################ +# test printing of namespace imported into +# a scope containing the pc. + +gdb_breakpoint [gdb_get_line_number "marker1 stop"] +gdb_continue_to_breakpoint "marker1 stop" + +gdb_test "print _a" "= 1" "print _a in a nested scope" + +############################################ +# Test printing of namespace aliases + +setup_kfail "gdb/7935" "*-*-*" +if ![runto marker2] then { + perror "couldn't run to breakpoint marker2" + continue +} + +gdb_test "print B::a" "= 1" + +############################################ +# Test that names are not printed when they +# are not imported + +gdb_breakpoint "marker3" +gdb_continue_to_breakpoint "marker3" + +# gcc-4-3 puts import statements for aliases in +# the global scope instead of the corresponding +# function scope. These wrong import statements throw +# this test off. This is fixed in gcc-4-4. +if [test_compiler_info gcc-4-3-*] then { setup_xfail *-*-* } + +gdb_test "print _a" "No symbol \"_a\" in current context." "Print _a without import" + +############################################ +# Test printing of individually imported elements + +setup_kfail "gdb/7936" "*-*-*" +if ![runto marker4] then { + perror "couldn't run to breakpoint marker4" + continue +} + +gdb_test "print x" "= 2" + +############################################ +# test printing of namespace imported into +# file scope. + +if ![runto marker5] then { + perror "couldn't run to marker5" + continue +} + +gdb_test "print cc" "= 3" + +############################################ +# test printing of namespace imported into +# file scope. + +if ![runto PQ::marker6] then { + perror "couldn't run to PQ::marker6" + continue +} + +gdb_test "print ox" "No symbol \"ox\" in current context."