comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <rm-host.bauhaus@maps.futureapps.de>
Subject: Re: Using local storage pools...
Date: Mon, 28 Feb 2011 00:46:48 +0100
Date: 2011-02-28T00:46:49+01:00	[thread overview]
Message-ID: <4d6ae269$0$6770$9b4e6d93@newsspool3.arcor-online.net> (raw)
In-Reply-To: <4D6A08C4.7040005@obry.net>

On 2/27/11 9:18 AM, Pascal Obry wrote:
> Le 27/02/2011 05:16, anon@att.net a écrit :
>> 1.2 The GNAT Compiler
>> ...
>> "In order to bridge the semantic gap between Ada and C, several GCC code
>> generation routines have been extended, and others added, so that the
>> burden of translation is also assumed by GIGI and GCC whenever it is
>> awkward or inefficient to perform the expansion in the front-end. For
>> example, there are code generation actions for exceptions, variant parts
>> and accesses to unconstrained types. As a matter of GCC policy, the code
>> generator is extended only when the extension is likely to be of benefit
>> to more than one language."
>>
>> The first sentence suggest the conversion is from Ada to C. And extending
>
> Wrong again. GCC is GNU Compiler Collection it is not a C compiler. So GCC code generation means just that, the middle-end and backend of GCC (shared with the C, C++ frontends and others) has been extended.
>
> Pascal.

I understand one claim is that GCC's infrastructure
had originally been made with sequential {}-languages in mind?
So that GCC's infrastructure won't be best for a concurrent language
such as Ada.
Consequently, that GNAT might actually profit from any changes
to GCC infrastructure in case they'll change it in order to support
the new C++ with its concurrency libraries.

Is it true at all that GCC's internals are biased towards "sequential"?
Hasn't even the C part grown with POSIX threads and corresponding
needs?  Grown with GCC being used as the system compiler of a major
commercial server operating system (GNU/Linux) written in C and
being a multitasking OS?

Is it true at all that GCC's infrastructure is unaware of parallelism?
GCC supports many of the primitive "concurrency instructions"
like read-and-increment or test-and-set.  So I don't think it is
true that today's GCC infrastructure neglects concurrency.

Is it likely that Apple could have developed Grand Central
Dispatch for the Objective-C part of GCC if using its backend
had been in the way ofthe concurrency goal?
They are switching to LLVM and CLang, though.

Curiously, the parallelism built-ins are readily available
to languages such as C and, to a lesser extent, to Ada.
Fortunately, recent GNAT makes some of these available, like the
SIMD instructions  for processors made by AMD and Intel.




      reply	other threads:[~2011-02-27 23:46 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-23 19:01 Using local storage pools Brian Drummond
2011-02-23 20:42 ` Dmitry A. Kazakov
2011-02-23 23:55   ` Brian Drummond
2011-02-24  9:26     ` Dmitry A. Kazakov
2011-02-24  9:51       ` Georg Bauhaus
2011-02-24 10:09         ` Dmitry A. Kazakov
2011-02-24 10:39         ` Brian Drummond
2011-02-23 20:51 ` Ludovic Brenta
2011-02-24  0:27   ` Brian Drummond
2011-02-24  8:03     ` Ludovic Brenta
2011-02-24 17:04       ` Brian Drummond
2011-02-24 12:34     ` Robert A Duff
2011-02-23 21:01 ` Simon Wright
2011-02-24  0:00   ` Brian Drummond
2011-02-26  3:02 ` Randy Brukardt
2011-02-26 18:41   ` Pascal Obry
2011-02-26 18:59     ` Pascal Obry
2011-02-26  3:07 ` Randy Brukardt
2011-02-26  8:41 ` anon
2011-02-26 10:42   ` Pascal Obry
2011-02-26 11:41   ` Ludovic Brenta
2011-02-27  4:16     ` anon
2011-02-27  8:18       ` Pascal Obry
2011-02-27 23:46         ` Georg Bauhaus [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox