--- jlint-3.0.orig/field_desc.hh +++ jlint-3.0/field_desc.hh @@ -6,6 +6,10 @@ #pragma warning (disable : 4786) #endif +#ifdef __GNUC__ +using namespace std; +#endif + #include "component_desc.hh" #include "utf_string.hh" class const_name_and_type; --- jlint-3.0.orig/functions.hh +++ jlint-3.0/functions.hh @@ -38,6 +38,10 @@ #ifdef __alpha__ #define __VALIST va_list #endif +// so does GNUC +#ifdef __GNUC__ +#define __VALIST va_list +#endif // so does GNUC #ifdef __GNUC__ --- jlint-3.0.orig/inlines.hh +++ jlint-3.0/inlines.hh @@ -5,6 +5,10 @@ #include <assert.h> +#include <assert.h> + +#include <cassert> + inline int unpack2(byte* s) { return (s[0] << 8) + s[1]; } --- jlint-3.0.orig/jlint.cc +++ jlint-3.0/jlint.cc @@ -137,7 +137,7 @@ void format_message(int code, utf_string const& file, int line, __VALIST ap) { - static int loop_id; + static long loop_id; static message_node *first, *last; static char* compound_message; const void* parameter[MAX_MSG_PARAMETERS]; @@ -150,7 +150,7 @@ if (compound_message != NULL && ((loop_id != 0 && ((code != msg_loop && code != msg_sync_loop) - || (int)parameter[2] != loop_id)) + || (long)parameter[2] != loop_id)) || (loop_id == 0 && code != msg_wait_path))) { if (!message_node::find(compound_message)) { @@ -225,7 +225,7 @@ name.as_asciz()); break; case 'd': // integer - dst += sprintf(dst, "%d", (int)parameter[index]); + dst += sprintf(dst, "%ld", (long)parameter[index]); break; default: assert(false/*bad message parameter format*/); @@ -261,7 +261,7 @@ compound_message = strdup(his_buf); first = last = new message_node(msg_buf); if (code != msg_wait) { - loop_id = (int)parameter[2]; + loop_id = (long)parameter[2]; } } else if (!message_node::find(his_buf)) { fprintf(stdout, "%s\n", msg_buf); --- jlint-3.0.orig/method_desc.cc +++ jlint-3.0/method_desc.cc @@ -2714,7 +2714,8 @@ curr_type = curr_cls = cls; caller_method = this; } else { - if (curr->name_and_type->name == 0) { + if (curr->name_and_type == 0 || + curr->name_and_type->name == 0) { curr_cls = cls; } else { curr_cls = curr->cls; --- jlint-3.0.orig/types.hh +++ jlint-3.0/types.hh @@ -31,9 +31,11 @@ #endif #endif +#if 0 #define bool int #define true 1 #define false 0 +#endif #define nobreak