+2016-07-07 Walfred Tedeschi <walfred.tedeschi@intel.com>
+
+ * cp-namespace.c (cp_lookup_bare_symbol): Use language passed as
+ parameter to look for the symbol "this".
+
+
2016-07-06 John Baldwin <jhb@FreeBSD.org>
* h8300-tdep.c (h8300_print_register): Remove extraneous parentheses.
struct block_symbol lang_this;
struct type *type;
- lang_this = lookup_language_this (language_def (language_cplus), block);
+ if (langdef != NULL)
+ lang_this = lookup_language_this (langdef, block);
+
if (lang_this.symbol == NULL)
return null_block_symbol;
+
type = check_typedef (TYPE_TARGET_TYPE (SYMBOL_TYPE (lang_this.symbol)));
/* If TYPE_NAME is NULL, abandon trying to find this symbol.
This can happen for lambda functions compiled with clang++,
+2016-07-07 Walfred Tedeschi <walfred.tedeschi@intel.com>
+
+ * gdb.fortran/derived-types.exp (result_line, result_line_2):
+ New variables.
+ (print this%a, print this%b, print this): New tests.
+ * gdb.fortran/derived-types.f90 (this): New object and
+ initialization.
+
2016-07-06 Simon Marchi <simon.marchi@ericsson.com>
* gdb.ada/arraydim.exp: Remove extra directory level in build
gdb_test "print q%x%c" "\\$\[0-9\]+ = 1"
gdb_test "print q%x%d" "\\$\[0-9\]+ = 2\\.375"
+set result_line "= \\( a = 3.125, x = \\( c = 1, d = 2\\.375 \\),\
+b = 'abcdefg' \\)\r\n$gdb_prompt $"
+
+# Used in case compiler generates an array of characters.
+set result_line_2 " = \\( a = 3.125, x = \\( 1, 2\\.375 \\),\
+b = \\('abcdefg'\\) \\)\r\n$gdb_prompt $"
+
set test "print q"
gdb_test_multiple $test $test {
- -re "\\$\[0-9\]+ = \\( a = 3.125, x = \\( c = 1, d = 2\\.375 \\), b = 'abcdefg' \\)\r\n$gdb_prompt $" {
+ -re $result_line {
pass $test
}
- -re "\\$\[0-9\]+ = \\( a = 3.125, x = \\( 1, 2\\.375 \\), b = \\('abcdefg'\\) \\)\r\n$gdb_prompt $" {
+ -re $result_line_2 {
# Compiler should produce string, not an array of characters.
setup_xfail "*-*-*"
fail $test
}
}
+
+gdb_test "print this%a" " = 3\\.125"
+
+set test "print this%b"
+gdb_test_multiple $test $test {
+ -re " = 'abcdefg'\r\n$gdb_prompt $" {
+ pass $test
+ }
+ -re $result_line_2 {
+ setup_xfail "*-*-*"
+ fail $test
+ }
+}
+
+set test "print this"
+gdb_test_multiple $test $test {
+ -re $result_line {
+ pass $test
+ }
+ -re $result_line_2 {
+ setup_xfail "*-*-*"
+ fail $test
+ }
+}
end type foo
type(foo) :: q
type(bar) :: p
+ type(foo) :: this
p = bar(1, 2.375)
q%a = 3.125
q%b = "abcdefg"
q%x%c = 1
q%x%d = 2.375
- print *,p,q
+ this%a = 3.125
+ this%b = "abcdefg"
+ this%x%c = 1
+ this%x%d = 2.375
+ print *,p,q,this
end program main