diff options
author | Mark Linimon <linimon@FreeBSD.org> | 2010-01-20 09:08:55 +0000 |
---|---|---|
committer | Mark Linimon <linimon@FreeBSD.org> | 2010-01-20 09:08:55 +0000 |
commit | d1c3f4ddd2ee1e9f3bfd7139de4063712afd68f3 (patch) | |
tree | 629147a274651c434af856920aadf000079bbcbb /Tools | |
parent | 3eaa584dc28d174d902cbdd28c3fddbeddf271fc (diff) | |
download | ports-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-x | Tools/portbuild/scripts/processonelog | 14 |
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 |