Skip to content

Commit 59aead9

Browse files
authored
Merge pull request #396 from SebKrantz/development
Reorganizing header files to avoid namespace conflicts with OpenMP.
2 parents 46113ca + f2ff31e commit 59aead9

File tree

4 files changed

+12
-16
lines changed

4 files changed

+12
-16
lines changed

src/collapse_c.h

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
#ifdef _OPENMP
2-
#include <omp.h>
2+
#include <omp.h>
3+
#define OMP_NUM_PROCS omp_get_num_procs()
4+
#define OMP_THREAD_LIMIT omp_get_thread_limit()
5+
#define OMP_MAX_THREADS omp_get_max_threads()
6+
#else
7+
#define OMP_NUM_PROCS 1
8+
#define OMP_THREAD_LIMIT 1
9+
#define OMP_MAX_THREADS 1
310
#endif
11+
412
#include <R.h>
513
#include <Rinternals.h>
614

src/data.table_init.c

+1-13
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,8 @@
33
and licensed under a Mozilla Public License 2.0 (MPL-2.0) license.
44
*/
55

6-
#ifdef _OPENMP
7-
#include <omp.h>
8-
#define OMP_NUM_PROCS omp_get_num_procs()
9-
#define OMP_THREAD_LIMIT omp_get_thread_limit()
10-
#define OMP_MAX_THREADS omp_get_max_threads()
11-
#else
12-
#define OMP_NUM_PROCS 1
13-
#define OMP_THREAD_LIMIT 1
14-
#define OMP_MAX_THREADS 1
15-
#endif
16-
17-
6+
#include "collapse_c.h" // Needs to be first because includes OpenMP, to avoid namespace conflicts.
187
#include "data.table.h"
19-
#include "collapse_c.h"
208
#include <Rdefines.h>
219
// #include <R_ext/Rdynload.h>
2210
// #include <R_ext/Visibility.h>

src/fmode.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "collapse_c.h"
1+
#include "collapse_c.h" // Needs to be first because includes OpenMP
22
#include "kit.h"
33

44

src/fndistinct.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
#include "collapse_c.h" // Needs to be first because includes OpenMP
12
#include "kit.h"
2-
#include "collapse_c.h"
33

44
// C-implementations for different data types ----------------------------------
55
// TODO: outsource and memset hash table?

0 commit comments

Comments
 (0)