aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
authorSanimir Agovic <sanimir.agovic@intel.com>2013-11-20 13:45:36 +0000
committerSanimir Agovic <sanimir.agovic@intel.com>2013-11-20 13:50:14 +0000
commit10d8cbd222af0f56ca41e17a29fbdea46c5dc288 (patch)
treea2c21c8b652e00644e5c814b40ddff08f1391680 /gdb/testsuite
parent6b1141e3f3a7d8303f575caf66347f902f6b07ea (diff)
downloadgdb-10d8cbd222af0f56ca41e17a29fbdea46c5dc288.zip
gdb-10d8cbd222af0f56ca41e17a29fbdea46c5dc288.tar.gz
gdb-10d8cbd222af0f56ca41e17a29fbdea46c5dc288.tar.bz2
test: test eval routines with EVAL_AVOID_SIDE_EFFECTS flag set
Ensure that certain commands (e.g. whatis/ptype) and sizeof intrinsic have no side effects (variables cannot be altered). 2013-11-20 Sanimir Agovic <sanimir.agovic@intel.com> testsuite/ * gdb.base/eval-avoid-side-effects.exp: New test.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r--gdb/testsuite/ChangeLog4
-rw-r--r--gdb/testsuite/gdb.base/eval-avoid-side-effects.exp40
2 files changed, 44 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 560f674..aa25faa 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2013-11-20 Sanimir Agovic <sanimir.agovic@intel.com>
+
+ * gdb.base/eval-avoid-side-effects.exp: New file.
+
2013-11-20 Walfred Tedeschi <walfred.tedeschi@intel.com>
* gdb.arch/i386-mpx.c: New file
diff --git a/gdb/testsuite/gdb.base/eval-avoid-side-effects.exp b/gdb/testsuite/gdb.base/eval-avoid-side-effects.exp
new file mode 100644
index 0000000..da1e36f
--- /dev/null
+++ b/gdb/testsuite/gdb.base/eval-avoid-side-effects.exp
@@ -0,0 +1,40 @@
+# Copyright 2013 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/>.
+
+# Tests to cover evaluate_subexp and others with EVAL_AVOID_SIDE_EFFECTS
+# flag set.
+
+standard_testfile int-type.c
+
+if { [prepare_for_testing ${testfile}.exp $testfile $srcfile] } {
+ return -1
+}
+
+if ![runto_main] {
+ return -1
+}
+
+set sizeof_int [get_sizeof "int" 4]
+
+gdb_test_no_output "set variable x=42" "set variable x=42"
+
+gdb_test "print sizeof ++x" "= ${sizeof_int}" "test sizeof side effects"
+gdb_test "print x" "= 42" "sizeof has no side effects"
+
+gdb_test "ptype ++x" "= int" "test ptype side effects"
+gdb_test "print x" "= 42" "ptype has no side effects"
+
+gdb_test "whatis ++x" "= int" "test whatis side effects"
+gdb_test "print x" "= 42" "whatis has no side effects"