Hi KetilO,

I'm trying to set up RadASM to use GreenHills MULTI C/C++ compiler, but I did not managed to solve the error bookmarking. So when the compiler stops with the error message, RadASM says the following:
...
"D:\gh_v850\Projects\Rtu\_sources\ab_srv_schm\SchM.c", line 34: error #169:
          expected a declaration
  ,mhnb,mbvvhb
  ^

"D:\gh_v850\Projects\Rtu\_sources\ab_srv_schm\SchM.c", At end of source: warning #12-D:
          parsing restarts here after previous syntax error

...

Make finished.
Total compile time 17365 ms

How could I set up or to trigger RadASM to "detect" that error line? How does RadASM find those error lines, by only parsing the output text (or are there any ERRORLEVEL checkings in background)?
Note that my Error section looks like the following:

BookMark=3
nAsm=99
Identify=error
Skip=0


Thanks,
bszente
Posted on 2006-03-31 06:55:03 by bszente
Hi bszente

RadASM parses the output to find error lines.
In your case the quoted filename is what causes problems.

Please test if this version of RadASM 2208 works.

KetilO
Posted on 2006-04-01 14:53:59 by KetilO
Hi KetilO,

thanks for the quick reply, I realy appreciate.
Unfortunatelly this build of RadASM gives an Exception Error, when I double click on a C, H or RC file or when it needs to be opened. However a TXT file can be opened. Weird.

I attached a screenshot, and I sent to you by mail the error report to find the problem more easily.

Thanks again,
bszente

Attachments:
Posted on 2006-04-02 13:22:09 by bszente
Forgot to mention. You must install the RadASM 2208 bugtest first (updates raedit control).

KetilO
Posted on 2006-04-02 14:45:46 by KetilO

Forgot to mention. You must install the RadASM 2208 bugtest first (updates raedit control).

Oh, sorry  :oops: I should have known from the name of your zip-file (radasm2208.zip). Now RadASM does not give that exception, but the error bookmarking does not want to start.

Note that, I'm calling the compiler through the meaning of a batch files, like this:


Menu=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
...
7=0,ON,cmd /v:off /c (tool_build\_assemble_file.bat ,$)
8=0,ON,cmd /v:off /c (tool_build\_compile_file.bat ,$)
9=0,ON,cmd /v:off /c (tool_build\_mk_mod_lib.bat ,$)
10=0,ON,cmd /v:off /c (tool_build\_clean_build.bat)
11=0,ON,cmd /v:off /c (tool_build\_build.bat)
12=0,ON,cmd /v:off /c (tool_build\_rebuild.bat)
...

It is working well, all the output is generated, only the error bookmarking does not work.

Here is an example output:
Compiling "asw_stub.c" file...
ccv850 -c -cpu=v850e -list -c -Osize -registermode=22 -DOSREG22 -sda=all -prepare_dispose -passsource -g -dual_debug -no_callt -DSECOND_PASS_COMPILATION -DUSED_RAM_SIZE_ALL_NEAR -DOSEK_VECTOR -ID:\gh_v850\Projects\Rtu\build.tmp -o D:\gh_v850\Projects\Rtu\build.tmp\asw_stub.o asw_stub.c
"D:\gh_v850\Projects\Rtu\_sources\b_std_source\asw_stub.c", line 39: error #77-D:
          this declaration has no storage class or type specifier
  wetwse
  ^

"D:\gh_v850\Projects\Rtu\_sources\ab_std_source\Platform_Types.h", line 53: error #65:
          expected a ";"
  typedef signed char        sint8;          /*        -128 .. +127            */
  ^

"D:\gh_v850\Projects\Rtu\_sources\ab_srv_os_v850fx3\osek.h", line 47: warning #301-D:
          typedef name has already been declared (with same type)
  typedef unsigned char uint8;
                        ^

"D:\gh_v850\Projects\Rtu\_sources\ab_srv_os_v850fx3\osek.h", line 48: warning #301-D:
          typedef name has already been declared (with same type)
  typedef unsigned short uint16;
                        ^

"D:\gh_v850\Projects\Rtu\_sources\ab_srv_os_v850fx3\osek.h", line 49: warning #301-D:
          typedef name has already been declared (with same type)
  typedef unsigned long uint32;
                        ^
...
Make finished.
Total compile time 2484 ms

Should I change the Section variables to a certain special value? What does exactly nAsm and Skip mean? In our case the filename with the absoulte path is between quotation marks, is it ok to let Skip to 0?

I will do a sample little project, with a little exe, that emulates the output of this compiler. Maybe it can help you to test faster the code. Thanks for the effort.
Posted on 2006-04-03 05:07:39 by bszente
Hi bszente

nAsm can be used to inherit methods from another programming language. In your case set nAsm=99. This causes Skip and Identify to be used.
Skip is the number of words to skip before filename is found. In your case Skip=0
Identify is a word that identifies a line with an error. In your case Identify=error

After updating whith 2208 bugtest did you also update with the radasm found in this thread?


I will do a sample little project, with a little exe, that emulates the output of this compiler. Maybe it can help you to test faster the code. Thanks for the effort.

That would definitly make it easier.

KetilO
Posted on 2006-04-03 05:34:53 by KetilO

Identify is a word that identifies a line with an error. In your case Identify=error

Maybe in my case it would be more precise to have 'error #', in order to avoid fake error lines (lines, that contain the word error, but are not error reporting lines).


After updating whith 2208 bugtest did you also update with the radasm found in this thread?

Yes, of course.

I made that testing work area, with the "simulated" compiler results.
Please copy gh.ini to your RadASM folder.

Please extract the gh folder directly into your D:\, it contains the test project (gh\Projects\ghtest), and in \bin there is the fake compiler for generating the output.

I added also the VC++ RadASM project of the fake compiler (ghc), in order to not to waste your time, if you want to change something.

I made only a single entry in the Make menu: rebuild, which calls the batch file, that executes ghc.exe
Attachments:
Posted on 2006-04-03 05:52:03 by bszente
Hi

The main reason for this not working at all is that you don't specify any FileToDelete/CheckExistsOnExit in the command line.
If the compiler produces an exe file you must specify thet in the command.


0=.rap
1=.pcf
2=.850
3=.c
4=.h
5=.ld
6=.txt
7=.exe


Files=1
Folders=1
MenuMake=1
;x=FileToDelete/CheckExistsOnExit,
;(O)utput/(C)onsole/0,Command,
;MakeFile1[,MakeFile2[,MakeFile3...]]
1=7,ON,cmd /v:off /c (tool_build\_rebuild.bat)

Also there was a bug in RadASM handling quoted filenames.

KetilO
Attachments:
Posted on 2006-04-03 08:12:43 by KetilO
Hi KetilO,


this is really awesome. It's working perfectly. I can double click even on the warnings, and it jumps to the correct place.


The main reason for this not working at all is that you don't specify any FileToDelete/CheckExistsOnExit in the command line.

Thanks for pointing this out... I forgot to set this.

Thank you very much, KetilO.
Posted on 2006-04-03 09:03:58 by bszente
Hi KetilO,

Is it possible to set up RadASM to jump automatically to the first error in the file (first error bookmark) after the compilation?

Regards,
bszente
Posted on 2006-04-04 02:27:01 by bszente
RadASM will jump to the last error found. Pressing Shift+F3 (next error) will wrap to rhe first.

KetilO
Posted on 2006-04-04 03:23:49 by KetilO

RadASM will jump to the last error found.

I was thinking maybe it would be better to jump directly to the first error line. Usually the first error induce consecutive error messages, thus the programmer needs to press Shift+F3 almost every time.

This is only a recommendation. Maybe you can include this in the final 2.2.0.8 release, if you think that this feature is really usefull.

BTW, the error bookmarking works like charm. I'm very happy with it.
Posted on 2006-04-04 08:50:34 by bszente