This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [gomp] Challenges in Implementing OpenMP


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]