Some more info on my own mail, which I mistakenly only send to Ondrej:

Op 13-06-17 om 23:50 schreef Joost van der Sluis:
Op 13-06-17 om 23:22 schreef Ondrej Pokorny:
Joost reported in the Lazarus mailing list today that CodeTools probably miss the FPC define due to an unknown reason and therefore the out parameter isn't parsed properly. I wasn't able to help him. Could you take a look?

I can give some more information. The content of hints, warnings and errors are not shown in the messages-screen. I thought it was unrelated. But I think it's related.

My guess is that the defines are parsed from the compiler-output (-va) But that the compiler-output is not parsed right.

I'm fiddling around in etFPCMsgParser. At first sight I see that the parser looks for 'Warn:' while my compiler outputs: 'Warning:'. But that's not the main issue.

I did not debug the code, only looked briefly. But what I do see is that for some strange reason the compiler-output adds some extra characters. This is an example-output from trunk:

Free Pascal Compiler version 3.1.1 [2017/06/13] for x86_64
Copyright (c) 1993-2017 by Florian Klaempfl and others
Target OS: Linux for x86-64^@
Compiling unit1.pas^@
unit1.pas(8,22) Fatal:^@ Can't find unit FileUtil used by Unit1^@
Fatal:^@ Compilation aborted^@

Maybe that the ^@ (tab?) character is messing things up? I don't see this character in fpc 3.0.0's output.

I'll dig further tomorrow.

The ^@-character actually is #0. The parsing is done using pchar's, which are cut-off at the #0 sign.

I think I'll have to find out why the compiler outputs #0 characters in the middle of strings....

Regards,

Joost.
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus

Reply via email to