Enables SetArgPointee<>() to accept a string literal; removes a self-assignment warning; teaches gmock doctor to diagnose TTB with Clang; picks up gtest r525.
diff --git a/scripts/gmock_doctor.py b/scripts/gmock_doctor.py
index 18c117f..15e2433 100755
--- a/scripts/gmock_doctor.py
+++ b/scripts/gmock_doctor.py
@@ -459,6 +459,20 @@
r'error: \'(?P<type>.+)\' was not declared in this scope\n'
r'.*error: template argument 1 is invalid\n'
r'.*error: \'.+\' was not declared in this scope')
+ clang_regex_type_of_retval_or_sole_param = (
+ _CLANG_FILE_LINE_RE +
+ r'error: use of undeclared identifier \'(?P<type>.*)\'\n'
+ r'(.*\n)*?'
+ r'(?P=file):(?P=line):(?P=column): error: '
+ r'non-friend class member \'Result\' cannot have a qualified name'
+ )
+ clang_regex_type_of_a_param = (
+ _CLANG_FILE_LINE_RE +
+ r'error: C\+\+ requires a type specifier for all declarations\n'
+ r'(.*\n)*?'
+ r'(?P=file):(?P=line):(?P=column): error: '
+ r'C\+\+ requires a type specifier for all declarations'
+ )
diagnosis = """
In a mock class template, types or typedefs defined in the base class
@@ -473,7 +487,9 @@
[(gcc_4_3_1_regex_type_in_retval, diagnosis % {'type': 'Foo'}),
(gcc_4_4_0_regex_type_in_retval, diagnosis % {'type': 'Foo'}),
(gcc_regex_type_of_sole_param, diagnosis),
- (gcc_regex_type_of_a_param, diagnosis)],
+ (gcc_regex_type_of_a_param, diagnosis),
+ (clang_regex_type_of_retval_or_sole_param, diagnosis),
+ (clang_regex_type_of_a_param, diagnosis % {'type': 'Foo'})],
msg)