aboutsummaryrefslogtreecommitdiff
path: root/Tools
diff options
context:
space:
mode:
authorMark Linimon <linimon@FreeBSD.org>2010-01-20 09:08:55 +0000
committerMark Linimon <linimon@FreeBSD.org>2010-01-20 09:08:55 +0000
commitd1c3f4ddd2ee1e9f3bfd7139de4063712afd68f3 (patch)
tree629147a274651c434af856920aadf000079bbcbb /Tools
parent3eaa584dc28d174d902cbdd28c3fddbeddf271fc (diff)
downloadports-d1c3f4ddd2ee1e9f3bfd7139de4063712afd68f3.tar.gz
ports-d1c3f4ddd2ee1e9f3bfd7139de4063712afd68f3.zip
Add some new error cases to handle regressions in -current. (Not yet
analyzed for how much they will slow this script down; consider this a rush-job.) - dirent denotes some change in the usage of dirent.h. - termios denotes the deprecation of <sys/termios.h>. - uname denotes the hiding of the uname symbol. This has been backed out in src so let's hope this case can go away soon. - utmp_x denotes the replacement of utmp.h with utmpx.h. Together these catch ~150 new errors on i386-9. However, there are more that are not caught (second-order effects.)
Notes
Notes: svn path=/head/; revision=248193
Diffstat (limited to 'Tools')
-rwxr-xr-xTools/portbuild/scripts/processonelog14
1 files changed, 14 insertions, 0 deletions
diff --git a/Tools/portbuild/scripts/processonelog b/Tools/portbuild/scripts/processonelog
index 18efa295c0e6..dfe737223dc8 100755
--- a/Tools/portbuild/scripts/processonelog
+++ b/Tools/portbuild/scripts/processonelog
@@ -69,12 +69,26 @@ elif bzgrep -qE "\.(c|cc|cxx|cpp|h|y)[1-9:]+ .+\.h: No such file" $1; then
fi
elif bzgrep -qE '(nested function.*declared but never defined|warning: nested extern declaration)' $1; then
reason="nested_declaration"; tag="nested_declaration"
+# note: must be run before compiler_error
+elif bzgrep -q '#warning "this file includes <sys/termios.h>' $1; then
+ reason="termios"; tag="termios"
+# note: must be run before compiler_error
+elif bzgrep -qE "(#error define UTMP_FILENAME in config.h|error: ._PATH_UTMP. undeclared|error: .struct utmpx. has no member named .ut_name|error: invalid application of .sizeof. to incomplete type .struct utmp|utmp.h> has been replaced by <utmpx.h)" $1; then
+ reason="utmp_x"; tag="utmp_x"
elif bzgrep -qE '(parse error|too (many|few) arguments to|argument.*doesn.*prototype|incompatible type for argument|conflicting types for|undeclared \(first use (in |)this function\)|incorrect number of parameters|has incomplete type and cannot be initialized|error: storage size.* isn.t known)' $1; then
reason="compiler_error"; tag="cc"
elif bzgrep -qE '(ANSI C.. forbids|is a contravariance violation|changed for new ANSI .for. scoping|[0-9]: passing .* changes signedness|lacks a cast|redeclared as different kind of symbol|invalid type .* for default argument to|wrong type argument to unary exclamation mark|duplicate explicit instantiation of|incompatible types in assignment|assuming . on overloaded member function|call of overloaded .* is ambiguous|declaration of C function .* conflicts with|initialization of non-const reference type|using typedef-name .* after|[0-9]: size of array .* is too large|fixed or forbidden register .* for class|assignment of read-only variable|error: label at end of compound statement|error:.*(has no|is not a) member|error:.*is (private|protected)|error: uninitialized member|error: unrecognized command line option)' $1; then
reason="new_compiler_error"; tag="newgcc"
+# XXX MCL a subset of uname?
+# XXX MCL must preceed badc++
+elif bzgrep -qE "error: invalid conversion from .*dirent" $1; then
+ reason="dirent"; tag="dirent"
elif bzgrep -qE '(syntax error before|friend declaration|no matching function for call to|.main. must return .int.|invalid conversion from|cannot be used as a macro name as it is an operator in C\+\+|is not a member of type|after previous specification in|no class template named|because worst conversion for the former|better than worst conversion|no match for.*operator|no match for call to|undeclared in namespace|is used as a type, but is not|error: array bound forbidden|error: class definition|error: expected constructor|error: there are no arguments|error:.*cast.*loses precision|ISO C\+\+ does not support|error: invalid pure specifier)' $1; then
reason="bad_C++_code"; tag="badc++"
+# XXX MCL hopefully this one is only temporary, error has been backed out 20100120
+# XXX MCL must preceed gcc4
+elif bzgrep -qE "(AttributeError: .module. object has no attribute .uname|POSIX::uname not implemented on this architecture|error: redefinition of .*(uname|utsname))" $1; then
+ reason="uname"; tag="uname"
elif bzgrep -qE 'error: (array type has incomplete element type|conflicts with new declaration|expected.*before .class|expected primary expression|extra qualification .* on member|.*has incomplete type|invalid cast from type .* to type|invalid lvalue in (assignment|decrement|increment|unary)|invalid storage class for function|lvalue required as (increment operator|left operand)|.*should have been declared inside|static declaration of.*follows non-static declaration|two or more data types in declaration specifiers|.* was not declared in this scope)' $1; then
reason="gcc4_error"; tag="gcc4"
elif bzgrep -qE '(/usr/libexec/elf/ld: cannot find|undefined reference to|cannot open -l.*: No such file)' $1; then