Merge branch 'master' into royuelaalcaz1-omp_preproc_directive_bug-rc
Fix use of macros, which are defined in headers with no SgLocatedNode, in OpenMP clauses

It fixes expression replacement implemented in the previous commit as wellOB.
See #a33f305e400fe93a89cba23070dea6eb1d4a12e9
Merge branch 'master' into royuelaalcaz1-omp_preproc_directive_bug
Fix cross reference in OpenMP grammar between additive and multiplicative expressions

Also fixes wrong commit about macro values substitution in OpenMP clauses: when fixing
complex expressions, we broke simple expressions solution.
See #a33f305e400fe93a89cba23070dea6eb1d4a12e9

Add compiler tests for this feature
Add compiler tests for OpenMP clauses containing macro definitions

See #db95a183b20fac50ea2931072a2c47fd6ba46949
Merge pull request #1 from royuelaalcaz1/royuelaalcaz1-omp_preproc_directive_bug

Royuelaalcaz1 omp preproc directive bug
This fixes OpenMP bug when Section contains one statement not wrapped with braces

This bug reported by Allan Porterfield was caused because omp_lowerering assumed
the body of an OpenMP Section to be a Basic Block. This is not the case when
there is only one statement associated with the Section pragma and it is not
wrapped with braces.
Add test for OpenMP sections compilation

See #cdabaa714f6fc7d55b68248df4e2c1dbe1d314bd
This correction ensures a section's block to be attached in the AST
Merge pull request #2 from royuelaalcaz1/royuelaalcaz1-omp_sections_bug

This fixes OpenMP bug when Section contains one statement not wrapped wi...
Add checking for GCC version when using GOMP OpenMP runtime library

The GCC version must be at least 4.4 to use OpenMP 3.0 GOMP calls.
Merge branch 'master' into royuelaalcaz1-omp_preproc_directive_bug
Extend IncludeDirective to accept macros with the syntax '#include MACRO_CALL()'
Merge branch 'master' of https://github.llnl.gov/royuelaalcaz1/rose
Merge branch 'master' of /nfs/casc/overture/ROSE/git/ROSE
Fix GCC checking when GOMP OpenMP runtime library is defined

The verification is now in the linking phase instead of the compiling phase
We also use the __GNUC__ macro instead of using BACKEND_CXX_COMPILER_NAME
Fix array initialization of outlined function parameter struct

When the struct which is parameter of an outlined function
contains an array, it has to be initialized element by element.

We also fix casting of the outlined struct members when they are arrays.
It was casted to an array, but this is forbidden in C, we have
to cast to pointer.

Example:
struct OUT__1__6165___data {
  int A[2UL];
};

void foo()
{
  int A[2UL] = {(0), (1)};
  struct OUT__1__6165___data __out_argv1__6165__;

  // ****************************************** //
  // Initialize element by element
  int __i0__;
  for (__i0__ = 0; __i0__ < 2UL; __i0__++)
     *(__out_argv1__6165__.A + __i0__) =  *(A + __i0__);
  // ****************************************** //

  XOMP_task(OUT__1__6165__,&__out_argv1__6165__,0,sizeof(struct OUT__1__6165___data ),4,1,0);
}

static void OUT__1__6165__(void *__out_argv)
{
  // ****************************************** //
  // Even though '((struct OUT__1__6165___data *)__out_argv) -> A'
  // is an array, we have to cast to pointer
  int *A = (int *)(((struct OUT__1__6165___data *)__out_argv) -> A);
  int _p_A[2UL];
  {
    int *A_ap = (int *)A;
    int *_p_A_ap = (int *)_p_A;
    int _p_i;
    for (_p_i = 0; _p_i < 2; _p_i++)
       *(_p_A_ap + _p_i) =  *(A_ap + _p_i);
  }
  // ****************************************** //

  ... // The outlined code
}
Merge pull request #4 from royuelaalcaz1/royuelaalcaz1-omp_preproc_directive_bug

Royuelaalcaz1 omp preproc directive bug
Merge pull request #3 from royuelaalcaz1/royuelaalcaz1-gcc_version

Add checking for GCC version when using GOMP OpenMP runtime library
Add test proving bug fixing