Skip to content

Commit 8a57593

Browse files
committed
sampling: use C++ syntax
1 parent 0e4a1bc commit 8a57593

File tree

1 file changed

+20
-23
lines changed

1 file changed

+20
-23
lines changed

test/iso_fortran_binding/sampling.cpp

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -30,30 +30,27 @@ static const char *cfi_errstrs[12] = {
3030
const char* cfiGetErrorString(int stat) {
3131

3232
switch (stat) {
33-
case CFI_SUCCESS: return cfi_errstrs[0] ; break;
34-
case CFI_ERROR_BASE_ADDR_NULL: return cfi_errstrs[1] ; break;
35-
case CFI_ERROR_BASE_ADDR_NOT_NULL: return cfi_errstrs[2] ; break;
36-
case CFI_INVALID_ELEM_LEN: return cfi_errstrs[3] ; break;
37-
case CFI_INVALID_RANK: return cfi_errstrs[4] ; break;
38-
case CFI_INVALID_TYPE: return cfi_errstrs[5] ; break;
39-
case CFI_INVALID_ATTRIBUTE: return cfi_errstrs[6] ; break;
40-
case CFI_INVALID_EXTENT: return cfi_errstrs[7] ; break;
41-
case CFI_INVALID_DESCRIPTOR: return cfi_errstrs[8] ; break;
42-
case CFI_ERROR_MEM_ALLOCATION: return cfi_errstrs[9] ; break;
43-
case CFI_ERROR_OUT_OF_BOUNDS: return cfi_errstrs[10] ; break;
33+
case CFI_SUCCESS: return cfi_errstrs[0];
34+
case CFI_ERROR_BASE_ADDR_NULL: return cfi_errstrs[1];
35+
case CFI_ERROR_BASE_ADDR_NOT_NULL: return cfi_errstrs[2];
36+
case CFI_INVALID_ELEM_LEN: return cfi_errstrs[3];
37+
case CFI_INVALID_RANK: return cfi_errstrs[4];
38+
case CFI_INVALID_TYPE: return cfi_errstrs[5];
39+
case CFI_INVALID_ATTRIBUTE: return cfi_errstrs[6];
40+
case CFI_INVALID_EXTENT: return cfi_errstrs[7];
41+
case CFI_INVALID_DESCRIPTOR: return cfi_errstrs[8];
42+
case CFI_ERROR_MEM_ALLOCATION: return cfi_errstrs[9];
43+
case CFI_ERROR_OUT_OF_BOUNDS: return cfi_errstrs[10];
4444
}
4545

4646
return cfi_errstrs[11];
4747
}
4848

49-
#define CHECK_CFI(func) \
50-
{ \
51-
int stat = (func); \
52-
if (stat != CFI_SUCCESS) { \
53-
fprintf(stderr,"%s:%d: CFI API failed with error: (%d) %s", \
54-
__FILE__, __LINE__, stat, cfiGetErrorString(stat)); \
55-
} \
56-
} \
49+
void check_cfi(int s)
50+
{
51+
if (s != CFI_SUCCESS)
52+
std::cerr << __FILE__ << ":" << __LINE__ << " CFI API failed with error: (" << s << ") " << cfiGetErrorString(s) << "\n";
53+
}
5754

5855
template<typename Action>
5956
class final_action
@@ -102,18 +99,18 @@ double estimate_pi(int n)
10299
CFI_CDESC_T(2) samples_;
103100
const auto samples = (CFI_cdesc_t *) &samples_;
104101

105-
CHECK_CFI( CFI_establish(samples,
106-
NULL,
102+
check_cfi( CFI_establish(samples,
103+
nullptr,
107104
CFI_attribute_allocatable,
108105
CFI_type_double,
109106
0 /* ignored */,
110107
(CFI_rank_t) 2,
111-
NULL /* ignored */) )
108+
nullptr /* ignored */) );
112109

113110
// Make sure we don't forget to deallocate
114111
auto dealloc = finally([&]{
115112
if (samples->base_addr) {
116-
CHECK_CFI( CFI_deallocate(samples) )
113+
check_cfi( CFI_deallocate(samples) );
117114
}
118115
});
119116

0 commit comments

Comments
 (0)