Feature Request: OMP on demand

Dear Clang-developers

This is a thing about OpenMP and Pragma Handlers

I recently upgraded the tool we develop to use clang 3.4. I found some trouble since there is some kind of OpenMP support and I had to patch the code to avoid the registration in the pre-processor of the "official" OMP pragma handler so we can register ours.

My questions are:
     - How stable/complete is the OpenMP handling? is there any planned release date for omp support or is just experimental?

     - could be possible to deactivate this code so I don't need patch the code? There are no facilities to modify the preprocessor top level pragma handler, and no way to unregister a handler from any namespace without having the object pointer address.

Would be nice to have something like unregisterNamespace(const std::String& ) either in the pragmaNamespace Class or in the preprocessor, this last one could have an accessor to the top level pragma namespace class registered by default.

cheers!
Luis Ayuso

From: "Luis Fernando Ayuso Perez" <luis@dps.uibk.ac.at>
To: cfe-dev@cs.uiuc.edu
Sent: Thursday, January 30, 2014 3:19:22 AM
Subject: [cfe-dev] Feature Request: OMP on demand

Dear Clang-developers

This is a thing about OpenMP and Pragma Handlers

I recently upgraded the tool we develop to use clang 3.4. I found
some
trouble since there is some kind of OpenMP support and I had to patch
the code to avoid the registration in the pre-processor of the
"official" OMP pragma handler so we can register ours.

My questions are:
     - How stable/complete is the OpenMP handling? is there any
     planned
release date for omp support or is just experimental?

We're currently working on contributing full OpenMP support to Clang, but it takes time to get such a large patchset reviewed. In the mean time, I've been helping to maintain a trunk-rebased version of the full patchset here: https://github.com/clang-omp/clang_trunk -- it is my hope that we'll have full support upstream for Clang 3.5.

-Hal

I'm biased, but I'd say ditch your code and sync with upstream. The implementation is supported, there's a corresponding open source runtime and design is sane. I imagine within this year it'll have "complete" OMP support up to the latest standard.

The best way to help with OMP now is code reviews, testing and if possible contributing patches for missing features. Intel has an out-of-tree fork they are slowly working to get merged into master.