Skip to content

Commit caeacd5

Browse files
committed
Merge remote-tracking branch 'upstream/master' into gc4
2 parents 5e5be0c + 8706d4e commit caeacd5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+4475
-2759
lines changed

ChangeLog

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,35 @@
11

2+
2024-09-19 David Declerck <[email protected]>
3+
4+
* configure.ac: replace AC_ARG_VAR by AC_SUBST where appropriate
5+
26
2023-02-25 Ron Norman <[email protected]>
37

4-
* configure.ac: Add check for sys/time.h
8+
* configure.ac: Add check for sys/time.h
9+
10+
2023-02-19 Simon Sobisch <[email protected]>
11+
12+
* configure.ac: minor adjustment for bdb library lookup
13+
14+
2023-02-10 Simon Sobisch <[email protected]>
15+
16+
* configure.ac: fixed adjusted hack for AIX 64bit OBJECT_MODE
17+
and added 32bit pendant
18+
* configure.ac, NEWS: updated for 3.2rc-2
19+
20+
2023-02-09 Simon Sobisch <[email protected]>
21+
22+
* configure.ac: : search for json-c header in its common
23+
default directory json-c/json.h
524

625
2023-01-18 Simon Sobisch <[email protected]>
726

827
* configure.ac, NEWS, gnucobol.spec: updated for 3.2rc-1
928

29+
2023-01-16 Simon Sobisch <[email protected]>
30+
31+
* configure.ac: adjusted hack for AIX 64bit OBJECT_MODE
32+
1033
2023-01-14 Simon Sobisch <[email protected]>
1134

1235
* configure.ac: fix to use pdcurses when libcurses was verified

NEWS

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,11 @@ Open Plans:
280280
be reported and recovered from. This is configurable with option
281281
`missing-period`.
282282

283+
If not specified, the compiler tries to automatically recognize the format,
284+
using either fixed or free, depending on column 7 in the first non-space
285+
line. This feature can be disabled by setting the format manually
286+
with `-free`, `-fixed` or `-fformat`.
287+
283288
** the new -febcdic-table option enables one to specify the
284289
translation table used when dealing with EBCDIC codeset;
285290
these translation tables are stored as new configuration files with
@@ -324,9 +329,13 @@ Open Plans:
324329
** the option -g does not longer imply -fsource-location; but it auto-includes
325330
references to the COBOL-paragraphs to further ease source level debugging
326331

332+
** -fsource-location generates source references to copyboooks in DATA
333+
DIVISION, enabling to inspect the initial VALUE setting as well as
334+
"list"ing those copybooks with a source level debugger
335+
327336
** new flag -fstack-extended (implied with --debug and --dump) to include
328337
the origin of entrypoints and PERFORM, this is used for the internal
329-
stack trace on abort and can be used for source level debugging
338+
stack trace on abort and can be used for improved source level debugging
330339

331340
** new options to ensure structured code-flow:
332341
-fsection-exit-check to ensure sections don't "fall through" (are always
@@ -445,12 +454,14 @@ Open Plans:
445454
as well as during debugging were extended, for example each executed WHEN,
446455
VARYING and UNTIL phrases are now seen
447456

457+
** condition-names are made available for source-level debugging
458+
448459
** cobc's parsing time was significantly reduced for big programs
449460

450461
** execution times were significantly reduced for the following:
451462
INSPECT that use big COBOL fields (multiple KB)
452-
MOVE and comparisions (especially with enabled runtime checks, to
453-
optimize those a re-compile is needed)
463+
MOVE and comparisions in general (especially with enabled runtime
464+
checks, to optimize those a re-compile is needed)
454465
CALL data-item, and first time for each CALL
455466
ACCEPT DATE/TIME/DAY, most if numeric items are accepted
456467
datetime related FUNCTIONs

build_aux/ChangeLog

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11

2+
2023-02-06 Simon Sobisch <[email protected]>
3+
4+
* pre-inst-env.in: export COB_ON_CYGWIN for testsuite checks
5+
26
2023-01-21 Simon Sobisch <[email protected]>
37

48
* pre-inst-env.in: prefer config.status replacement over environment var

build_aux/pre-inst-env.in

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,13 @@ export COB_CONFIG_DIR COB_COPY_DIR
6565
export LD_LIBRARY_PATH DYLD_LIBRARY_PATH SHLIB_PATH LIBPATH
6666
export COB_LIBRARY_PATH
6767

68+
# ensure we don't execute windows paths within programs generated by cygwin
69+
# by passing a hint
70+
if test "$OSTYPE" = "cygwin"; then
71+
COB_ON_CYGWIN=1
72+
export COB_ON_CYGWIN
73+
fi
74+
6875
# not robust check, but better than none
6976
if test "x${BASH_SOURCE}" != "x" -a "${BASH_SOURCE}" != "$0"; then
7077
echo "This script should not be sourced but called instead!"

build_windows/config.h.in

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -589,6 +589,16 @@
589589
/* #undef HAVE_ISFINITE */
590590
#endif
591591

592+
/* Define to 1 if you have the <json-c/json.h> header file. */
593+
#if CONFIGURED_JSON == JSON_C
594+
#define HAVE_JSON_C_JSON_H 1
595+
#else
596+
/* #undef HAVE_JSON_C_JSON_H */
597+
#endif
598+
599+
/* Define to 1 if you have the <json.h> header file. */
600+
/* #undef HAVE_JSON_H */
601+
592602
/* Define to 1 if you have the <isintstd.h> header file. */
593603
#if CONFIGURED_ISAM == DISAM
594604
#define HAVE_ISINTSTD_H 1
@@ -789,13 +799,6 @@
789799
/* Define to 1 if you have the <sys/types.h> header file. */
790800
#define HAVE_SYS_TYPES_H 1
791801

792-
/* Define to 1 if you have the <sys/wait.h> header file. */
793-
#if defined(__ORANGEC__)
794-
#define HAVE_SYS_WAIT_H 1
795-
#else
796-
/* #undef HAVE_SYS_WAIT_H */
797-
#endif
798-
799802
/* Has timezone variable */
800803
/* note: MSC and ORANGEC have it as _timezone */
801804
#define HAVE_TIMEZONE 1

cobc/ChangeLog

Lines changed: 122 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@
1818
* typeck.c (cb_emit, cb_emit_list): changed from defines to inline
1919
functions, now returning the tree that was emitted
2020

21+
2023-09-01 Simon Sobisch <[email protected]>
22+
23+
* error.c, cobc.c (print_program_trailer), flag.def:
24+
implemented -fmax-errors=0 as unlimited
25+
2126
2023-06-02 Simon Sobisch <[email protected]>
2227

2328
* tree.h (cb_file), parser.y: organization and access_mode as enums
@@ -40,6 +45,35 @@
4045
* typeck.c: Check for small integer for add/subtruct and use
4146
cob_add_int/cob_sub_int as the speed in this case was improved
4247

48+
2023-02-24 Simon Sobisch <[email protected]>
49+
50+
* codegen.c (output_initial_values): drop wrong init comment
51+
* field.c (copy_into_field): set EXTERNAL name if missing
52+
* pplex.l, scanner.l: dropped extra line breaks before area_a token
53+
* pplex.l (ppinput): insert "preparse area_a token" in column 1 instead
54+
of column 2 to fix terminal-format support and insert it before
55+
newlines are added to the beginning of the buffer
56+
57+
2023-02-21 Simon Sobisch <[email protected]>
58+
59+
* codegen.c, flag.def [COBC_HAS_CUTOFF_FLAG]: fix compile errors,
60+
output -fif-cutoff to help when available
61+
62+
2023-02-20 Nicolas Berthier <[email protected]>
63+
64+
* scanner.l, config.def: Add support for EBCDIC symbolic characters in
65+
alphanumeric literals, which is a GCOS-specific extension; add new
66+
configuration option ebcdic-symbolic-characters
67+
* scanner.l, pplex.l: detect and issue a warning when EBCDIC
68+
symbolic character strings include extraneous separators
69+
70+
2023-02-20 Fabrice Le Fessant <[email protected]>
71+
72+
* scanner.l (read_literal): refactor to use enum cb_literal_type
73+
instead of a char* for the type of literal
74+
* pplex.l: allow REPLACE between Gcos CONTROL DIVISION and
75+
the IDENTIFICATION DIVISION
76+
4377
2023-02-19 Ron Norman <[email protected]>
4478

4579
* cobc.c,cobc.h: Added cb_max_binary to hold max digits allowed in binary
@@ -49,7 +83,76 @@
4983
* tree.c: Change to use cb_max_binary instead of constant
5084
* typeck.c: Change to use cb_max_binary instead of constant
5185

52-
2023-01-23 David Declerck <[email protected]>
86+
2023-02-10 Simon Sobisch <[email protected]>
87+
88+
* cobc.c (clean_up_intermediates): fix missing move of temporary files
89+
when --save-temps=dir is used in combination with -g
90+
* field.c (cb_build_field_tree), tree.h, parser.y: pass level number as
91+
integer, not as cb_tree
92+
93+
2023-02-09 Simon Sobisch <[email protected]>
94+
95+
* typeck.c (validate_alphabet): slightly rewritten to fix compiler warnings
96+
* config.c, pparse.y (ppp_replace_list_add), reserved.c (is_invalid_word),
97+
tree.c, tree.h, typeck.c: minor adjustments to fix compiler warnings
98+
* field.c (validate_multi_value, validate_elem_value),
99+
parser.y (setup_external_definition): fixed analyzer warnings by switching
100+
"for" (hint at "possibly NULL" at start) to "while"
101+
102+
2023-02-08 Simon Sobisch <[email protected]>
103+
104+
* cobc.c (rep_name_list): elide PICTURE string in symbol listing
105+
when too long (also fixing a possible SIGSEGV on WIN32)
106+
* cobc.h: fixed prototype for cobc_set_listing_header_code,
107+
cobc_get_margin_a, cobc_get_margin_b
108+
* cobc.c: remove trailing slash from -I and -L as those break some
109+
tab-completed command lines and -MD generation
110+
* cobc.c [_WIN32, DOS]: replace forward slash to backslash for -I
111+
fixing -MD generation on mingws/msys environments
112+
* pplex.l (ppcopy_find_file, ppcopy): replace slash to match system and
113+
always place name in buffer to allow this
114+
115+
2023-02-01 Simon Sobisch <[email protected]>
116+
117+
* parser.y (rep_name_list): fixed error handling loop
118+
119+
2023-01-30 Simon Sobisch <[email protected]>
120+
121+
* field.c (copy_into_field, copy_into_field_recursive): fix missing set
122+
of flag_is_pointer, fixing TYPEDEF + SAME AS with pointer types
123+
* parser.y, reserved.c: add DISPLAY-1 as PENDING,
124+
actually pass NATIONAL usage if specified
125+
* field.c (compute_size), tree.c (cb_tree_type): handle CB_USAGE_NATIONAL
126+
* parser.y, reserved.c: add DATA-POINTER and FUNCTION-POINTER as PENDING
127+
* cobc.c (set_picture): output pointer-type in listing if specified
128+
* parser.y (usage_clause_screen_report), typeck.c (validate_usage): have
129+
REPORT and SCREEN section only expecting the possibly USAGEs instead all
130+
removing the need to check for bad USAGE later
131+
132+
2023-01-28 Simon Sobisch <[email protected]>
133+
134+
* codeoptim.c: adjusted inline functions (cob_cmp_packed_int,
135+
cob_get_packed_int) to use register types and less intermediate values
136+
137+
2023-01-28 Fabrice Le Fessant <[email protected]>
138+
139+
* cobc.c (main): initialize cb_config_text_column to 72 to avoid a
140+
race condition in config files.
141+
* pplex.l (ppopen): try to autodetect the format of a file after
142+
checking the BOM of a file
143+
* pplex.l (cobc_set_source_format): add new format name "AUTO" to
144+
activate auto-detection of file format
145+
146+
2023-01-26 Simon Sobisch <[email protected]>
147+
148+
* codegen.c: generate field offsets and indexes as long long to
149+
fix overflow in (actually unsupported) access to huge tables
150+
* cobc.c (process_env_copy_path): changed to do getenv itself and
151+
to output ignored entries when running verbose
152+
* cobc.c (process_command_line): output ignored -I and -L options
153+
when running verbose
154+
155+
2023-01-23 David Declerck <[email protected]>
53156

54157
FR #429: option to specify conversion table via translation table file
55158
* cobc.c, flag.def, cobc.h: handle external table for "ebcdic-table"
@@ -69,6 +172,23 @@
69172
out of bounds
70173
* codeoptim.c: Fix cob_check_subscript_inline for min subscript value
71174

175+
2023-01-19 Simon Sobisch <[email protected]>
176+
177+
* help.c (cobc_print_usage): fixed msgid to match bin/cobcrun.c
178+
* flag.def: use correct option names in help output
179+
* config.def: fixed typos and spacing in msgids
180+
* flag.def: removed duplicated msgid - those are printed in help.c only
181+
* typeck.c (cb_emit_goto_entry), tree.h, parser.y: dropped duplicated
182+
function and msgid, using cb_emit_goto instead
183+
* parser.y (_goto_depending), typeck.c (cb_emit_goto): check via use of
184+
numeric_identifier in the parser instead of postponed checking
185+
* parser.y (assign_clause), typeck.c (cb_check_numeric_value,
186+
cb_validate_collating, validate_assign_name,
187+
cb_check_integer_value, error_if_not_int_field_or_has_pic_p):
188+
dropped very similar msgids using standard ones for the checks
189+
* tree.c (get_category_from_arguments, get_number_in_parentheses): msgid
190+
related changes
191+
72192
2023-01-18 Simon Sobisch <[email protected]>
73193

74194
* parser.y (cb_default_colseq, build_default_colseq, setup_default_colseq):
@@ -596,7 +716,7 @@
596716
FR #360 AREACHECK
597717
FR #309 raise warnings/errors when some periods are missing
598718
* config.def: add dialect options areacheck and missing-period
599-
* pplex.l, scanner.l, parser.y: check for empty Area A, and use a
719+
* pplex.l, scanner.l, parser.y: check for empty Area A, and use a set of
600720
dedicated *_IN_AREA_A tokens to detect missing periods and incorrect
601721
use of Area A
602722
* pplex.l, scanner.l, parser.y: support AREACHECK and NOAREACHECK
@@ -7413,12 +7533,6 @@
74137533

74147534
* Report Writer module
74157535

7416-
201?-??-?? Sergey Kashyrin <[email protected]>
7417-
7418-
* codeoptim.c : Fixed bug in COB_ADD_PACKED_INT.
7419-
Computing COMP-3 failed in MSVC-build versions,
7420-
in output_storage() calls '%' should be '%%'.
7421-
74227536
2012-05-09 Simon Sobisch <[email protected]>
74237537

74247538
* cobc.c: Added conversion for enabling options in WIN style

0 commit comments

Comments
 (0)