Hello again Gaius, due to my lack of
experience with mailing lists I'm afraid I just
recently realized that when attempting to reply to
your response to me, I accidentally replied directly
to your personal email instead of the mailing list.
Due to my email address's domain name, I think that it
probably ended up in your junk/spam folder, my
mistake.
However since then I have installed Debian
and was indeed able to compile the project mostly
without issue, so in hindsight it seems that the
latest GCC sources just aren't too well suited for
macOS (though I'm sure there were quite a few things I
was missing on my end).
So today, the issue/question I had is a bit
different and instead related to the actual compiler
frontend's behavior. One of the first things I
happened to try after the successful compilation was
some features that I made frequent use of in other
languages I have used, that being array/record
constants. I saw from a Modula-2 ISO reference that the
language also supported this via what it calls
"constant constructors". Just to see how the compiler
would respond, I tried assigning a value to some test
constants I made, but to my surprise it didn't
complain and actually replaced its value with the new
one from the program body.
More specifically, assignments to the
constants in the body of the program via a constant
constructor ("constant := TypeName{...}") replaced the
current value, but assignments to individual
components of the array/record didn't actually have an
effect on the values. Running the test program in GDB.
I noticed the main procedure of executable programs
seemed to be named _M2_<program_name>_init,
and was wondering if all array/record constructors
(whether for a constant or not), were being moved into
some sort of pre-"main" area of code. When stepping
through the program, the new/additional assignments to
the constant identifiers via constructors don't appear
in the places they do in the source.
Please pardon me if this is expected
behavior, but I just wanted to ask if this was
considered normal.
Thank you, Guy.