Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #94561

Re: Why I use gcc

From BartC <bc@freeuk.com>
Newsgroups comp.lang.c
Subject Re: Why I use gcc
Date 2016-10-07 17:36 +0100
Organization A noiseless patient Spider
Message-ID <nt8ito$lio$1@dont-email.me> (permalink)
References (5 earlier) <kfnintgarz8.fsf@x-alumni2.alumni.caltech.edu> <nsgv7f$n75$1@dont-email.me> <a01a11b7-2b73-48ec-a951-4d0a83b6b262@googlegroups.com> <nt8693$744$1@dont-email.me> <046cb5f6-3629-4320-a71e-8a3e9420cc01@googlegroups.com>

Show all headers | View raw


On 07/10/2016 15:48, Thiago Adams wrote:
> On Friday, October 7, 2016 at 10:00:48 AM UTC-3, Bart wrote:
>> On 07/10/2016 13:31, Thiago Adams wrote:

>>> What is this "my C-type-spec generator" ? What it does?
>>
>> It's part of my compiler which can translate another language to C
>> source code. It needs to take an internal representation of a type (or a
>> function declaration; the two are distinct in the other language), and
>> write it out in C type declaration syntax.
>
> Are you planning to debug your language?

That language is fine. Normally it's converted to x64 asm source code 
which is in many ways much easier than generating C!

But C's inside-out type declarations are tricky to get right, to 
minimise the number of parentheses, and to format nicely.

In the source language, I just write:

  ref windows function (int, int)=>ref int p

(declare p as pointer to Windows function taking two ints and returning 
pointer to int)

It currently generates this, where int32 is int32_t:

   int32 * __declspec(dllimport) (*p) (int32, int32);

That declspec thing must go between the "(" and "*" in "(*".

(If you mean, mapping errors lines in the generated C to the original 
source, then that is a separate matter. But once the compiler is 
debugged, errors in the generated C source arising errors in user 
programs are rare.)

> I also was thinking how to do this.
> In my case "other language" would be C11 or C11 plus my experiments and target language is ANSI C.
> I did some tests with visual studio and #line directive. I didn't conclude if it was something practical to do. Breakpoints and debugger worked.

I was thinking of doing the same once with C99 to C89 (and then 
experiment with lots of ideas for enhancements). But I doubt I'm ever 
going to do a C front-end because I would find it difficult to parse a 
syntax I don't care for.

>> then I believe the attribute A goes in these places for /most/ compilers:
>>
>>   int A foo (void);
>>   int*  foo (void);
>>   int (A *foo) (void);
>>   int* (A *foo) (void);
>>   (int (A *)(void))
>>   (int* (A *)(void))
>>
>
> Looks like this part on C grammar
>
> pointer:
> calling-convention
> calling-conventionOpt * type-qualifier-listopt
> calling-conventionOpt * type-qualifier-listopt pointer
>
> calling-convention:
> __fastcall
> etc...

Where is that from? I can't find it in the C99 standard.

-- 
Bartc

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Why I use gcc BartC <bc@freeuk.com> - 2016-09-26 14:31 +0100
  Re: Why I use gcc David Brown <david.brown@hesbynett.no> - 2016-09-26 15:45 +0200
    Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-26 15:22 +0100
      Re: Why I use gcc David Brown <david.brown@hesbynett.no> - 2016-09-26 16:31 +0200
      Re: Why I use gcc Tim Rentsch <txr@alumni.caltech.edu> - 2016-09-27 15:05 -0700
        Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-28 00:42 +0100
          Re: Why I use gcc Tim Rentsch <txr@alumni.caltech.edu> - 2016-09-28 09:50 -0700
            Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-28 18:39 +0100
              Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-07 12:28 +0100
                Re: Why I use gcc Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-10-07 04:36 -0700
              Re: Why I use gcc Thiago Adams <thiago.adams@gmail.com> - 2016-10-07 05:31 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-07 14:00 +0100
                Re: Why I use gcc Thiago Adams <thiago.adams@gmail.com> - 2016-10-07 07:48 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-07 17:36 +0100
                Re: Why I use gcc Thiago Adams <thiago.adams@gmail.com> - 2016-10-07 10:38 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-07 19:47 +0100
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-07 12:25 -0700
                Re: Why I use gcc Thiago Adams <thiago.adams@gmail.com> - 2016-10-07 12:26 -0700
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-07 13:10 -0700
                Re: Why I use gcc Thiago Adams <thiago.adams@gmail.com> - 2016-10-07 13:22 -0700
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-07 14:13 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-08 01:15 +0100
                Re: Why I use gcc James Harris <james.harris.1@gmail.com> - 2016-10-08 10:42 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-08 11:36 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-10-08 14:25 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-08 15:05 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-08 16:29 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-10-08 17:21 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-10-08 16:39 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-08 16:58 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-10-08 21:15 +0100
                Re: Why I use gcc supercat@casperkitty.com - 2016-10-08 11:27 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-08 20:09 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-10-08 21:16 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-08 21:28 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-10-09 01:19 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-09 01:36 +0100
                Re: Why I use gcc Thiago Adams <thiago.adams@gmail.com> - 2016-10-08 09:32 -0700
                Re: Why I use gcc Tim Rentsch <txr@alumni.caltech.edu> - 2016-10-09 03:44 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-09 12:07 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-10-09 12:12 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-09 12:37 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-10-09 13:57 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-09 14:32 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-10-09 20:00 +0100
                Re: Why I use gcc Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-10-09 13:14 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-09 22:54 +0100
                Re: Why I use gcc Tim Rentsch <txr@alumni.caltech.edu> - 2016-10-15 14:40 -0700
                Re: Why I use gcc James Kuyper <jameskuyper@verizon.net> - 2016-10-07 10:37 -0400
                Re: Why I use gcc supercat@casperkitty.com - 2016-10-07 07:52 -0700
                Re: Why I use gcc jameskuyper@verizon.net - 2016-10-07 09:10 -0700
                Re: Why I use gcc supercat@casperkitty.com - 2016-10-07 10:48 -0700
                Re: Why I use gcc jameskuyper@verizon.net - 2016-10-07 16:21 -0700
                Re: Why I use gcc supercat@casperkitty.com - 2016-10-08 11:15 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-07 17:12 +0100
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-07 12:20 -0700
                Re: Why I use gcc Thiago Adams <thiago.adams@gmail.com> - 2016-10-07 12:32 -0700
  Re: Why I use gcc Richard Heathfield <rjh@cpax.org.uk> - 2016-09-26 14:45 +0100
    Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-26 15:12 +0100
      Re: Why I use gcc Richard Heathfield <rjh@cpax.org.uk> - 2016-09-26 15:26 +0100
        Re: Why I use gcc supercat@casperkitty.com - 2016-09-26 08:00 -0700
          Re: Why I use gcc Tim Rentsch <txr@alumni.caltech.edu> - 2016-09-28 10:49 -0700
        Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-26 17:30 +0100
          Re: Why I use gcc David Brown <david.brown@hesbynett.no> - 2016-09-26 21:12 +0200
            Re: Why I use gcc jacobnavia <jacob@jacob.remcomp.fr> - 2016-09-26 22:09 +0200
            Re: Why I use gcc supercat@casperkitty.com - 2016-09-26 13:32 -0700
              Re: Why I use gcc jacobnavia <jacob@jacob.remcomp.fr> - 2016-09-26 23:14 +0200
                Re: Why I use gcc Richard Heathfield <rjh@cpax.org.uk> - 2016-09-26 22:47 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-27 01:13 +0100
                Re: Why I use gcc Richard Heathfield <rjh@cpax.org.uk> - 2016-09-27 01:18 +0100
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-09-26 17:41 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-27 02:01 +0100
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-09-27 08:41 -0700
                Re: Why I use gcc James Harris <james.harris.1@gmail.com> - 2016-09-27 01:41 +0100
                Re: Why I use gcc jameskuyper@verizon.net - 2016-09-26 18:15 -0700
                Re: Why I use gcc Gareth Owen <gwowen@gmail.com> - 2016-09-27 20:59 +0100
                Re: Why I use gcc Richard Heathfield <rjh@cpax.org.uk> - 2016-09-27 21:50 +0100
                Re: Why I use gcc Tim Rentsch <txr@alumni.caltech.edu> - 2016-09-28 06:26 -0700
                Re: Why I use gcc gazelle@shell.xmission.com (Kenny McCormack) - 2016-09-27 23:23 +0000
                Re: Why I use gcc Noob <root@127.0.0.1> - 2016-10-08 00:12 +0200
                Re: Why I use gcc James Kuyper <jameskuyper@verizon.net> - 2016-10-07 23:11 -0400
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-08 10:58 +0100
                Re: Why I use gcc jameskuyper@verizon.net - 2016-10-08 07:07 -0700
                Re: Why I use gcc Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-10-07 21:44 -0700
              Re: Why I use gcc David Brown <david.brown@hesbynett.no> - 2016-09-27 09:48 +0200
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-27 11:22 +0100
                Re: Why I use gcc David Brown <david.brown@hesbynett.no> - 2016-09-27 13:52 +0200
                Re: Why I use gcc jacobnavia <jacob@jacob.remcomp.fr> - 2016-09-27 14:47 +0200
                Re: Why I use gcc David Brown <david.brown@hesbynett.no> - 2016-09-27 15:18 +0200
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-27 14:38 +0100
                Re: Why I use gcc jacobnavia <jacob@jacob.remcomp.fr> - 2016-09-27 17:21 +0200
                Re: Why I use gcc jacobnavia <jacob@jacob.remcomp.fr> - 2016-09-27 17:17 +0200
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-09-27 08:52 -0700
                Re: Why I use gcc Robert Wessel <robertwessel2@yahoo.com> - 2016-09-30 02:00 -0500
                Re: Why I use gcc supercat@casperkitty.com - 2016-09-27 07:18 -0700
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-09-27 08:46 -0700
                Re: Why I use gcc supercat@casperkitty.com - 2016-09-27 09:11 -0700
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-27 13:33 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-27 14:13 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-27 15:30 +0100
                Re: Why I use gcc supercat@casperkitty.com - 2016-09-27 08:29 -0700
                Re: Why I use gcc supercat@casperkitty.com - 2016-09-27 07:11 -0700
            Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-26 21:43 +0100
            Re: Why I use gcc raltbos@xs4all.nl (Richard Bos) - 2016-09-30 17:50 +0000
          Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-27 01:04 +0100
            Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-09-26 17:39 -0700
              Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-27 01:49 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-27 11:39 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-27 11:56 +0100
                Re: Why I use gcc Tim Rentsch <txr@alumni.caltech.edu> - 2016-09-27 15:15 -0700
                Re: Why I use gcc David Brown <david.brown@hesbynett.no> - 2016-09-28 08:55 +0200
    Re: Why I use gcc jacobnavia <jacob@jacob.remcomp.fr> - 2016-09-26 22:11 +0200
      Re: Why I use gcc Richard Heathfield <rjh@cpax.org.uk> - 2016-09-26 22:04 +0100
  Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-10 11:39 +0100
    Re: Why I use gcc already5chosen@yahoo.com - 2016-10-10 07:32 -0700
      Re: Why I use gcc Richard Heathfield <rjh@cpax.org.uk> - 2016-10-10 16:17 +0100
        Re: Why I use gcc Robert Wessel <robertwessel2@yahoo.com> - 2016-10-10 21:09 -0500
          Re: Why I use gcc Richard Heathfield <rjh@cpax.org.uk> - 2016-10-11 04:18 +0100
          Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-11 10:56 +0100
            Re: Why I use gcc already5chosen@yahoo.com - 2016-10-11 04:08 -0700
              Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-11 13:36 +0100
                Re: Why I use gcc already5chosen@yahoo.com - 2016-10-11 06:20 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-11 14:29 +0100
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-11 09:31 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-11 19:38 +0100
                Re: Why I use gcc supercat@casperkitty.com - 2016-10-11 12:23 -0700
                Re: Why I use gcc jacobnavia <jacob@jacob.remcomp.fr> - 2016-10-11 23:19 +0200
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-11 23:26 +0100
                Re: Why I use gcc jacobnavia <jacob@jacob.remcomp.fr> - 2016-10-12 09:01 +0200
                Re: Why I use gcc supercat@casperkitty.com - 2016-10-12 08:55 -0700
                Re: Why I use gcc already5chosen@yahoo.com - 2016-10-12 10:52 -0700
                Re: Why I use gcc supercat@casperkitty.com - 2016-10-12 12:34 -0700
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-12 13:18 -0700
                Re: Why I use gcc luser droog <luser.droog@gmail.com> - 2016-10-12 13:24 -0700
                Re: Why I use gcc crankypuss <undisclosedUserid@gmail.com> - 2016-10-13 13:31 -0600
                Re: Why I use gcc Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-10-16 03:00 -0700
                Re: Why I use gcc crankypuss <undisclosedUserid@gmail.com> - 2016-10-16 04:46 -0600
                Re: Why I use gcc Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-10-16 04:05 -0700
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-11 12:28 -0700
                Re: Why I use gcc Thiago Adams <thiago.adams@gmail.com> - 2016-10-11 13:24 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-11 21:28 +0100
                Re: Why I use gcc gazelle@shell.xmission.com (Kenny McCormack) - 2016-10-11 20:43 +0000
                Re: Why I use gcc Robert Wessel <robertwessel2@yahoo.com> - 2016-10-11 23:40 -0500
            Re: Why I use gcc already5chosen@yahoo.com - 2016-10-11 04:40 -0700
      Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-10 18:19 +0100
    Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-10 09:08 -0700
      Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-10 18:04 +0100
        Re: Why I use gcc supercat@casperkitty.com - 2016-10-10 10:39 -0700
        Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-10 11:25 -0700
      Re: Why I use gcc Jerry Stuckle <jstucklex@attglobal.net> - 2016-10-10 17:05 -0400
        Re: Why I use gcc supercat@casperkitty.com - 2016-10-10 14:46 -0700
    Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-15 13:39 +0100
      Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-15 13:40 -0700
        Re: Why I use gcc already5chosen@yahoo.com - 2016-10-15 13:46 -0700

csiph-web