binutils-gdb/gdb/testsuite/gdb.dlang
Iain Buclaw 662659a1a5 Fix classification of `module.type' in D lexer.
The two-tier lexer in gdb/d-exp.y, which resolves fully qualified names
missed a case where `module.type' was not being classified as one token.
And so when the grammar takes over, it matched the remaining tokens
against the rule `TypeExp . IdentifierExp', where we were expecting to
instead match cast expression `( TypeExp ) UnaryExpression'.

Adding a case for TYPE_CODE_MODULE in type_aggregate_p means that
classify_inner_name will get a chance to lookup the symbol.

This was noticed when using `watch -l', and got the rather confusing
response:

    A syntax error in expression, near `) 0x0add4e55'.

So it's been included in the testsuite, along with another test that
does effectively the same expression, but explicitly.

gdb/ChangeLog:

	* d-exp.y (type_aggregate_p): Treat TYPE_CODE_MODULE as being
	aggregate-like.

gdb/testsuite/ChangeLog:

	* gdb.dlang/watch-loc.c: New file.
	* gdb.dlang/watch-loc.exp: New file.
2017-03-30 10:54:54 +02:00
..
circular.c update copyright year range in GDB files 2017-01-01 10:52:34 +04:00
circular.exp update copyright year range in GDB files 2017-01-01 10:52:34 +04:00
debug-expr.exp [D] Fix crash when debug expression enabled. 2017-01-08 11:20:56 +01:00
demangle.exp update copyright year range in GDB files 2017-01-01 10:52:34 +04:00
expression.exp update copyright year range in GDB files 2017-01-01 10:52:34 +04:00
primitive-types.exp update copyright year range in GDB files 2017-01-01 10:52:34 +04:00
properties.exp update copyright year range in GDB files 2017-01-01 10:52:34 +04:00
watch-loc.c Fix classification of `module.type' in D lexer. 2017-03-30 10:54:54 +02:00
watch-loc.exp Fix classification of `module.type' in D lexer. 2017-03-30 10:54:54 +02:00