From 1412ca0120841c7f8a83633c5dc857add060445f Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Sat, 19 Sep 2020 13:03:18 +0200 Subject: [PATCH] build: extend "extern C" block in header files Upstream: https://github.com/cddlib/cddlib/pull/46 I am getting compile errors in sympol when I try to remove their extern "C" hack: extern "C" { #include } Turns out this is because cdd's own extern C are not broad enough. --- lib-src/cdd.h | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/lib-src/cdd.h b/lib-src/cdd.h index ebc52cc..d78d5d1 100644 --- a/lib-src/cdd.h +++ b/lib-src/cdd.h @@ -35,6 +35,10 @@ extern mytype dd_purezero; extern mytype dd_minuszero; extern mytype dd_minusone; +#if defined(__cplusplus) +extern "C" { +#endif + extern time_t dd_statStartTime; /* cddlib starting time */ extern long dd_statBApivots; /* basis finding pivots */ extern long dd_statCCpivots; /* criss-cross pivots */ @@ -53,10 +57,6 @@ extern dd_boolean dd_choiceLexicoPivotQ; /* whether to use the lexicographic /* ---------- FUNCTIONS MEANT TO BE PUBLIC ---------- */ -#if defined(__cplusplus) -extern "C" { -#endif - /* basic matrix manipulations */ void dd_InitializeArow(dd_colrange,dd_Arow *); void dd_InitializeAmatrix(dd_rowrange,dd_colrange,dd_Amatrix *); @@ -211,10 +211,6 @@ void dd_WriteLPMode(FILE *f); dd_MatrixPtr dd_FourierElimination(dd_MatrixPtr,dd_ErrorType *); dd_MatrixPtr dd_BlockElimination(dd_MatrixPtr, dd_colset, dd_ErrorType *); -#if defined(__cplusplus) -} -#endif - /* ---------- FUNCTIONS MEANT TO BE NON-PUBLIC ---------- */ void dd_QuickSort(dd_rowindex, long, long, dd_Amatrix, long); void dd_RandomPermutation(dd_rowindex, long, unsigned int seed); @@ -285,8 +281,8 @@ dd_PolyhedraPtr dd_CreatePolyhedraData(dd_rowrange, dd_colrange); dd_boolean dd_InitializeConeData(dd_rowrange, dd_colrange, dd_ConePtr*); dd_boolean dd_AppendMatrix2Poly(dd_PolyhedraPtr*, dd_MatrixPtr); - - - +#if defined(__cplusplus) +} +#endif /* end of cddlib.h */ -- 2.28.0