-# Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2008-2012 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
strace $tracelevel
}
+if { [skip_cplus_tests] } { continue }
+
set testfile "py-template"
set srcfile ${testfile}.cc
set binfile ${objdir}/${subdir}/${testfile}
# Skip all tests if Python scripting is not enabled.
if { [skip_python_tests] } { continue }
-proc test_template_arg {type} {
- global testfile srcdir subdir srcfile binfile
- if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
+proc test_template_arg {exefile type} {
+ global testfile srcdir subdir srcfile
+ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${exefile}" \
executable \
[list debug c++ additional_flags="-DTYPE=$type"]] != "" } {
untested $type
return -1
}
- gdb_load ${binfile}
+ gdb_load ${exefile}
if ![runto_main ] then {
perror "couldn't run to breakpoint"
return
}
# There is no executable code in main(), so we are where we want to be
- gdb_test "print foo" ""
+ gdb_test "print foo" ".*"
gdb_test_no_output "python foo = gdb.history(0)"
# Replace '*' with '\*' in regex.
gdb_test "python print foo.type.template_argument(0)" $t $type
}
-test_template_arg "const int"
-test_template_arg "volatile int"
-test_template_arg "const int &"
-test_template_arg "volatile int &"
-test_template_arg "volatile int * const"
-test_template_arg "volatile int * const *"
-test_template_arg "const int * volatile"
-test_template_arg "const int * volatile * const * volatile *"
+test_template_arg "${binfile}-ci" "const int"
+test_template_arg "${binfile}-vi" "volatile int"
+test_template_arg "${binfile}-cir" "const int &"
+test_template_arg "${binfile}-vir" "volatile int &"
+test_template_arg "${binfile}-vipc" "volatile int * const"
+test_template_arg "${binfile}-vipcp" "volatile int * const *"
+test_template_arg "${binfile}-cipv" "const int * volatile"
+test_template_arg "${binfile}-cipvpcpvp" "const int * volatile * const * volatile *"