cbl-gdb issueshttps://gitlab.cobolworx.com/COBOLworx/cbl-gdb/-/issues2023-08-24T15:20:30Zhttps://gitlab.cobolworx.com/COBOLworx/cbl-gdb/-/issues/100Fix COBCD to better handle cobc warning output:2023-08-24T15:20:30ZrdubnerFix COBCD to better handle cobc warning output:@ssobisch describes the problem and suggests a solution:
```
2. the handling of cobc's warning output with mangling the line breaks.
I now see that I've forgot about the easiest and likely most reasonable way to handle this which will a...@ssobisch describes the problem and suggests a solution:
```
2. the handling of cobc's warning output with mangling the line breaks.
I now see that I've forgot about the easiest and likely most reasonable way to handle this which will also make cobcd's and cobc's work easier:
cobc $(all_options_but_output) -E > some-tempfile.i
# and pass stdout/stderr as-is
COBC_GEN_DUMP_COMMENTS=1 \
cobc $(all_options_but_source_and_warnings_and_listing) \
-w -### some-tempfile.i
# as before consume and parse the output, but now without
# checking for warning/note/error
# cobc/gcc as before
This way there's only 1 run with cobc over all sources which won't include codegen, this one can output whatever it wants without breaking cobcd as this only inspects the retrun code; no matter if German umlauts are contained or similar and no matter if cobc changes its output formats.
If there's an error (it will be command line options or COBOL) then cobcd can early exit; otherwise it will call cobc to do codegen only once.
```rdubnerrdubnerhttps://gitlab.cobolworx.com/COBOLworx/cbl-gdb/-/issues/97Implement CI/CD pipeline2024-01-11T21:45:17ZrdubnerImplement CI/CD pipelineIn spite of Simon's (@ssobisch) repeated requests, I have not implemented CI/CD pipeline processing for commits.
That's because I don't know how.
I am not, at the present time, interested in learning; I just don't have the time.
@jklo...In spite of Simon's (@ssobisch) repeated requests, I have not implemented CI/CD pipeline processing for commits.
That's because I don't know how.
I am not, at the present time, interested in learning; I just don't have the time.
@jklowden does know how, so I'll talk to him about it.James K. LowdenJames K. Lowdenhttps://gitlab.cobolworx.com/COBOLworx/cbl-gdb/-/issues/90code generation broken ... at least for aarch64-clang2023-01-16T20:27:50ZSimon Sobischcode generation broken ... at least for aarch64-clangAll tests fail, here's number 2
~~~
test.s:10411:1: error: unassigned file number: 1 for .file directives
^
test.s:10411:1: error: unassigned file number: 2 for .file directives
^
test.s:10411:1: error: unassigned file number: 4 for ....All tests fail, here's number 2
~~~
test.s:10411:1: error: unassigned file number: 1 for .file directives
^
test.s:10411:1: error: unassigned file number: 2 for .file directives
^
test.s:10411:1: error: unassigned file number: 4 for .file directives
^
test.s:10411:1: error: unassigned file number: 5 for .file directives
^
make: *** [Makefile:36: test] Error 1
~~~
And indeed, the generated file does look suspicious:
```asm
.file "test.cbl"
.file 3 "/data/data/com.termux/files"
.file 6 "/data/data/com.termux/files/home/cbl-gdb/tests/test002"
.globl main // -- Begin function main
.p2align 2
.type main,@function
main: // @main
.loc 6 127
.Lfunc_begin0:
.cfi_startproc
// %bb.0:
```
And the reason for this is possibly that the generated file entries that cobcd gets are quite strange:
```asm
.file "test.c"
.file 1 "/data/data/com.termux/files/home/cbl-gdb/tests/test002" "./test.c.l.h"
.file 2 "/data/data/com.termux/files" "usr/include/libcob/common.h"
.file 3 "/data/data/com.termux/files" "usr/lib/clang/15.0.6/include/stddef.h"
.file 4 "/data/data/com.termux/files/home/cbl-gdb/tests/test002" "test.c"
.file 5 "/data/data/com.termux/files/home/cbl-gdb/tests/test002" "./test.c.h"
---
.file 6 "/data/data/com.termux/files/home/cbl-gdb/tests/test002" "test.cbl"
```
So the issues are:
* strangely there may be a space between the folder and the "file" -> cobcd should copy the file entries until end of line
* some assemblers error on missing file numbers, if cobcd just "drops" the "bad" C ones, then it should renumber the entries instead (keeping the order)
[test.adjusted.c](/uploads/3c650c26a8928a5bd734d5eba44dc336/test.c)
[test.original.s](/uploads/87db78a5325d04ef28e24f2bc8368ac2/test.original.s)
[test.adjusted.s](/uploads/bde4ae6060b8604a6e9d5cfaac8555e9/test.adjusted.s)https://gitlab.cobolworx.com/COBOLworx/cbl-gdb/-/issues/71cprint/p my_table should show all of the entries in my _table, up to the limi...2021-11-04T17:19:25Zrdubnercprint/p my_table should show all of the entries in my _table, up to the limit of "show print elements"To avoid explosions of data, I my thought is to expand only explicitly-named table elements.
For example, for
```
01 grandpa
02 dad
03 my_table OCCURS N times
```
cprint/p grandpa will not expand my_table; it'll just sho...To avoid explosions of data, I my thought is to expand only explicitly-named table elements.
For example, for
```
01 grandpa
02 dad
03 my_table OCCURS N times
```
cprint/p grandpa will not expand my_table; it'll just show the first element
cprint/p my_table will expand my_table's elements.rdubnerrdubnerhttps://gitlab.cobolworx.com/COBOLworx/cbl-gdb/-/issues/67[R] DEFINES indicator on cprint/p doesn't appear in Visual Studio Code2021-10-12T03:13:57Zrdubner[R] DEFINES indicator on cprint/p doesn't appear in Visual Studio CodeIn version 4.28, we introduced a [R] suffix on variable names in the cprint/p hierarchical display. But for now that [R] suffix is suppressed in the BuildHierarchicalTree() display routine for machine mode, because the presence of the b...In version 4.28, we introduced a [R] suffix on variable names in the cprint/p hierarchical display. But for now that [R] suffix is suppressed in the BuildHierarchicalTree() display routine for machine mode, because the presence of the bracket causes VSC to throw the variable away. There is, I believe, a regex expression for valid variable names. That expression could probably be edited to allow the bracketed text through. But for now I am not doing it; it's a bit of a headache to find, and test, and then make sure the double-click on variable value to change that value can still be made to work. I am setting it aside for another time.rdubnerrdubner