[gomp] Challenges in Implementing OpenMP

Scott Robert Ladd coyote@coyotegulch.com
Thu Oct 14 16:37:00 GMT 2004


Paolo Bonzini wrote:

> This example becomes easy again.  libgomp is not a minor feat, an gomp.c 
> is not, but less overwhelming than what your source code showed.

I'm spend so much of my life writing cross-platform code, I tend to 
ignore compiler-specific facilities such as nested functions in C.

> I think that it is feasible to target C at first, writing replacements 
> of the parser incrementally, to be used only within OpenMP directives. 
> The C++ parser should be taken into account, in order to make interfaces 
> as simple as possible.  Then, it is possible to provide "OpenMP parsing 
> hooks" into the parser, calling for example cp_parser_binary_expression 
> or c_parser_binary_expression, and enable OpenMP pragmas for C++ as well.
> 
> Unluckily, the Fortran front-end would probably be different in this 
> respect.

The initial design should work toward unifying the three languages to 
the greatest extent; that why I'm working on a document that defines 
where C, C++, and Fortran differ. The output of all three language 
parsers should end up being a language-neutral form that can be handled 
by later passes.

The C, C++, and Fortran frontends are quite different, so much so that I 
see little opportunity for code sharing between them. Perhaps I'm wrong...

-- 
Scott Robert Ladd
site: http://www.coyotegulch.com
blog: http://chaoticcoyote.blogspot.com



More information about the Gcc mailing list