• Re: bart cc32n.c

    From bart@21:1/5 to Paul Edwards on Fri Jan 26 11:04:34 2024
    On 26/01/2024 10:16, Paul Edwards wrote:
    Hi Bart (or anyone else interested)

    (and hopefully this doesn't start a 3 month
    long thread about ... what?)


    You posted a flavor of cc64.c called cc32n.c,
    which is available from http://pdos.org/cc32n.c

    My understanding is that this can be compiled
    with 32-bit gcc and produce a 32-bit executable
    that produces 64-bit code.

    The instructions say to compile with gcc or tcc.
    I tried with gcc 3.2 from cygwin. I also tried
    using visual studio 2005.

    This must be a pretty old program, as I haven't supported a 32-bit C
    target for years.

    I can't remember how much testing I did on it. At the moment, my gcc
    (13.2.0) can compile it but can't link a 32-bit program.

    Only TCC can produce an executable. Both gcc and tcc need the -m32
    option as the versions I have default to 64 bits. Neither show those
    warnings.

    But when I produce c32.exe, that crashes compiling hello.c using -E, -S,
    -c or -exe (-exe is not viable anyway, as this 32-bit c32.exe needs to
    load a 64-bit msvcrt.dll).

    It does however build your minimal program:

    c:\cx>c32 -c world
    Compiling world.c to world.obj

    c:\cx>gcc world.obj

    c:\cx>a
    hello, world

    I don't get the error about '0' exceeding some bounds.

    Note that world.obj contains 64-bit code and gcc turns it into a 64-bit program.

    I wouldn't really trust this version at all. Those 32-bit pointer fields
    in those structs, with or without 'pack(1)', look a little dubious.

    If you like, I can spend an hour or two working with this C code trying
    to find the cause of the crashing, but when it's built with my 'tcc -m32'.

    Your gcc 3.2 appears to produce different behaviour. I can't test with
    that unless you can make that available somehow. But I expect that gcc
    3.2 is not a single EXE like the stuff I do, so that is not so easy.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From bart@21:1/5 to Paul Edwards on Fri Jan 26 11:08:54 2024
    On 26/01/2024 10:57, Paul Edwards wrote:
    On 26/01/24 18:53, Janis Papanagnou wrote:
    On 26.01.2024 11:16, Paul Edwards wrote:
    Hi Bart (or anyone else interested)

    (and hopefully this doesn't start a 3 month
    long thread about ... what?)

    Looks like a support question for a piece of proprietary code.

    It's as far from proprietary as possible - it's
    public domain. Without the hassle of having to
    wait for the author to die and then waiting
    another 70 years for him to properly decompose.

    Why don't you contact the author or issue a bug report?

    It's public domain. You're the owner as much as
    anyone else. And if you think it's a bug, then
    I've just given you a bug report.

    JP and I had an argument so he (I assume) has it in for me.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Janis Papanagnou@21:1/5 to Paul Edwards on Fri Jan 26 11:53:42 2024
    On 26.01.2024 11:16, Paul Edwards wrote:
    Hi Bart (or anyone else interested)

    (and hopefully this doesn't start a 3 month
    long thread about ... what?)

    Looks like a support question for a piece of proprietary code.

    Why don't you contact the author or issue a bug report?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From bart@21:1/5 to bart on Fri Jan 26 13:51:08 2024
    On 26/01/2024 11:04, bart wrote:
    On 26/01/2024 10:16, Paul Edwards wrote:

    If you like, I can spend an hour or two working with this C code trying
    to find the cause of the crashing, but when it's built with my 'tcc -m32'.


    It turned out there wasn't much of a problem: my hello.c used __DATE__
    and __TIME__, which it didn't like, so I just took those out. (If your
    stuff uses them, I will need to look again.)

    Otherwise most programs work using -S -E -c options.

    So, I take it the main problem is the 'exceeding word32 value' error?

    That is due to this code around line 31865 in cc32n.c:


    if (!((((i64)-2147483648 <= value) && (value <=
    (i64)((u64)4294967295u))))) {
    ...
    ax_lib_gerror((byte*)"1:exceeding word32 value");
    };


    You can simply comment out this block. But I suspect that if there's a
    problem with that 4294967295 value, it will manifest itself in other places.

    This is also the value that your gcc complained of, but those I think
    didn't have that 'u' suffix. (Maybe adding that will shut it up.)

    The intention of this bit of code is to allow values in the range
    i32.min to u32.max (not i32.max), to detect definitely rogue values. In
    this machine-generated assembly, it should not be needed.

    (I downloaded your PDOS stuff, but that had various issues, eg. gccwin compiled, but produced no output. The a.exe that was already there,
    expected a CYGWIN environment.

    So there's a lot of rabbit holes there that I would rather not go down.)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Lurndal@21:1/5 to bart on Fri Jan 26 15:36:42 2024
    bart <bc@freeuk.com> writes:
    On 26/01/2024 10:57, Paul Edwards wrote:
    On 26/01/24 18:53, Janis Papanagnou wrote:
    On 26.01.2024 11:16, Paul Edwards wrote:
    Hi Bart (or anyone else interested)

    (and hopefully this doesn't start a 3 month
    long thread about ... what?)

    Looks like a support question for a piece of proprietary code.

    It's as far from proprietary as possible - it's
    public domain. Without the hassle of having to
    wait for the author to die and then waiting
    another 70 years for him to properly decompose.

    Why don't you contact the author or issue a bug report?

    It's public domain. You're the owner as much as
    anyone else. And if you think it's a bug, then
    I've just given you a bug report.

    JP and I had an argument so he (I assume) has it in for me.


    Perhaps, yet it is still off-topic for comp.lang.c.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From bart@21:1/5 to Scott Lurndal on Fri Jan 26 15:49:01 2024
    On 26/01/2024 15:36, Scott Lurndal wrote:
    bart <bc@freeuk.com> writes:
    On 26/01/2024 10:57, Paul Edwards wrote:
    On 26/01/24 18:53, Janis Papanagnou wrote:
    On 26.01.2024 11:16, Paul Edwards wrote:
    Hi Bart (or anyone else interested)

    (and hopefully this doesn't start a 3 month
    long thread about ... what?)

    Looks like a support question for a piece of proprietary code.

    It's as far from proprietary as possible - it's
    public domain. Without the hassle of having to
    wait for the author to die and then waiting
    another 70 years for him to properly decompose.

    Why don't you contact the author or issue a bug report?

    It's public domain. You're the owner as much as
    anyone else. And if you think it's a bug, then
    I've just given you a bug report.

    JP and I had an argument so he (I assume) has it in for me.


    Perhaps, yet it is still off-topic for comp.lang.c.

    It is about C and compiling C.

    I understand that is not quite as on-topic as posting chunks of COBOL
    and Algol68, for that I'm sorry.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Brown@21:1/5 to Paul Edwards on Fri Jan 26 17:33:35 2024
    On 26/01/2024 11:57, Paul Edwards wrote:
    On 26/01/24 18:53, Janis Papanagnou wrote:
    On 26.01.2024 11:16, Paul Edwards wrote:
    Hi Bart (or anyone else interested)

    (and hopefully this doesn't start a 3 month
    long thread about ... what?)

    Looks like a support question for a piece of proprietary code.

    It's as far from proprietary as possible - it's
    public domain. Without the hassle of having to
    wait for the author to die and then waiting
    another 70 years for him to properly decompose.

    Why don't you contact the author or issue a bug report?

    It's public domain. You're the owner as much as
    anyone else. And if you think it's a bug, then
    I've just given you a bug report.


    It is public domain, but it is software written solely by Bart, and used (AFAIK) only by you and Bart, and it's mainly of interest to you two.
    It seems perfectly fair to use bcc as an example of a C compiler in
    posts in c.l.c., but details of bugs or development of it do not belong
    here. We do not normally discuss bugs in gcc or clang, two open source
    C compilers of vastly more interest to vastly more people than bcc.
    Discussions of the details of bcc are similarly off-topic.

    I don't know if Bart has the project on some hosting site (github,
    sourceforge, etc.), but if so, then that would be the appropriate place
    for discussing issues. If not, and there is no dedicated group or
    mailing list, then direct email would seem the right way to go.

    Posting here would be appropriate if it is something strictly C related
    - perhaps a question about the implementation of somewhat unusual code constructs where you can't figure out the correct rules according to the standards.

    So think - if this were about gcc rather than bcc, would you post it
    here? If not, then don't post it here.

    And no, none of us are "owners" of the software in any sense of that
    word. We did not buy it or receive it in other ways, we did not create
    it, we are not responsible for it or its uses, we cannot sell it or
    otherwise transfer ownership of it. Bart is the original owner - there
    are no other owners.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kaz Kylheku@21:1/5 to David Brown on Fri Jan 26 17:13:43 2024
    On 2024-01-26, David Brown <david.brown@hesbynett.no> wrote:
    I don't know if Bart has the project on some hosting site (github,

    Bart ... git ... think about it. :)

    --
    TXR Programming Language: http://nongnu.org/txr
    Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
    Mastodon: @Kazinator@mstdn.ca

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From bart@21:1/5 to David Brown on Fri Jan 26 18:00:35 2024
    On 26/01/2024 16:33, David Brown wrote:
    On 26/01/2024 11:57, Paul Edwards wrote:

    Posting here would be appropriate if it is something strictly C related
    - perhaps a question about the implementation of somewhat unusual code constructs where you can't figure out the correct rules according to the standards.

    This is extraordinary.

    For the past month the discussion here has been about everything under
    the sun, except actual C.

    For me it was refresing in this thread to deal with some actual,
    concrete, real-life C code, and some real bugs (here, possibly within
    gcc 3.2).

    But there have so far been 4 people posting in this thread who have
    nothing to say on the topic on hand, other than complain about
    topicality (I'm not sure what KK's post was about, it looked like an
    insult).

    Meanwhile, just JP has been talking about or posting examples of Ada,
    Eiffel, COBOL, C++, Algol and Shell. I've struggled to see any posts
    from JP with even one line of C code. Others have talked about Python or
    posted makefile scripts or discussed Scandinavian heritage.

    So think - if this were about gcc rather than bcc, would you post it
    here?  If not, then don't post it here.

    As noted above, it might well turn out to be a gcc bug in an old version
    of it.

    And no, none of us are "owners" of the software in any sense of that
    word.  We did not buy it or receive it in other ways, we did not create
    it, we are not responsible for it or its uses, we cannot sell it or
    otherwise transfer ownership of it.  Bart is the original owner - there
    are no other owners.

    This was a program of transpiled C which I put into the public domain. I
    don't have copies, and Github was only used as a one-off distribution
    method. The product is not supported.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From bart@21:1/5 to bart on Fri Jan 26 18:53:51 2024
    On 26/01/2024 13:51, bart wrote:
    On 26/01/2024 11:04, bart wrote:
    On 26/01/2024 10:16, Paul Edwards wrote:

    If you like, I can spend an hour or two working with this C code
    trying to find the cause of the crashing, but when it's built with my
    'tcc -m32'.


    It turned out there wasn't much of a problem: my hello.c used __DATE__
    and __TIME__, which it didn't like, so I just took those out. (If your
    stuff uses them, I will need to look again.)

    Otherwise most programs work using -S -E -c options.

    So, I take it the main problem is the 'exceeding word32 value' error?

    That is due to this code around line 31865 in cc32n.c:


     if (!((((i64)-2147483648 <= value) && (value <= (i64)((u64)4294967295u))))) {
         ...
         ax_lib_gerror((byte*)"1:exceeding word32 value");
     };


    If this is an issue with gcc 3.2, it should fail this program too:

    --------------------
    #include <stdio.h>

    typedef long long int i64;
    typedef unsigned long long int u64;

    int main(void) {
    i64 value=0;

    if (!(((i64)-2147483648 <= value) && (value <=
    (i64)(u64)4294967295u))) {
    printf("%lld is out of range\n", value);
    }
    --------------------
    }

    With a modern compiler this program passes with no output, which is the intended behaviour.

    However if I compile with gcc 13.2.0 using:

    gcc -std=c89 c.c

    then it says:

    c.c:9:5: warning: this decimal constant is unsigned only in ISO C90
    9 | if (!(((i64)-2147483648 <= value) && (value <= (i64)(u64)4294967295u))) {
    | ^~

    Running it shows:

    0 is out of range.

    The compiler message is like the ones in your OP, in this case the
    culprit is that first number -2147483648.

    I'm not quite how to fix this, perhaps the C experts here, if they can
    deign to deal with an actual C issue for a change, will have suggestions.

    As I said, you can just try commenting it out, but I don't think ATM
    that it's a bug in my cc32n.c program.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Brown@21:1/5 to bart on Fri Jan 26 20:35:53 2024
    On 26/01/2024 19:00, bart wrote:
    On 26/01/2024 16:33, David Brown wrote:
    On 26/01/2024 11:57, Paul Edwards wrote:

    Posting here would be appropriate if it is something strictly C
    related - perhaps a question about the implementation of somewhat
    unusual code constructs where you can't figure out the correct rules
    according to the standards.

    This is extraordinary.

    For the past month the discussion here has been about everything under
    the sun, except actual C.


    A lot of it was off-topic, yes. But a lot of it was at least of
    interest to a number of people here.

    You are free to complain that people have been talking too much about
    COBOL, C++, or whatever - and that would be a valid complaint, and
    something that people in the group should respect.

    Two wrongs, however, do not make a right.

    For me it was refresing in this thread to deal with some actual,
    concrete, real-life C code, and some real bugs (here, possibly within
    gcc 3.2).

    But this thread is not talking about real-life C code. It is talking
    about a real-life C /compiler/. That is different.

    If the OP was posting some C code and asking "what's wrong with this?",
    so that we could look at the C code and help find problems with the C,
    it would be on-topic. But he is posting error messages from a
    compilation - he is having trouble with /tools/, not /C/.

    Can you see that this is different?


    But there have so far been 4 people posting in this thread who have
    nothing to say on the topic on hand, other than complain about
    topicality (I'm not sure what KK's post was about, it looked like an
    insult).

    I /did/ have something to say. I gave the OP suggestions about better
    ways to get help with his problem that is not really c.l.c material. If
    your project is on github, sourceforge, or any similar platform, then discussing the issue there may help more people, and may also help grow
    a community around it since potential users will see it as active. It
    helps everyone.

    It is not that I don't want the OP to get things working - it is simply
    that this is not the best place for such help.


    So think - if this were about gcc rather than bcc, would you post it
    here?  If not, then don't post it here.

    As noted above, it might well turn out to be a gcc bug in an old version
    of it.


    And posting about that would be off-topic too. If it was a particularly interesting bug, or particularly dangerous, or a bug that had lasted
    from gcc 3.2 to current versions (which could make it interesting /and/ dangerous), then it might be of interest to many people here and
    therefore worth posting even if it is technically off-topic.

    But there are nearly a hundred thousand bugs or issues registered for
    gcc (including duplicates, non-bugs, etc. - everything in the gcc
    bugzilla database). Posting about all these here would be absurd.

    And no, none of us are "owners" of the software in any sense of that
    word.  We did not buy it or receive it in other ways, we did not
    create it, we are not responsible for it or its uses, we cannot sell
    it or otherwise transfer ownership of it.  Bart is the original owner
    - there are no other owners.

    This was a program of transpiled C which I put into the public domain. I don't have copies, and Github was only used as a one-off distribution
    method. The product is not supported.


    None of that makes it likely that c.l.c. is a good place to talk about
    the compilation issues the OP is having.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Janis Papanagnou@21:1/5 to Paul Edwards on Fri Jan 26 21:42:16 2024
    On 26.01.2024 11:57, Paul Edwards wrote:
    On 26/01/24 18:53, Janis Papanagnou wrote:
    On 26.01.2024 11:16, Paul Edwards wrote:
    Hi Bart (or anyone else interested)

    (and hopefully this doesn't start a 3 month
    long thread about ... what?)

    Looks like a support question for a piece of proprietary code.

    It's as far from proprietary as possible - it's
    public domain. [...]

    You are right, the choice of that word was not appropriate.


    Why don't you contact the author or issue a bug report?

    It's public domain. You're the owner as much as
    anyone else. And if you think it's a bug, then
    I've just given you a bug report.

    No, you are wrong, I'm not the owner of this piece of... code.

    If someone makes a big heap of fecal in a public park, would
    you think I'm the owner? I'd rather sue the one who did that;
    because the park (or Usenet) is common property, and the heap
    of fecal (or that code) is not.


    It's interesting that there's again so many posts in this thread.
    A thread about some ominous "cc32n" tool, that is running in some
    mythical D:\ universe. - Or is that >>> D:\ <<< just a smiley?

    Mind, I had just observed:
    "Looks like a support question for a piece of proprietary code."
    and suggested:
    "Why don't you contact the author or issue a bug report?"

    The thread is even under subject "bart" and that person is also
    personally addressed in the salutation. - Clear indications that
    a personal email would be much better. - Paul, why aren't you
    contacting the tool author if you have issues with his tool?

    Googlies may not know that; Usenet is not a "public mailbox".

    Especially since you also express your hope:
    "and hopefully this doesn't start a 3 month long thread"
    It was on you to not initiate this spam, and it's still on you
    to redirect it to a more appropriate place.

    Good luck.

    Janis

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John McCue@21:1/5 to bart on Fri Jan 26 20:55:22 2024
    bart <bc@freeuk.com> wrote:
    <snip>

    For the past month the discussion here has been about everything under
    the sun, except actual C.

    For me it was refresing in this thread to deal with some actual,
    concrete, real-life C code, and some real bugs (here, possibly within
    gcc 3.2).

    I for one is fine with this thread since seems to have to do
    with a c program used in an obscure OS or emulation package.

    It is easy enough to kill it if you do not like it. We all
    have had plenty of practice with filtering in the past few
    months :)


    --
    [t]csh(1) - "An elegant shell, for a more... civilized age."
    - Paraphrasing Star Wars

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From bart@21:1/5 to David Brown on Sat Jan 27 17:58:51 2024
    On 27/01/2024 17:36, David Brown wrote:
    On 27/01/2024 14:24, Paul Edwards wrote:

    If you can get this down to a C question, this would be a perfectly good place to come.  If you are having trouble building software, posting a
    heap of meaningless build errors is not helpful.

    But in the end it did come down to a C question.

    I'm curious however as to what you think this newsgroup is for.

    The C group on Reddit, which is moderated, is far more diverse in what
    is allowed. Nobody seems that bothered about it.

    It might be about tools to build and work with the language. Building
    problems encountered in some project. Requests for code reviews. Even
    careers advice; all sorts of stuff.

    I would have found this thread interesting even if I'd had nothing to do
    with it, because I like problem-solving and bug-hunting.


    People can help here with C questions.  We can't, generally, help with
    build issues with random bits of software.

    Why not? I'm sure there are lurkers with the practical experience to
    help out, but are put off thinking only theoretical and hypothetical
    matters discussed.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Brown@21:1/5 to Paul Edwards on Sat Jan 27 18:36:54 2024
    On 27/01/2024 14:24, Paul Edwards wrote:
    On 27/01/24 00:33, David Brown wrote:
    On 26/01/2024 11:57, Paul Edwards wrote:

    It's public domain. You're the owner as much as
    anyone else. And if you think it's a bug, then
    I've just given you a bug report.


    It is public domain, but it is software written solely by Bart, and used

    Doesn't make any difference who wrote it.


    It makes a very big difference in regard to who can help you with it,
    and who might be interested in its details.

    (AFAIK) only by you and Bart,

    It's not used by Bart at all that I am aware of.


    That just makes it even less appropriate to post it here.

    and it's mainly of interest to you two.

    No. It's of interest to me and some other people,
    not Bart.


    Who else? And is this the appropriate place to talk to them about your
    issues?

    If you were announcing the availability of a new C compiler, that could
    be of interest to the group even if no one wanted to use it. But you
    are talking about some details of problems you are having compiling it -
    that's a different matter. Just because it is a C compiler, does not
    make it on-topic for the group. Someone having trouble compiling
    "sqllite" (to pick a random example) would not post here even though the program was written in C and released in the public domain. They would
    post in a place where they would find users people that might be able to
    help them, and where it is on topic - such as a a mailing list or
    project issue handler for sqllite.


    There's nowhere else for me to go.

    If you can get this down to a C question, this would be a perfectly good
    place to come. If you are having trouble building software, posting a
    heap of meaningless build errors is not helpful.

    People can help here with C questions. We can't, generally, help with
    build issues with random bits of software. Keith didn't answer your
    question - he helped with /Bart/'s question. Bart posted some C code,
    which Keith was able to comment on.


    The GNU people have no interest in supporting
    gcc 3.2.3, in fact, they were "keen to delete"
    the precious (to me) i370 target, displaying
    the massive contempt for one of the most
    important machines in the world.

    Of course the GNU folks have no interest in supporting gcc 3.2.3 - it's
    ancient history. The i370 may have been an important machine in its
    time, now it is a museum article. There's nothing wrong with history or museums - I'm a great history fan myself. But there is something very
    wrong with obsessing with it or trying to keep it "alive" like this.
    It's great to learn about Roman soldiers, to see their weapons and
    armour in museums, and to have re-enactments of old battles. But it is pointless to try to use new materials or methods to make better Roman
    armour - that would be showing contempt for the history.

    So I understand that you are interested in the history of old computers.
    I don't understand that you think other people should have any kind of
    duty or obligation to do so too. And if anyone involved in gcc
    development were really keen on the i370, they'd want to make it work
    for /modern/ gcc, not such an old version.

    People can't support things forever - if they try to do so, no one would
    ever have time to work in the modern world. Let the past be the past -
    be interested in it, learn from it, teach it, but do not forget that it
    is the past.

    (There are no doubt still some i370 machines running. And no one using
    them will ever be interested in using your personal port of an ancient
    version of gcc. They will run the software they have always run on
    them, because that's why they are still running those machines.)



    And no, none of us are "owners" of the software in any sense of that
    word.

    Yes you are. As much as anyone else in the world is.
    That's the exact definition of public domain.

    No, it is not. For someone who is so obsessed with "public domain", you
    are remarkably ignorant about it. /No one/ owns the software released
    into the public domain, at least in countries that recognise such the
    concept of relinquishing ownership. (Not all countries accept that as a
    legal concept.)


    we are not responsible for it or its uses,

    Nobody is responsible, or everyone is equally
    responsible, whichever way you look at it.


    These are hugely different ways of looking at it. If I were to say "I
    think some people in your family are murderers", would you respond with
    "No one in my family is a murderer", or "Everyone in my family is
    equally murderous" ?

    No one owns the software - it is not the case that we all own it. No
    one is responsible for it (except perhaps in some countries, or in
    certain aspects). It is not that case that everyone is responsible for it.

    we cannot sell it

    Yes you can.

    No you can't. You can sell copies of it, but you can't sell the
    software itself in any real sense. Selling the software itself would
    imply transferring ownership or rights.


    or otherwise transfer ownership of it.

    Nobody can. It's in the public domain. Again,
    we're all in the same boat.

    The point is, no one is in any boat.


    Bart is the original owner

    He was indeed the original owner. But not any
    more.

    Correct.

    You are the equal of Bart.

    That is true only in the same meaningless sense that Bart and I have
    equal numbers of wings sprouting from our shoulders.


    In fact, if there is anyone who is top dog,
    it's me. I maintain the source code and
    build it and distribute it, and take an
    interest in bugs. Bart doesn't do any of
    those things, but he does graciously assist.


    You are free to do that, and to take responsibility of the software -
    that's a choice you can make.

    - there are no other owners.

    There are no owners full stop.

    So stop there.

    Unless the
    public is considered an owner, which it is.

    It is not. That's the point. "The public" does not exist as a legal
    entity, and cannot own anything.


    Public domain code is not "unowned" waiting
    for the first person do notice it to declare
    ownership of. It is owned by the public.


    It is not owned by the public, because that concept has no meaning. But
    you are correct that no one can declare ownership of it. Note that
    "public domain" refers only to things for which copyright law may apply,
    and that necessarily means things that can be copied. Public domain
    means no one owns the copyrights or other exclusive intellectual rights
    to the software.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kaz Kylheku@21:1/5 to bart on Sat Jan 27 19:57:19 2024
    On 2024-01-27, bart <bc@freeuk.com> wrote:
    On 27/01/2024 17:36, David Brown wrote:
    On 27/01/2024 14:24, Paul Edwards wrote:

    If you can get this down to a C question, this would be a perfectly good
    place to come.  If you are having trouble building software, posting a
    heap of meaningless build errors is not helpful.

    But in the end it did come down to a C question.

    I'm curious however as to what you think this newsgroup is for.

    The C group on Reddit, which is moderated, is far more diverse in what
    is allowed.

    The difference is that here, people can only express their opinion
    on what is allowed.

    In Reddit, if you carry on like you do here, you will be, firstly,
    downvoted to invisibility. Secondly, likely kicked out of the
    subreddit.

    In Reddit, there are times where you will be downvoted to the basement
    while posting something relevant and factual, just because people can't
    handle it.

    --
    TXR Programming Language: http://nongnu.org/txr
    Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
    Mastodon: @Kazinator@mstdn.ca

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From bart@21:1/5 to Kaz Kylheku on Sat Jan 27 20:39:28 2024
    On 27/01/2024 19:57, Kaz Kylheku wrote:
    On 2024-01-27, bart <bc@freeuk.com> wrote:
    On 27/01/2024 17:36, David Brown wrote:
    On 27/01/2024 14:24, Paul Edwards wrote:

    If you can get this down to a C question, this would be a perfectly good >>> place to come.  If you are having trouble building software, posting a
    heap of meaningless build errors is not helpful.

    But in the end it did come down to a C question.

    I'm curious however as to what you think this newsgroup is for.

    The C group on Reddit, which is moderated, is far more diverse in what
    is allowed.

    The difference is that here, people can only express their opinion
    on what is allowed.

    In Reddit, if you carry on like you do here,

    You mean, expressing a contrary opinion to yours and defending that
    opinion on multiple fronts?

    What was happening to me in this group was just bullying and
    intimidation by a mob.

    In fact, you're doing it even now, wagging a finger and admonishing me
    for some perceived ill-doing. Because your behaviour of course is
    impeccable:

    Bart ... git ... think about it. 🙂



    you will be, firstly,
    downvoted to invisibility. Secondly, likely kicked out of the
    subreddit.

    They don't like rants, but they also don't like people being uncivil and disrepectful. So I don't think it'll be me being kicked out.


    In Reddit, there are times where you will be downvoted to the basement
    while posting something relevant and factual, just because people can't handle it.

    That's true. Voting on Reddit is the worst aspect of it. People get lots
    of votes for saying something incorrect (factually not just opinions),
    and those who correct them can get downvoted.

    Still, I've probably amassed 11-12,000 karma points over a few years,
    even in the low-volume subreddits I frequent. However I get fed up with
    it every do often and delete my account. Then I need to start again. The
    points don't matter unless you get downvoted.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Brown@21:1/5 to Paul Edwards on Sun Jan 28 13:11:55 2024
    On 28/01/2024 08:13, Paul Edwards wrote:
    On 27/01/24 03:35, David Brown wrote:
    On 26/01/2024 19:00, bart wrote:

    For the past month the discussion here has been about everything under
    the sun, except actual C.

    A lot of it was off-topic, yes.  But a lot of it was at least of
    interest to a number of people here.

    You are free to complain that people have been talking too much about
    COBOL, C++, or whatever - and that would be a valid complaint, and
    something that people in the group should respect.

    More to the point - why didn't YOU complain about
    people talking about COBOL, and telling them where
    to find the appropriate COBOL groups, and the
    philosophical underpinnings of why any mention of
    COBOL matters belongs purely in a COBOL group.


    If I felt there was too much COBOL, then I would complain. But the
    people talking about it knew perfectly well it was off-topic, and just
    idle chat. And that's okay, as long as it doesn't go overboard.

    And then repeat that with the C++ talk.

    The same applies to C++, though C++ and C are tied much tighter than
    most languages, and there's more overlap. A fair proportion of the
    people here use both languages regularly - comparisons between these
    languages are therefore important topics.

    However, as I said, you are free to complain if you think the COBOL or
    C++ discussions are overwhelming the group.


    And then, when one of those people responds along
    the lines of "what about that guy who has a public
    domain C compiler written in C that you and I don't
    use - he posted here!", you can respond with this:


    My first post in this thread was in support of Janis' suggestion that
    you're more likely to get more helpful responses in an appropriate forum.

    Two wrongs, however, do not make a right.

    Concentrate on the COBOL guys. You're more
    likely to get them to stop posting about
    COBOL than you are likely to get me to stop
    posting about a C compiler written in C.


    The compiler in question is not, AFAIUI, written in C. C is merely an
    output format.

    But any post about C is on topic. Posts about the details of C tools,
    or software that happens to be written in C, are not on topic.
    Off-topic posts might still be interesting, and it is not uncommon for
    long threads to wander off-topic before they fade away - that does not
    stop them being off-topic.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Brown@21:1/5 to Paul Edwards on Sun Jan 28 14:05:43 2024
    On 28/01/2024 09:15, Paul Edwards wrote:
    On 28/01/24 01:36, David Brown wrote:
    It's public domain. You're the owner as much as
    anyone else. And if you think it's a bug, then
    I've just given you a bug report.

    It is public domain, but it is software written solely by Bart, and
    used

    Doesn't make any difference who wrote it.

    It makes a very big difference in regard to who can help you with it,
    and who might be interested in its details.

    Bart has point blank said he is not interested
    in it and made an effort to delete every vestige
    of it from his system.

    So if he chimes in, it's just luck.

    (AFAIK) only by you and Bart,

    It's not used by Bart at all that I am aware of.

    That just makes it even less appropriate to post it here.

    I have a different opinion about whether a
    C compiler written in C is on-topic in a C
    support forum.


    The BCC compiler is not written in C - it is, AFAIUI, written in Bart's
    own language. (gcc was, at that time, written in C.)

    This is a C /discussion/ group, not a support group. It is primarily
    for discussing the C language, standards, and standard library, and for discussing bits of C code. We don't support compilers or C software.
    We might try to help if it is tools we are familiar with, but we are not
    a support group. The primary support forum for gcc is the "gcc-help"
    mailing list. I don't know where the primary support forum is for BCC,
    but it is not here.

    None of this means you can't make off-topic posts - there is nothing to
    stop you doing so. But you should be aware about what is on-topic and
    what is not, and how you can make your posts closer to topical, and
    better suited to getting help. For example, instead of posting a pile
    of compiler error messages, you could have looked at the code and tried
    to see what C code in "cc32n.c" was the cause of the problem. Isolate
    an example, add the minimum required typedefs and surrounding code to
    get something that is comprehensible to any C programmer. Try it with different compilers - <https://godbolt.org> is perfect for this. Then
    you'd have something that is on-topic, and which people can answer.

    You're about as unlikely to change my mind
    about that as vice-versa.

    I'm hoping to help you help yourself.


    and it's mainly of interest to you two.

    No. It's of interest to me and some other people,
    not Bart.

    Who else?

    There are a handful of people who are interested
    in public domain software. I can give some names
    if that is of any relevance (if you tell me what
    the relevance is first - like - what action will
    you take when I give you the first name).


    No need for names, of course. I am just trying to get an idea if there
    are actually other people involved in this. And if so, then details of
    your tools and work on outdated compilers, outdated computers, and
    outdated languages would be best handled in a group who are interested
    in that. You'd be helping them, and they would be helping you. Surely
    that would be a good thing?

    And is this the appropriate place to talk to them about your
    issues?

    Any C forum is. I prefer newsgroups. I used to
    use Fidonet C_ECHO when I didn't have internet
    access. When I did have internet access I didn't
    post here because I was dealing with other things.
    I did occasionally post. But even though I didn't
    post, this forum was always on my mind as a place
    I would eventually call home.

    If you were announcing the availability of a new C compiler, that could
    be of interest to the group even if no one wanted to use it.

    This is trying to get that announcement.

    And indeed, as of an hour or so ago, Robert
    (there's the first name for you to take
    action on) sent in a fix for the 386 assembler
    support code (that he wrote), which allowed
    cc32n.c to compile using my flavor of gcc 3.2.3.

    So the announcement is that you can have a
    reasonable C90-compliant public domain
    compiler that runs on a 32-bit system (I am
    using Windows 2000 but you can also use
    PDOS/386). It produces 64-bit code though.
    Using the Microsoft calling convention.


    I don't see anything against making such an announcement in this group,
    but you can expect that no one will care (and that people will tell you
    they don't care). There will not be many people for whom this is
    remotely relevant or interesting - that's why you should work with your community of people who /have/ expressed an interest. (Again, there's
    nothing wrong with being interested in niche history or having a hobby
    like this - but it does not mean it is of interest to many other people.)

    However, also an hour ago (here's the next
    announcement), you can run (certain) 64-bit PE
    Win64 executables (that are dependent on
    msvcrt.dll) on Linux - even though Linux uses
    a different function call convention.


    Hasn't wine supported this for a decade or two?


    And no, none of us are "owners" of the software in any sense of that
    word.

    Yes you are. As much as anyone else in the world is.
    That's the exact definition of public domain.

    No, it is not.  For someone who is so obsessed with "public domain", you
    are remarkably ignorant about it.

    Or maybe you are.

    /No one/ owns the software released
    into the public domain, at least in countries that recognise such the
    concept of relinquishing ownership.  (Not all countries accept that as a
    legal concept.)

    First of all, please explain to me the difference
    between "no-one owns it" and "everyone owns it".


    It's much like the difference between "no one has a head shaped like a
    banana" and "everyone has a head shaped like a banana".

    You seem to insist there is a difference.

    Yes. The point of having something in the public domain is that /no
    one/ owns it. "Own" is a legal concept.


    So - in the case of Macbeth - if EVERYONE owned
    it (as opposed to NOONE owning it - as you say
    the definition of public domain is), then what
    exactly would that mean?


    Everyone would be entitled to a share of any royalties when the play was performed. Everyone would have a say in when and how the text could be
    used - who could publish it, who could perform it. They would all have
    a say in the license(s) for its use. Everyone would all have
    responsibility if there is something in the play that was considered defamatory, hate speech, or otherwise problematic.

    At the very least, please read
    <https://en.wikipedia.org/wiki/Public_domain>. It is not a legal
    reference, but neither am I, and neither are you.

    I believe that what you think of as the practical implications of
    "everyone owns it" are quite like the practical implications of
    real-world "no one owns it" public domain. But I think you are mixing
    up your terms, and probably misunderstanding what "ownership" means for intellectual works.

    we are not responsible for it or its uses,

    Nobody is responsible, or everyone is equally
    responsible, whichever way you look at it.

    These are hugely different ways of looking at it.  If I were to say "I
    think some people in your family are murderers", would you respond with
    "No one in my family is a murderer", or "Everyone in my family is
    equally murderous" ?

    Both are technically correct answers. It is you
    who insists that the latter is not technically
    correct, so the burden is on you to demonstrate
    that.

    One answer is technically correct, and useful because it conveys
    information. The other is technically correct, and useless - giving no information, but implying (strongly) something that is false. This can
    be hugely relevant in legal situations.

    And note that the two statements are not equivalent. The first implies
    the second - but the second does not imply the first.

    (And this discussion is definitely getting /way/ off topic. I recommend
    you view the term "public domain" loosely, based on the Wikipedia
    definition, and avoid talking about what it actually means. It's fine
    to say that your intention is that anyone can take the software and use
    it as they want. For anything beyond that, you should probably talk to
    a lawyer that works in intellectual property rights - preferably one
    with international law experience. An alternative, that is not absurdly expensive, would be to look at things like the Creative Commons CCO
    license as a way of getting the effect you want.)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From bart@21:1/5 to David Brown on Sun Jan 28 14:02:09 2024
    On 28/01/2024 13:05, David Brown wrote:
    On 28/01/2024 09:15, Paul Edwards wrote:
    On 28/01/24 01:36, David Brown wrote:
    It's public domain. You're the owner as much as
    anyone else. And if you think it's a bug, then
    I've just given you a bug report.

    It is public domain, but it is software written solely by Bart, and
    used

    Doesn't make any difference who wrote it.

    It makes a very big difference in regard to who can help you with it,
    and who might be interested in its details.

    Bart has point blank said he is not interested
    in it and made an effort to delete every vestige
    of it from his system.

    So if he chimes in, it's just luck.

    (AFAIK) only by you and Bart,

    It's not used by Bart at all that I am aware of.

    That just makes it even less appropriate to post it here.

    I have a different opinion about whether a
    C compiler written in C is on-topic in a C
    support forum.


    The BCC compiler is not written in C - it is, AFAIUI, written in Bart's
    own language.  (gcc was, at that time, written in C.)


    Nevertheless, the software now only exists as a file of C source code.

    I'm sure it can't be the first time that some software has been
    transpiled or ported into C from another language, by programmatic means.

    This is a C /discussion/ group, not a support group.  It is primarily
    for discussing the C language, standards, and standard library, and for discussing bits of C code.  We don't support compilers or C software. We might try to help if it is tools we are familiar with, but we are not a support group.  The primary support forum for gcc is the "gcc-help"
    mailing list.  I don't know where the primary support forum is for BCC,
    but it is not here.

    It is just a program that showed compile errors and that didn't work as expected.

    A month ago somebody on Reddit posted about a problem with their C
    program, which worked on Linux, but didn't work on Windows.

    It was a graphical game, about 7000 lines of code in all, in 30-odd
    modules, and used the SDL2 library. It was crashing out in random places
    soon after it got into the main event loop.

    I downloaded the sources (no build system was provided; that helped) and managed to eventually find the problem. I primarily used my MCC compiler
    for the purpose too (I was able to do a temporary mod to it to log
    function entries to help narrow then the failure point).

    The main issue turned out to be a line like this:

    string String;
    String = (string)malloc(sizeof(*String));

    Originally the * was missing, so malloc allocated only 8 bytes instead
    of the 16 bytes that were necessary.

    But why did it work fine on Linux for months? Because on Linux, even an
    8-byte allocation takes up 32 byte of heap. Plenty of of extra room for
    the struct.

    On Windows, an 8-byte allocation uses 16 bytes of heap. Take away the
    overhead necessary to track the size, and there are not enough spare
    bytes to make it work. It will crash in unexpected places. (And yes I
    did suggest trying to use a memory tracking tool.)

    The point of relating this: you would ban people posting such appeals
    for help in this forum. It's more important to discuss the ins and outs
    of C++'s << operators; THAT is apparently more on topic.

    You're about as unlikely to change my mind
    about that as vice-versa.

    I'm hoping to help you help yourself.

    So patronising. I don't necessarily agree with PE's aims, but admire
    what he does. He already liaises with many other support groups and individuals. Until he posts in this group, apparently as a last resort,
    and is firmly told to go away.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From bart@21:1/5 to David Brown on Sun Jan 28 13:32:24 2024
    On 28/01/2024 12:11, David Brown wrote:
    On 28/01/2024 08:13, Paul Edwards wrote:

    And then, when one of those people responds along
    the lines of "what about that guy who has a public
    domain C compiler written in C that you and I don't
    use - he posted here!", you can respond with this:


    My first post in this thread was in support of Janis' suggestion

    Anything written by that poster is clearly motivated by animosity
    towards me.

    that
    you're more likely to get more helpful responses in an appropriate forum.

    Two wrongs, however, do not make a right.

    Concentrate on the COBOL guys. You're more
    likely to get them to stop posting about
    COBOL than you are likely to get me to stop
    posting about a C compiler written in C.


    The compiler in question is not, AFAIUI, written in C.  C is merely an output format.

    But any post about C is on topic.

    What, just about the C language? That would be very restictive. But what
    would that entail: learning about C? Endless posts about whether
    something is an operator or not?

      Posts about the details of C tools,
    or software that happens to be written in C, are not on topic.

    What about some C code that has a bug in it? For example, the thread "Inconsistent..." from 30-Oct-2023.

    Or "Detect wrap-around on array" from 6-Nov-2023, which is about general
    coding advice, but the language used happens to be C. Was that one on-topic?

    Or "A Hacker Went to C" from 6-Dec-2023. Some lyrics or poetry.

    Here's an interesting one: "Compile public library on mingw64 error!"
    from 13-Dec-2023. About problems compiling some C code on a specific
    compiler (sound familiar?).

    The first reply was from somebody called 'Janis Papanagnou', who gave
    helpful advice rather than tell them the software was a pile of shit and
    teling then to fuck off to a different forum.

    AFAICT that was NOT about the C language.

    Another thread by Janis Papanagnou was about debugging C programs using
    gdb on Linux.

    You said elsewhere that posts about a new C compiler might be welcome.
    Well I did that with "MCC Compiler" on 28-Sep-2023. This was the
    response from a certain "Tim Rentsch":

    Please confine your postings in comp.lang.c to topics and subjects
    relevant to the C language. None of what you say in your posting
    is topical in comp.lang.c. An obvious suggestion is the newsgroup comp.compilers instead.

    All I can see is clear discrimination, under the guise of 'topicality',
    but when it suits them, others post and talk about stuff all the time
    that doesn't come under your guidelines.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Brown@21:1/5 to bart on Sun Jan 28 15:11:45 2024
    On 28/01/2024 14:32, bart wrote:
    On 28/01/2024 12:11, David Brown wrote:
    On 28/01/2024 08:13, Paul Edwards wrote:

    And then, when one of those people responds along
    the lines of "what about that guy who has a public
    domain C compiler written in C that you and I don't
    use - he posted here!", you can respond with this:


    My first post in this thread was in support of Janis' suggestion

    Anything written by that poster is clearly motivated by animosity
    towards me.


    I can't really comment on motivation or other people's posts - I try to
    take one post at a time.

    that you're more likely to get more helpful responses in an
    appropriate forum.

    Two wrongs, however, do not make a right.

    Concentrate on the COBOL guys. You're more
    likely to get them to stop posting about
    COBOL than you are likely to get me to stop
    posting about a C compiler written in C.


    The compiler in question is not, AFAIUI, written in C.  C is merely an
    output format.

    But any post about C is on topic.

    What, just about the C language? That would be very restictive. But what would that entail: learning about C? Endless posts about whether
    something is an operator or not?

    Sometimes topical threads can get tedious, sometimes non-topical threads
    can get tedious.

    I don't object to a bit of off-topic posting, within reason. ("Within
    reason" is highly subjective.)

    The first post in this thread was, as I see it, off-topic. But more importantly, it was not the best place for the person in question to get
    help or an answer to his question. If only one person can help, as was
    the case here, email is likely to be better unless the discussion would
    be interesting to others. And the other people that might be interested
    in the discussion are those in Paul's circle of public domain software enthusiasts. As I see it, the main point is "you'd be better asking
    elsewhere" rather than "please don't ask here". (After you had turned
    the matter from a program build issue into a C issue, then it was
    topical here.) I may have come across badly, but I'm actually trying to
    be helpful.


      Posts about the details of C tools, or software that happens to be
    written in C, are not on topic.

    What about some C code that has a bug in it? For example, the thread "Inconsistent..." from 30-Oct-2023.


    (Just to be completely clear - my understanding of what is topical here
    is no more than that - /my/ understanding.)

    Questions about C code are topical. Questions about software written in
    C are not.

    To try to make this more concrete, if you can write the code in less
    than, say, 20 lines of standard C, that code is on topic. (We can be a
    bit more flexible than pure standard C - commonly understood extensions
    or variants should be fine.) Basically, people can read and understand
    the C code in question. If there's an error, we can perhaps see it
    directly. Or we can try to compile it and look at the output or errors.
    No one, however, can be expected to guess about a problem on line
    10,000 of some C code found somewhere on the internet.



    You said elsewhere that posts about a new C compiler might be welcome.
    Well I did that with "MCC Compiler" on 28-Sep-2023. This was the
    response from a certain "Tim Rentsch":


    I can't be responsible or answer for posts by Tim or Janis.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kenny McCormack@21:1/5 to bc@freeuk.com on Sun Jan 28 14:41:12 2024
    In article <up5l18$3uf12$1@dont-email.me>, bart <bc@freeuk.com> wrote:
    On 28/01/2024 12:11, David Brown wrote:
    On 28/01/2024 08:13, Paul Edwards wrote:

    And then, when one of those people responds along
    the lines of "what about that guy who has a public
    domain C compiler written in C that you and I don't
    use - he posted here!", you can respond with this:


    My first post in this thread was in support of Janis' suggestion

    Anything written by that poster is clearly motivated by animosity
    towards me.

    I have to admit that I don't agree with your stance on JP. Although I have tussled a bit in the past with him, I think that JP is basically a good
    person, but who is hampered, and sometimes ties himself in knots, by the language problem (English not being his first language).

    Unlike, say, Keith T. and Dave B, who are both clearly human garbage.

    Incidentally, I've noticed that Keith hasn't been posting much lately (and
    when he does post, it tends to be more substantive and less topic-cop,
    which is a good thing). Dave though, seems to be rushing in to fill the
    void, and has set himself up as the new arbiter of what is and isn't
    acceptable on this group.

    And you are right, that it is entirely "Things I like from people I like
    are OK, but things from people I don't like, I will whine like a baby
    about..."

    --
    When I was growing up we called them "retards", but that's not PC anymore.
    Now, we just call them "Trump Voters".

    The question is, of course, how much longer it will be until that term is also un-PC.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From bart@21:1/5 to Kenny McCormack on Sun Jan 28 16:04:47 2024
    On 28/01/2024 14:41, Kenny McCormack wrote:
    In article <up5l18$3uf12$1@dont-email.me>, bart <bc@freeuk.com> wrote:
    On 28/01/2024 12:11, David Brown wrote:
    On 28/01/2024 08:13, Paul Edwards wrote:

    And then, when one of those people responds along
    the lines of "what about that guy who has a public
    domain C compiler written in C that you and I don't
    use - he posted here!", you can respond with this:


    My first post in this thread was in support of Janis' suggestion

    Anything written by that poster is clearly motivated by animosity
    towards me.

    I have to admit that I don't agree with your stance on JP. Although I have tussled a bit in the past with him, I think that JP is basically a good person, but who is hampered, and sometimes ties himself in knots, by the language problem (English not being his first language).

    I don't think language is the problem. Below are a selection of comments
    he has made to me.

    You can hardly be more sneering, patronising and supercilious.

    And that's on top of calling my software a pile of shit and suggesting I
    ought to be sued for it.

    A nice chap, indeed!

    Meanwhile is a comment from DB:

    No one, however, can be expected to guess about a problem on line
    10,000 of some C code found somewhere on the internet.

    10K lines or more? Surely that barely counts as a toy program according
    to JP; I'm sure he'd make short work of it.


    JP:

    "It's very interesting that despite your very small and restricted
    experience

    Why don't you just read about those two tools and learn, instead
    of repeatedly spouting such stupid statements of ignorance.

    Yes, we know. You've repeatedly shown that you are actually doing
    small one-man-shows in projects that I can only call toy-projects.

    Clearly your imputations are based on ignorance.

    My suspicion had been that he's maybe no person but an AI bot.
    It's just too pathological what he writes and how he behaves to be
    sure that he's a human poster. - On the other hand, this is Usenet,
    and everything is possible.

    I propose that you try to give up what you think is "normally" and
    base your knowledge and opinions on facts. Honestly, it will make
    communication generally easier and not make you look like a moron.

    That was actually just a thought that popped up. But after thinking
    about it I got aware that AI bots (despite their inherent problems)
    are more fact-oriented and operate on a much larger knowledge base.

    Clueless as you are you are not in the position to be cynical."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Brown@21:1/5 to bart on Sun Jan 28 17:01:49 2024
    On 28/01/2024 15:02, bart wrote:
    On 28/01/2024 13:05, David Brown wrote:
    On 28/01/2024 09:15, Paul Edwards wrote:
    On 28/01/24 01:36, David Brown wrote:
    It's public domain. You're the owner as much as
    anyone else. And if you think it's a bug, then
    I've just given you a bug report.

    It is public domain, but it is software written solely by Bart,
    and used

    Doesn't make any difference who wrote it.

    It makes a very big difference in regard to who can help you with it,
    and who might be interested in its details.

    Bart has point blank said he is not interested
    in it and made an effort to delete every vestige
    of it from his system.

    So if he chimes in, it's just luck.

    (AFAIK) only by you and Bart,

    It's not used by Bart at all that I am aware of.

    That just makes it even less appropriate to post it here.

    I have a different opinion about whether a
    C compiler written in C is on-topic in a C
    support forum.


    The BCC compiler is not written in C - it is, AFAIUI, written in
    Bart's own language.  (gcc was, at that time, written in C.)


    Nevertheless, the software now only exists as a file of C source code.

    I'm sure it can't be the first time that some software has been
    transpiled or ported into C from another language, by programmatic means.


    Not at all, no.

    But if the original source is not available, or the means to compile (or transpile) it is not available, then it's more "binary only" or
    "abandonware" than C source. I don't view compiled binaries as
    "assembly files", just because you can view them as assembly code.

    Your transpiler generated C code might be a bit easier to follow - I
    don't know how much you try to keep structure, identifiers, comments,
    etc., in place - but it's still quite different from code written and maintained in C.

    This is a C /discussion/ group, not a support group.  It is primarily
    for discussing the C language, standards, and standard library, and
    for discussing bits of C code.  We don't support compilers or C
    software. We might try to help if it is tools we are familiar with,
    but we are not a support group.  The primary support forum for gcc is
    the "gcc-help" mailing list.  I don't know where the primary support
    forum is for BCC, but it is not here.

    It is just a program that showed compile errors and that didn't work as expected.

    A month ago somebody on Reddit posted about a problem with their C
    program, which worked on Linux, but didn't work on Windows.


    There are lots of Reddit groups - this is not one of them.

    It's possible that there would be advantages in widening the topicality
    of this group. It's possible that it will fade away if it does not
    become more like other forums. But that's another matter than what this
    group is /today/. Perhaps this is all something that is worth
    discussing (discussions about topicality are, by Usenet tradition,
    always on-topic).

    It was a graphical game, about 7000 lines of code in all, in 30-odd
    modules, and used the SDL2 library. It was crashing out in random places
    soon after it got into the main event loop.

    I downloaded the sources (no build system was provided; that helped) and managed to eventually find the problem. I primarily used my MCC compiler
    for the purpose too (I was able to do a temporary mod to it to log
    function entries to help narrow then the failure point).

    The main issue turned out to be a line like this:

        string String;
        String = (string)malloc(sizeof(*String));

    Originally the * was missing, so malloc allocated only 8 bytes instead
    of the 16 bytes that were necessary.

    But why did it work fine on Linux for months? Because on Linux, even an 8-byte allocation takes up 32 byte of heap. Plenty of of extra room for
    the struct.

    On Windows, an 8-byte allocation uses 16 bytes of heap. Take away the overhead necessary to track the size, and there are not enough spare
    bytes to make it work. It will crash in unexpected places. (And yes I
    did suggest trying to use a memory tracking tool.)

    (Note that this is all a matter of the library, not the OS.)

    Memory tracking tools, or something like gcc/clang's address sanitizer,
    are helpful for this kind of thing, so that was a good suggestion.
    Another is good static warnings - "gcc -Wall -Wextra" should catch this one.


    The point of relating this: you would ban people posting such appeals
    for help in this forum. It's more important to discuss the ins and outs
    of C++'s << operators; THAT is apparently more on topic.


    I'm not /banning/ anything. It's not my group to control.

    I'm glad that there are places where people can go with problems like
    that person's, where they can get help.

    No group can cover everything. A Reddit group is organised differently
    from a Usenet group, which is different again from a mailing list, or an
    issue tracker on github or sourceforge. Every group has to find a
    balance for what they cover, with a view to what is of interest to the
    group members, its original charter, what works within the format of the
    group, and any changes over time.

    <https://clc-wiki.net/wiki/C_community:comp.lang.c:Introduction>

    Different groups and different places do different things. And it is
    helpful when someone posts something that is better suited in a
    different place, for someone to let them know. If someone posts here
    with an issue in their 7000 line code, you could suggest they would get
    better answers on that Reddit group. If someone posts in the Reddit
    group with a difficult C standards question, you could direct them here.


    I'm not saying this groups topicality is ideal for any particular
    purpose. I am not saying that others do not post off-topic. I am not
    saying the topicality of the group should not be changed. I am just
    saying that I thought the original post was off-topic, and that the OP
    was more likely (not guaranteed, but more likely) to get help in a
    different way.


    You're about as unlikely to change my mind
    about that as vice-versa.

    I'm hoping to help you help yourself.

    So patronising.

    It's not patronising. It's giving what I hope is helpful advice. Have
    you never asked someone - online or in real life - for help, and been
    told that they can't do much there, but you might get an answer over there?

    I don't necessarily agree with PE's aims, but admire
    what he does. He already liaises with many other support groups and individuals. Until he posts in this group, apparently as a last resort,
    and is firmly told to go away.


    I certainly didn't tell him to go away. I told him that we can try and
    help with C issues, but it's unlikely that this is the best place to
    help with build issues for some large lump of C code.

    Paul is welcome to his philosophies and aims, and to his projects - just
    as you are, and anyone else is. If this is something that he cares
    about, then I wish him success with it.

    This is just like my attitude to your compiler(s) for your own
    language(s). I can tell you they are off-topic here, of no significant interest or relevance to C programmers, and in no way a substitute for C
    - that's all factual. But I can also recommend talking about it in comp.lang.misc or comp.compilers, but it /is/ on topic there, and those
    are places where you might get useful advice. (Maybe there are other
    better places too - the internet is a big place.) And I can do that
    while being seriously impressed (and maybe a touch envious) that you
    have made your own language, and made your own compiler. I can respect
    the achievement, the dedication, and your interest in it - without
    pretending that I think it is important to anyone else.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Brown@21:1/5 to Malcolm McLean on Sun Jan 28 19:19:25 2024
    On 28/01/2024 17:15, Malcolm McLean wrote:
    On 28/01/2024 14:41, Kenny McCormack wrote:

    Unlike, say, Keith T. and Dave B, who are both

    Please.
    I enjoy debating with both these people. We don't need this sort of
    thing in comp.lang.c.

    I'm also not at all keen on digging up previous posts, grievances,
    insults, etc., unless it can really shed light on something current.
    Sometimes people say things that get a bit out of hand - it's not good,
    but it is hard to avoid in a medium like this. (I know I am at least as
    guilty of that as anyone else.)

    Maybe we just call this whole branch off-topic, and leave it there? The
    OP has got a solution to his problem for now, and we can be happy about
    that. We'll take the next thread as it comes along - agreeing or
    disagreeing as always, but with at least an aim of helping others.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Janis Papanagnou@21:1/5 to David Brown on Sun Jan 28 19:24:09 2024
    On 28.01.2024 15:11, David Brown wrote:
    On 28/01/2024 14:32, bart wrote:
    On 28/01/2024 12:11, David Brown wrote:

    My first post in this thread was in support of Janis' suggestion

    Anything written by that poster is clearly motivated by animosity
    towards me.

    Not the least. - Be assured I'm _not interested_ in your person
    in any way, neither to the positive nor to the negative, and I'm
    also not interested concerning what you think to be interesting
    you have to say. - I think I had it explained that I will not see
    your posts any more unless someone thinks it is worth responding
    to your post and thus see a followup. - This is a clear indication
    that I have no animosity or other feelings, besides disinterest.


    I can't really comment on motivation or other people's posts - I try to
    take one post at a time.

    Bart's habit is meanwhile well known; to assume things, wrongly,
    and build his responses based on false suppositions.

    Janis

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kaz Kylheku@21:1/5 to bart on Sun Jan 28 18:27:56 2024
    On 2024-01-28, bart <bc@freeuk.com> wrote:
    On 28/01/2024 12:11, David Brown wrote:
    On 28/01/2024 08:13, Paul Edwards wrote:

    And then, when one of those people responds along
    the lines of "what about that guy who has a public
    domain C compiler written in C that you and I don't
    use - he posted here!", you can respond with this:


    My first post in this thread was in support of Janis' suggestion

    Anything written by that poster is clearly motivated by animosity
    towards me.

    But, in spite of your by now long history of posting to this newsgroup,
    pretty much none of it has been topical.

    You're like, let's see, a guitar enthusiast posting to a violin
    newsgroup.

    Man, violins are so unfriendly, how can anyone in their right mind waste
    their time on them. Frets, people! Have you heard of these things? You
    just hold down a string, and get the right pitch instantly. And look at
    the sustain; the string goes on ringing clearly, no bow required.
    Pizzicato playing is a joke by comparison: it sounds like chickens
    clucking.

    I'm totally on topic: I'm telling you how violins suck compared
    to guitars! And ... I've built a bowed instrument closely resembling a
    violin. It has three strings tuned a minor sixth apart, and features
    frets. You wear it around your neck on a strap, and use a bow.

    --
    TXR Programming Language: http://nongnu.org/txr
    Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
    Mastodon: @Kazinator@mstdn.ca

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From bart@21:1/5 to David Brown on Sun Jan 28 18:34:37 2024
    On 28/01/2024 16:01, David Brown wrote:
    On 28/01/2024 15:02, bart wrote:

    A month ago somebody on Reddit posted about a problem with their C
    program, which worked on Linux, but didn't work on Windows.


    There are lots of Reddit groups - this is not one of them.

    The one in question is called C_Programming (https://www.reddit.com/r/C_Programming/).
    It's possible that there would be advantages in widening the topicality
    of this group.  It's possible that it will fade away if it does not
    become more like other forums.  But that's another matter than what this group is /today/.

    If you were new to C and needed help with any aspect, which one would
    you go for? Which others are there? It's seems extremely churlish to me
    that this group, populated mostly by old-timers, should draw such sharp
    lines as to what should be allowed.

    Until six months ago, it had been moribund for a couple of years.
    Although it didn't stop Keith claiming the rare odd post being
    off-topic, as though it would affect the signal-to-noise ratio.

    It is partly due to people like me who stir things up, or who have
    minority views, that brought some life back to it.

    Why not open just open it up a bit more? Although the worst for mostly
    posting off-topic material right now is JP. But I see you're all very
    chummy so I doubt he's going to get a ticking off; he's a Professional
    you know.

         String = (string)malloc(sizeof(*String));

    Originally the * was missing, so malloc allocated only 8 bytes instead
    of the 16 bytes that were necessary.

    Memory tracking tools, or something like gcc/clang's address sanitizer,
    are helpful for this kind of thing, so that was a good suggestion.
    Another is good static warnings - "gcc -Wall -Wextra" should catch this
    one.

    It didn't help in this case. The example can be reduced to this:

    typedef struct {int d,m,y,x;}* date;
    date Date;

    Date = (date)malloc(sizeof(Date));

    The naming choices made it difficult to spot; Date is an instance of a
    pointer, not of a struct as it appears.

    <https://clc-wiki.net/wiki/C_community:comp.lang.c:Introduction>

    Wow, they take it pretty seriously. So, meta-discussion about the
    language, so long as it doesn't involve any practical aspects of using C?

    The Reddit topicality rule is one short paragraph.

    I don't necessarily agree with PE's aims, but admire what he does. He
    already liaises with many other support groups and individuals. Until
    he posts in this group, apparently as a last resort, and is firmly
    told to go away.


    I certainly didn't tell him to go away.  I told him that we can try and
    help with C issues, but it's unlikely that this is the best place to
    help with build issues for some large lump of C code.

    A toy program according to JP!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kaz Kylheku@21:1/5 to bart on Sun Jan 28 18:41:21 2024
    On 2024-01-28, bart <bc@freeuk.com> wrote:
    If you were new to C and needed help with any aspect, which one would
    you go for?

    I'd find the forum which has the most people critizing C and talking
    at length about makefiles, with digressions into COBOL, and trolls
    advocating C++.

    --
    TXR Programming Language: http://nongnu.org/txr
    Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
    Mastodon: @Kazinator@mstdn.ca

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Brown@21:1/5 to bart on Sun Jan 28 20:10:13 2024
    On 28/01/2024 19:34, bart wrote:
    On 28/01/2024 16:01, David Brown wrote:
    On 28/01/2024 15:02, bart wrote:

    A month ago somebody on Reddit posted about a problem with their C
    program, which worked on Linux, but didn't work on Windows.


    There are lots of Reddit groups - this is not one of them.

    The one in question is called C_Programming (https://www.reddit.com/r/C_Programming/).

    Maybe I should join Reddit sometime...

    It's possible that there would be advantages in widening the
    topicality of this group.  It's possible that it will fade away if it
    does not become more like other forums.  But that's another matter
    than what this group is /today/.

    If you were new to C and needed help with any aspect, which one would
    you go for? Which others are there? It's seems extremely churlish to me
    that this group, populated mostly by old-timers, should draw such sharp
    lines as to what should be allowed.


    I'm not sure this group is a great place for C newbies. I'm not sure
    that's its purpose - and I certainly don't think it is a place people
    will arrive at when first looking for a place for learning C. Yes, it
    is mostly full of old-timers (at a mere 51 years, I am probably well
    below average). Usenet is old-fashioned - it appeals primarily to
    people who have used it for decades.

    Of course we welcome new programmers, and people new to Usenet, but they
    will always be the minority here - no matter how much we help any
    on-topic or off-topic poster.

    Until six months ago, it had been moribund for a couple of years.

    The number of posts comes and goes, increasing when there are threads
    that engage the group members.

    Although it didn't stop Keith claiming the rare odd post being
    off-topic, as though it would affect the signal-to-noise ratio.

    It is partly due to people like me who stir things up, or who have
    minority views, that brought some life back to it.


    A lot of what you post is interesting. Some of it is even on-topic :-)

    Why not open just open it up a bit more? Although the worst for mostly posting off-topic material right now is JP. But I see you're all very
    chummy so I doubt he's going to get a ticking off; he's a Professional
    you know.

    It is not closed (excluding Google's latest "solution" to their own spam problem). No one has stopped Paul posting.


         String = (string)malloc(sizeof(*String));

    Originally the * was missing, so malloc allocated only 8 bytes
    instead of the 16 bytes that were necessary.

    Memory tracking tools, or something like gcc/clang's address
    sanitizer, are helpful for this kind of thing, so that was a good
    suggestion. Another is good static warnings - "gcc -Wall -Wextra"
    should catch this one.

    It didn't help in this case. The example can be reduced to this:

        typedef struct {int d,m,y,x;}* date;
        date Date;

        Date = (date)malloc(sizeof(Date));


    It turns out that the relevant warning (-Walloc-size, included in
    -Wextra) is not in gcc until version 14. That could be why it didn't
    trigger! (I knew the warning was recent - I didn't know it was /that/
    recent.)

    The naming choices made it difficult to spot; Date is an instance of a pointer, not of a struct as it appears.

    I agree that the naming choices are terrible here. I'm okay with
    typedefing pointers in some cases, but this looks almost designed to be confusing. I am also sceptical to the use of type and variable
    identifiers that differ only in letter cases - but /if/ you are going to
    do that, I would say the more common idiom is that the type gets a
    capital and the variable gets small letters. And spaces help readability.

    So it would be easier to see the problem with this:

    typedef struct { int d,m,y,x; } Date;
    typedef Date * pDate;

    pDate pdate;

    pdate = (pdate) malloc(sizeof(Date));

    (I'm not suggesting typedefing the pointer is a good idea here, just a
    better way to write it if that was what you wanted.)

    The more idiomatic "Date = malloc(sizeof *Date)" would have been a good alternative.



    <https://clc-wiki.net/wiki/C_community:comp.lang.c:Introduction>

    Wow, they take it pretty seriously. So, meta-discussion about the
    language, so long as it doesn't involve any practical aspects of using C?


    Usenet used to be a serious place!

    The Reddit topicality rule is one short paragraph.

    I don't necessarily agree with PE's aims, but admire what he does. He
    already liaises with many other support groups and individuals. Until
    he posts in this group, apparently as a last resort, and is firmly
    told to go away.


    I certainly didn't tell him to go away.  I told him that we can try
    and help with C issues, but it's unlikely that this is the best place
    to help with build issues for some large lump of C code.

    A toy program according to JP!


    Toys can be big, can't they? (Again, I can't answer for JP.)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Janis Papanagnou@21:1/5 to Kenny McCormack on Sun Jan 28 19:29:51 2024
    On 28.01.2024 15:41, Kenny McCormack wrote:

    I have to admit that I don't agree with your stance on JP. Although I have tussled a bit in the past with him, I think that JP is basically a good person, [...]

    Be careful with such statements... - I'm an Angry Old Man!

    Janis

    PS: ...but thanks!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From bart@21:1/5 to Kaz Kylheku on Sun Jan 28 19:18:09 2024
    On 28/01/2024 18:27, Kaz Kylheku wrote:
    On 2024-01-28, bart <bc@freeuk.com> wrote:
    On 28/01/2024 12:11, David Brown wrote:
    On 28/01/2024 08:13, Paul Edwards wrote:

    And then, when one of those people responds along
    the lines of "what about that guy who has a public
    domain C compiler written in C that you and I don't
    use - he posted here!", you can respond with this:


    My first post in this thread was in support of Janis' suggestion

    Anything written by that poster is clearly motivated by animosity
    towards me.

    But, in spite of your by now long history of posting to this newsgroup, pretty much none of it has been topical.

    You're wrong.

    I've looked at my contributions for a dozen random threads over the last
    couple of years.

    4 out 5 were firmly on-topic as generally agreed by most here.

    The ones that weren't were usually because the thread itself (not
    started by me) was off-topic or had wandered off-topic. And in those
    cases, the usual regulars joined in as well.

    I've just checked one more post from 5 years ago ("Function to trim
    leading spaces", technically off-topic according to the rules
    established today, but everyone joined in anyway).

    My constribution consisted of some C code. These are the contribitions
    from Scott Lurndal:

    "Most demons will re-open "/dev/null" on fd0."

    "In over forty years of C and Posix programming, I've never
    needed to use fseek(3) at all. seek(2) and later lseek(2) yes, fseek(3)
    never. But then,
    I typically avoid stdio for most real world usage scenarios; favoring mmap()
    or pread(2)/pwrite(2) for most cases"

    "We ran into the same issues when porting a lot of the BSD utilities to
    SVR4 back in the day when the two camps started to get along...."

    You can draw your own conclusions about who posts more about actual C
    code and without dragging UNIX specifics into every post. They do
    however tend to be one-liners, unless posting swathes of listings which
    are never C source code.

    For fairness, I checked one more thread in which SL had posted, and sure enough, his post was a few dozen lines of BPL script, in upper case.

    It's funny that no one has ever complained about that.


    You're like, let's see, a guitar enthusiast posting to a violin
    newsgroup.

    Man, violins are so unfriendly, how can anyone in their right mind waste their time on them. Frets, people! Have you heard of these things? You
    just hold down a string, and get the right pitch instantly. And look at
    the sustain; the string goes on ringing clearly, no bow required.
    Pizzicato playing is a joke by comparison: it sounds like chickens
    clucking.


    I'm totally on topic: I'm telling you how violins suck compared
    to guitars! And ... I've built a bowed instrument closely resembling a violin. It has three strings tuned a minor sixth apart, and features
    frets. You wear it around your neck on a strap, and use a bow.

    Perhaps I shouldn't be replying to somebody who seems to under the
    influence of something.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Brown@21:1/5 to Paul Edwards on Mon Jan 29 14:45:16 2024
    On 29/01/2024 01:59, Paul Edwards wrote:
    On 29/01/24 00:01, David Brown wrote:

    But if the original source is not available, or the means to compile (or
    transpile) it is not available, then it's more "binary only" or
    "abandonware" than C source.

    Yes, you can consider it to be "binary only",
    although that would be a too-harsh categorization,
    as I have indeed been able to make changes to
    the code to fix other issues.


    That will depend on how close the transpiled C is to the original
    source, and I have little idea about that.

    I'm not saying this groups topicality is ideal for any particular
    purpose.  I am not saying that others do not post off-topic.  I am not
    saying the topicality of the group should not be changed.  I am just
    saying that I thought the original post was off-topic, and that the OP
    was more likely (not guaranteed, but more likely) to get help in a
    different way.

    "more likely" based on what statistics or analysis?


    None - it was based on my expectations and assumptions.

    I'm not aware of anywhere that can beat 24 hours.

    That is a non sequitur. If I say "you are unlikely to roll 12 on two
    dice - you are more likely to get 7", and you roll two dice getting a
    double six on your first attempt, it does not mean that event was more
    likely than getting a 7.

    Note that you got help as a result of replies from Bart - replies that
    you might well have got just the same if you had emailed him or
    communicated through the project hosting site (if there had been one for
    the tool). It is, of course, conceivable that he would not have
    bothered replying to you by email - perhaps people saying your post was off-topic is what prompted him to look at the issue and take it further.
    That would be ironic!


    It's not patronising.  It's giving what I hope is helpful advice.  Have
    you never asked someone - online or in real life - for help, and been
    told that they can't do much there, but you might get an answer over
    there?

    You haven't provided an "over there" that has a
    snowball's chance in hell of producing a solution
    in 24 hours.


    Then you have a challenge to build up more of a community "over there".
    (Though as I noted above, the "over there" I suggested included emailing
    Bart, who was the one that found the issue, or at least turned it into something others could help with.)

    I see there has been some other discussions about possibly expanding the
    scope of what is on-topic in c.l.c. I personally am not adverse to
    that. I would not mind at all if discussions of particular C compilers
    was considered topical. I think there's plenty that could be said about commonly used tools that could be of benefit to many people here, and occasional discussions about niche tools could be interesting even if
    they are of no practical use to most people.

    I still think even then that something that is communication between two
    people is usually best by email unless there is good reason to suspect
    that others will want to listen in. And I still think your public
    domain project would do better by having as much discussion as possible
    within that group, making it a livelier environment that can grow.
    Niche groups need care and nurture - even if you are confident that
    you'll get faster answers elsewhere, it can still be better for the
    growth of that group if you discuss the issue there first.



    I certainly didn't tell him to go away.  I told him that we can try and
    help with C issues, but it's unlikely that this is the best place to
    help with build issues for some large lump of C code.

    Unlikely based on what analysis or statistics?

    And your prediction was totally incorrect regardless.
    This is a proven good place.

    Partly because Bart hangs out here of course.

    Because you're hitting something different now.

    A public post saying "can anyone help" is very
    different from harassing a specific individual
    (who you haven't paid either) who has told you
    "I'm not interested in this software - don't
    come to me for support" (or words to that effect).

    True.


    I haven't violated that wish. I posted in public,
    not email. Unless you want to quibble that I
    shouldn't have mentioned his name at all in the
    public post.

    Well, the post /was/ addressed to him - in thread title and greeting.

    But you have a fair point here, and it is absolutely a reasonable consideration.


    I consider I did the right thing. And I got the
    result I wanted.

    And now maybe you have a result that is useful
    to you (or someone you know, or at a future
    workplace) - you can write a Win64 utility and
    if you do it a certain way, you can run it on
    Linux with ridiculously small overhead.


    That may be of use to some people, yes.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Brown@21:1/5 to Paul Edwards on Mon Jan 29 16:42:02 2024
    On 29/01/2024 01:35, Paul Edwards wrote:
    On 28/01/24 21:05, David Brown wrote:

    The BCC compiler is not written in C - it is, AFAIUI, written in Bart's
    own language.  (gcc was, at that time, written in C.)

    This is a C /discussion/ group, not a support group.  It is primarily
    for discussing the C language, standards, and standard library, and for
    discussing bits of C code.  We don't support compilers or C software. We
    might try to help if it is tools we are familiar with, but we are not a
    support group.  The primary support forum for gcc is the "gcc-help"
    mailing list.  I don't know where the primary support forum is for BCC,
    but it is not here.

    I'm not sure this is considered to be "bcc".

    BCC was actually on github or something. The
    code that I am using was only temporarily
    placed somewhere so that I could download it.

    Again - if anyone supports this code, it's me.

    I can report a problem - to myself.

    I already did that. And it was beyond my ability
    to solve in a reasonable timeframe so I tried my
    luck here, and got exactly what I needed within
    24 hours flat.

    This is quite literally the best support forum
    for this (unnamed software) that I am aware of.

    That may be true. But it is still not a support forum for software like
    that. It is entirely possible that this group contains some of the best
    COBOL programmers around - but it would be inappropriate to post COBOL questions here. It could be that this group would be able to provide
    better support for thousands of old C projects than any other forum -
    but it is still not a support forum for that software. If everyone with
    a program written in C, or an issue trying to compile and build a
    program written in C, were to post here - what do you think would
    happen? Perhaps to start with there would be helpful answers on
    difficulties with make, autotools, MSVC, and whatever else. But then
    the regulars would start getting fed up - the group would lose its
    appeal to them, and they'd move elsewhere. No one would get any better
    answers than they'd find from other web-based forums, and the group
    would be ruined for the people that are here, now.

    As I have said, I am not adverse to viewing posts like yours as
    on-topic, or more actively changing what is seen as topical. But
    changes to topicality in a group must be done carefully. That this is
    the best place to get answers to a particular type of question is /not/
    a reason to consider the post on-topic, or to say that posting it here
    was the right thing for the group. It might have been the right thing
    for /you/, at least in the short term - but maybe if you make lots of
    off-topic posts, people will stop answering you. Your post was
    successful from your viewpoint, but perhaps not from the group's viewpoint.

    (Perhaps the ensuing discussion of topicality /will/ be good for the
    group. That remains to be seen.)


    None of this means you can't make off-topic posts - there is nothing to
    stop you doing so.  But you should be aware about what is on-topic and
    what is not, and how you can make your posts closer to topical, and
    better suited to getting help.  For example, instead of posting a pile
    of compiler error messages, you could have looked at the code and tried
    to see what C code in "cc32n.c" was the cause of the problem.

    I had already looked at it. But I wasn't even sure
    I was expecting a result I shouldn't be expecting.
    I knew what cc64.c did, but this was the first
    at least recent attempt at running cc32n.c.

    Isolate
    an example, add the minimum required typedefs and surrounding code to
    get something that is comprehensible to any C programmer.  Try it with
    different compilers - <https://godbolt.org> is perfect for this.  Then
    you'd have something that is on-topic, and which people can answer.

    I already did try with different compilers which
    is why I started wondering whether I had incorrect
    expectations from the software.

    A small example section would have been much more helpful to people here
    than the build messages.


    You're about as unlikely to change my mind
    about that as vice-versa.

    I'm hoping to help you help yourself.

    I am already doing that.

    There are a handful of people who are interested
    in public domain software. I can give some names
    if that is of any relevance (if you tell me what
    the relevance is first - like - what action will
    you take when I give you the first name).

    No need for names, of course.  I am just trying to get an idea if there
    are actually other people involved in this.  And if so, then details of
    your tools and work on outdated compilers, outdated computers, and
    outdated languages would be best handled in a group who are interested
    in that.  You'd be helping them, and they would be helping you.  Surely
    that would be a good thing?

    It's a question of technical expertise. In
    that circle, I'm the one most likely to be
    able to solve the problem.


    Even then, talking about it in the group makes people feel included and
    keeps them informed that you are working on such issues. (Perhaps I am concerning myself too much here, and you already have enough lively
    discussions in that group.)

    So the announcement is that you can have a
    reasonable C90-compliant public domain
    compiler that runs on a 32-bit system (I am
    using Windows 2000 but you can also use
    PDOS/386). It produces 64-bit code though.
    Using the Microsoft calling convention.

    I don't see anything against making such an announcement in this group,
    but you can expect that no one will care (and that people will tell you
    they don't care).

    That's all fine by me.

    There will not be many people for whom this is
    remotely relevant or interesting - that's why you should work with your
    community of people who /have/ expressed an interest.

    The bottleneck is technical expertise, not interest.


    OK.

    However, also an hour ago (here's the next
    announcement), you can run (certain) 64-bit PE
    Win64 executables (that are dependent on
    msvcrt.dll) on Linux - even though Linux uses
    a different function call convention.

    Hasn't wine supported this for a decade or two?

    Theoretically yes. I tried installing it on a
    few different Linux machines and after doing
    massive downloads, it didn't work. And any
    issue in it would probably take months of
    effort trying to understand (or even build
    the code from source).


    I've always installed wine with "apt-get install wine", or with Steam.
    I can't say I have had to run many Windows programs on Linux (I also
    have an old Windows machine at the office), but it has not been an issue
    for me. But I guess experiences vary.

    As of an hour or so ago, you can now get a
    103k executable that does that (limited, but
    what I need) task. It's UCX64L from the UCARM
    section (as opposed to UCX64 from the UCX64
    section) at http://pdos.org .

    So - in the case of Macbeth - if EVERYONE owned
    it (as opposed to NOONE owning it - as you say
    the definition of public domain is), then what
    exactly would that mean?

    Everyone would be entitled to a share of any royalties when the play was
    performed.

    Everyone effectively can do that. The
    government in your country can effectively
    get royalties from the play and distribute
    them according to the democratic wishes of
    the people who own it.

    But regardless, yes, I see why you prefer
    the term unowned.

    OK. And I also see what you are trying to do with your public domain
    software. (That doesn't mean I agree that it's a useful endeavour, but
    there's nothing wrong with having different philosophies.) So now
    that's all cleared up, we can leave that off-topic discussion!


    with international law experience.  An alternative, that is not absurdly
    expensive, would be to look at things like the Creative Commons CCO
    license as a way of getting the effect you want.)

    I already do mention you can follow CC0 if
    you wish and provide a link.

    BFN. Paul.


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Tim Rentsch@21:1/5 to Paul Edwards on Mon Jan 29 16:41:37 2024
    Paul Edwards <mutazilah@gmail.com> writes:

    [..is the code in cc32n.c topical?..]

    I have a different opinion about whether a
    C compiler written in C is on-topic in a C
    support forum.

    Any program written in C, whether or not it's a compiler, is
    topical in comp.lang.c.

    Unfortunately neither cc32n.c nor cc64.c is written in C. Rather
    they are written in a language that resembles C, and may even be
    compilable by some "C" compilers in a non-conforming mode, but
    they are not written in standard C.

    If you want help with one of these programs, and want to get it
    in this newsgroup, get the code to compile under, for example,
    gcc -std=c99 -pedantic-errors or gcc -std=c11 -pedantic-errors.
    Until that is done people are quite right to tell you to look
    for help elsewhere.

    Moreover, the code in these programs is a disaster. No sensible
    person would spend any time on it if they have a choice. If you
    want to waste your time on it, that's up to you. I don't see any
    incentive for anyone else to spend any time on it at all, except
    perhaps as a learning exercise to see how truly awful bad code
    can be. It's easy to believe no one wants to take credit for
    this mess.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kaz Kylheku@21:1/5 to Paul Edwards on Tue Jan 30 01:20:34 2024
    On 2024-01-28, Paul Edwards <mutazilah@gmail.com> wrote:
    I have a different opinion about whether a
    C compiler written in C is on-topic in a C
    support forum.

    Say, would you be okay if all the traffic from the GCC mailing lists and
    the Clang discourse forum were copies to comp.lang.c?

    https://discourse.llvm.org/c/clang/6

    https://gcc.gnu.org/lists.html

    Why or why not? Which gcc mailing lists would you gateway here?
    gcc-help? gcc-bugs? gcc? gcc-patches? All of them?

    None of us here have open source projects; you're special!

    --
    TXR Programming Language: http://nongnu.org/txr
    Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
    Mastodon: @Kazinator@mstdn.ca

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kenny McCormack@21:1/5 to 433-929-6894@kylheku.com on Tue Jan 30 01:28:01 2024
    In article <20240129171130.110@kylheku.com>,
    Kaz Kylheku <433-929-6894@kylheku.com> wrote:
    On 2024-01-28, Paul Edwards <mutazilah@gmail.com> wrote:
    I have a different opinion about whether a
    C compiler written in C is on-topic in a C
    support forum.

    Say, would you be okay if all the traffic from the GCC mailing lists and
    the Clang discourse forum were copies to comp.lang.c?

    Davy (and others, both presently, and going back through the years) have
    made it abundantly clear that "stuff I like" is on-topic, and stuff I don't isn't.

    Very subjective, that.

    --
    https://en.wiktionary.org/wiki/res_ipsa_loquitur

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From bart@21:1/5 to Tim Rentsch on Tue Jan 30 01:42:14 2024
    On 30/01/2024 00:41, Tim Rentsch wrote:
    Paul Edwards <mutazilah@gmail.com> writes:

    [..is the code in cc32n.c topical?..]

    I have a different opinion about whether a
    C compiler written in C is on-topic in a C
    support forum.

    Any program written in C, whether or not it's a compiler, is
    topical in comp.lang.c.

    Unfortunately neither cc32n.c nor cc64.c is written in C. Rather
    they are written in a language that resembles C, and may even be
    compilable by some "C" compilers in a non-conforming mode, but
    they are not written in standard C.

    If you want help with one of these programs, and want to get it
    in this newsgroup, get the code to compile under, for example,
    gcc -std=c99 -pedantic-errors or gcc -std=c11 -pedantic-errors.
    Until that is done people are quite right to tell you to look
    for help elsewhere.


    I tried those options on these programs, which all failed:

    - Tiny C source code (0.9.27)

    - Some modules of Lua 5.4 interpreter

    - Pico C (C interpreter)

    - piet.c (interpreter)

    However, who are YOU to tell ME what options to use when compiling my C
    code?

    One thing I've learned here is that /I/ get to stipulate how my programs
    are compiled. Do you routinely get inside the makefiles that you come
    across and add your own options?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Tim Rentsch@21:1/5 to bart on Mon Jan 29 22:31:21 2024
    bart <bc@freeuk.com> writes:

    On 30/01/2024 00:41, Tim Rentsch wrote:

    Paul Edwards <mutazilah@gmail.com> writes:

    [..is the code in cc32n.c topical?..]

    I have a different opinion about whether a
    C compiler written in C is on-topic in a C
    support forum.

    Any program written in C, whether or not it's a compiler, is
    topical in comp.lang.c.

    Unfortunately neither cc32n.c nor cc64.c is written in C. Rather
    they are written in a language that resembles C, and may even be
    compilable by some "C" compilers in a non-conforming mode, but
    they are not written in standard C.

    If you want help with one of these programs, and want to get it
    in this newsgroup, get the code to compile under, for example,
    gcc -std=c99 -pedantic-errors or gcc -std=c11 -pedantic-errors.
    Until that is done people are quite right to tell you to look
    for help elsewhere.

    I tried those options on these programs, which all failed:
    [...]

    However, who are YOU to tell ME what options to use when compiling
    my C code?

    I'm not telling anyone how to compile their programs. All I'm
    doing is giving a way of checking whether a program is C code or
    is written in a language that may look like C but isn't. Knowing
    how to do that is something I could have benefited from - many
    years ago I wrote some code that I thought was being written in
    C, but later I discovered that it wasn't. I started programming
    in C long before there was a C standard, and didn't realize the
    degree to which different compilers had different ideas of what
    "C" was. As of this year we are celebrating the 35th anniversary
    of the original C standard, and the 25th anniversary of C99, so I
    think it's reasonable to expect that people participating in the
    newsgroup here at least know how to tell if some code they are
    working on is written in C or it isn't.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Brown@21:1/5 to Kenny McCormack on Tue Jan 30 09:26:16 2024
    On 30/01/2024 02:28, Kenny McCormack wrote:
    In article <20240129171130.110@kylheku.com>,
    Kaz Kylheku <433-929-6894@kylheku.com> wrote:
    On 2024-01-28, Paul Edwards <mutazilah@gmail.com> wrote:
    I have a different opinion about whether a
    C compiler written in C is on-topic in a C
    support forum.

    Say, would you be okay if all the traffic from the GCC mailing lists and
    the Clang discourse forum were copies to comp.lang.c?

    Davy (and others, both presently, and going back through the years) have
    made it abundantly clear that "stuff I like" is on-topic, and stuff I don't isn't.

    Very subjective, that.


    I am assuming, perhaps incorrectly, that you are referring to me. My
    name is "David". Not "Davy", "Dave", or any other abbreviation. You
    are free to disagree with any of my opinions, or the way I express them,
    but please at least get my name right - it's hardly a difficult task.

    If you want to share your thoughts about topicality, that's great.
    Rational arguments and justification would be preferable, but purely
    personal preferences are fine too. But if you just want to stir up
    annoyance, please don't.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From bart@21:1/5 to Tim Rentsch on Tue Jan 30 11:31:29 2024
    On 30/01/2024 06:31, Tim Rentsch wrote:
    bart <bc@freeuk.com> writes:

    On 30/01/2024 00:41, Tim Rentsch wrote:

    Paul Edwards <mutazilah@gmail.com> writes:

    [..is the code in cc32n.c topical?..]

    I have a different opinion about whether a
    C compiler written in C is on-topic in a C
    support forum.

    Any program written in C, whether or not it's a compiler, is
    topical in comp.lang.c.

    Unfortunately neither cc32n.c nor cc64.c is written in C. Rather
    they are written in a language that resembles C, and may even be
    compilable by some "C" compilers in a non-conforming mode, but
    they are not written in standard C.

    If you want help with one of these programs, and want to get it
    in this newsgroup, get the code to compile under, for example,
    gcc -std=c99 -pedantic-errors or gcc -std=c11 -pedantic-errors.
    Until that is done people are quite right to tell you to look
    for help elsewhere.

    I tried those options on these programs, which all failed:
    [...]

    However, who are YOU to tell ME what options to use when compiling
    my C code?

    I'm not telling anyone how to compile their programs. All I'm
    doing is giving a way of checking whether a program is C code or
    is written in a language that may look like C but isn't. Knowing
    how to do that is something I could have benefited from - many
    years ago I wrote some code that I thought was being written in
    C, but later I discovered that it wasn't. I started programming
    in C long before there was a C standard, and didn't realize the
    degree to which different compilers had different ideas of what
    "C" was. As of this year we are celebrating the 35th anniversary
    of the original C standard, and the 25th anniversary of C99, so I
    think it's reasonable to expect that people participating in the
    newsgroup here at least know how to tell if some code they are
    working on is written in C or it isn't.


    This program was machine generated. The way that is done now is a little different (for example it doesn't use standard C headers).

    If I apply -std=c11 -pedantic-errors, it fails on only 3 kinds of error:

    * String literals longer than 4095 characters

    * Initialising a void* value with the address of function

    * Casting an object pointer to a function pointer

    I consider the first genuinely pedantic (I've only seen one compiler
    with an actual limit for string literals, that was a 16K limit on MSVC,
    a decade ago).

    Those others are complaining about converting one kind of 64-bit pointer
    to another kind of 64-bit pointer. A conversion which, weirdly, would be considered fine if it want through an intermediate 64-bit integer type.

    The options I stipulate for compiling with gcc on Windows are:


    -m64 when not already the default (a 64-bit pointer size
    is hard-coded)

    -Wbuiltin-declaration-mismatch

    This is requested within the source via a #pragma

    On Linux (where a slightly different C file is needed as some
    OS-dependent routines are differently), they are:

    -m64

    -fno-builtin

    -lm -ldl

    Where the C compiler is invoked by the transpiler, the necessary options
    (plus -O3 if requested to be optimised) are applied automatically. The
    process of using intermediate C can be transparent.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kaz Kylheku@21:1/5 to bart on Tue Jan 30 20:33:50 2024
    On 2024-01-30, bart <bc@freeuk.com> wrote:
    Those others are complaining about converting one kind of 64-bit pointer
    to another kind of 64-bit pointer. A conversion which, weirdly, would be considered fine if it want through an intermediate 64-bit integer type.

    All these conversions are fine in that implementation.

    Someone using the pedantic warning wants to be informed about some
    exotic portability issues; would the code be other than fine on certain implementations.

    In an implementation in which you cannot convert between object and
    function pointers (or not in both ways), the detour through integers
    also won't be fine!

    See?

    --
    TXR Programming Language: http://nongnu.org/txr
    Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
    Mastodon: @Kazinator@mstdn.ca

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Tim Rentsch@21:1/5 to bart on Tue Jan 30 22:56:05 2024
    bart <bc@freeuk.com> writes:

    On 30/01/2024 06:31, Tim Rentsch wrote:

    [...]

    I'm not telling anyone how to compile their programs. All I'm
    doing is giving a way of checking whether a program is C code or
    is written in a language that may look like C but isn't. Knowing
    how to do that is something I could have benefited from - many
    years ago I wrote some code that I thought was being written in
    C, but later I discovered that it wasn't. I started programming
    in C long before there was a C standard, and didn't realize the
    degree to which different compilers had different ideas of what
    "C" was. As of this year we are celebrating the 35th anniversary
    of the original C standard, and the 25th anniversary of C99, so I
    think it's reasonable to expect that people participating in the
    newsgroup here at least know how to tell if some code they are
    working on is written in C or it isn't.

    This program was machine generated. The way that is done now is a
    little different (for example it doesn't use standard C headers).

    If I apply -std=c11 -pedantic-errors, it fails on only 3 kinds of
    error:

    * String literals longer than 4095 characters

    * Initialising a void* value with the address of function

    * Casting an object pointer to a function pointer

    If the .c file is program generated, it should be easy to fix.
    So fix it.

    (1) Presumably the generator knows which pointers are function
    pointers and which are not. Use a generic function type for
    storing function pointers rather than trying to force everything
    through void*.

    (2) Rather than use long string literals, store and initialize
    the variables involved (it looks like there are only two) as
    character arrays. It looks ugly but hey it's program generated
    code anyway. I tried writing a simple convertor using awk and it
    took maybe 10 or 15 minutes.

    Speaking of program generated source, C code that is program
    generated is definitely a second class citizen as far as the
    newsgroup is concerned. It's like saying a .o file is written in
    assembly. It isn't. Generated C source may clear the hurdle of
    being compilable but they can't usefully be worked on in that
    form and are generally incomprehensible to humans. It's fair
    game to ask about how to make generated source be legal C, but
    describing programs like this as "written in C" is hokum. Such
    programs are useless as C code in any practical sense of the term
    and thus are not suitable for discussion in comp.lang.c.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kenny McCormack@21:1/5 to tr.17687@z991.linuxsc.com on Wed Jan 31 08:58:53 2024
    In article <86a5omat4q.fsf@linuxsc.com>,
    Tim Rentsch <tr.17687@z991.linuxsc.com> wrote:
    ...
    Speaking of program generated source, C code that is program
    generated is definitely a second class citizen as far as the
    newsgroup is concerned. It's like saying a .o file is written in
    assembly. It isn't. Generated C source may clear the hurdle of
    being compilable but they can't usefully be worked on in that
    form and are generally incomprehensible to humans. It's fair
    game to ask about how to make generated source be legal C, but
    describing programs like this as "written in C" is hokum. Such
    programs are useless as C code in any practical sense of the term
    and thus are not suitable for discussion in comp.lang.c.

    Keep in mind that, as I've shown many times over the years, nothing is
    actually on topic in CLC.

    --
    Genesis 2:7 And the LORD God formed man of the dust of the ground, and
    breathed into his nostrils the breath of life; and man became a living soul.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Tim Rentsch@21:1/5 to Kenny McCormack on Thu Feb 1 05:28:15 2024
    gazelle@shell.xmission.com (Kenny McCormack) writes:

    In article <86a5omat4q.fsf@linuxsc.com>,
    Tim Rentsch <tr.17687@z991.linuxsc.com> wrote:
    ...

    Speaking of program generated source, C code that is program
    generated is definitely a second class citizen as far as the
    newsgroup is concerned. It's like saying a .o file is written in
    assembly. It isn't. Generated C source may clear the hurdle of
    being compilable but they can't usefully be worked on in that
    form and are generally incomprehensible to humans. It's fair
    game to ask about how to make generated source be legal C, but
    describing programs like this as "written in C" is hokum. Such
    programs are useless as C code in any practical sense of the term
    and thus are not suitable for discussion in comp.lang.c.

    Keep in mind that, as I've shown many times over the years, nothing is actually on topic in CLC.

    What you have most often shown is that the group would benefit from
    you departing the group and never returning, and lose nothing in
    return. Also that you take delight in being an asshole.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)