The following patch to gp clarifies an error message:
--- gp.pas.orig 2005-11-06 21:06:52.000000000 +0100 +++ gp.pas 2005-11-25 14:48:43.000000000 +0100 @@ -1146,7 +1146,9 @@ else if (Dep.Kind = fk_Program) and (NormalizedKind[Kind] = fk_Unit) then ErrorFile (Dep.SrcName, 'used as a unit, but is a program') else - ErrorFile (Dep.SrcName, 'internal error: language mismatch'); + ErrorFile (Dep.SrcName, 'internal error: language mismatch' + NewLine + + '(this can happen if two source files have the same basename,' + NewLine + + ' e.g. foo.pas and foo.c, which is not a good idea)'); if Kind = fk_CFile then Dep.PBLines := Dep.Lines div CLinesDiv else
Regards,
Adriaan van Os