Skip to content

Commit 4a47dcb

Browse files
authored
Merge pull request #792 from krlmlr/f-fallthrough
fallthrough comments
2 parents a9d8632 + 749175b commit 4a47dcb

File tree

2 files changed

+41
-38
lines changed

2 files changed

+41
-38
lines changed

inst/include/Rcpp/internal/wrap.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,13 @@ namespace Rcpp {
128128
switch (size - i) {
129129
case 3:
130130
start[i] = first[i]; i++;
131+
// fallthrough
131132
case 2:
132133
start[i] = first[i]; i++;
134+
// fallthrough
133135
case 1:
134136
start[i] = first[i]; i++;
137+
// fallthrough
135138
case 0:
136139
default:
137140
{}

inst/include/Rcpp/macros/unroll.h

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -44,46 +44,46 @@ switch (n - i){ \
4444
}
4545

4646

47-
#define RCPP_LOOP_UNROLL(TARGET,SOURCE) \
48-
R_xlen_t __trip_count = n >> 2 ; \
49-
R_xlen_t i = 0 ; \
50-
for ( ; __trip_count > 0 ; --__trip_count) { \
51-
TARGET[i] = SOURCE[i] ; i++ ; \
52-
TARGET[i] = SOURCE[i] ; i++ ; \
53-
TARGET[i] = SOURCE[i] ; i++ ; \
54-
TARGET[i] = SOURCE[i] ; i++ ; \
55-
} \
56-
switch (n - i){ \
57-
case 3: \
58-
TARGET[i] = SOURCE[i] ; i++ ; \
59-
case 2: \
60-
TARGET[i] = SOURCE[i] ; i++ ; \
61-
case 1: \
62-
TARGET[i] = SOURCE[i] ; i++ ; \
63-
case 0: \
64-
default: \
65-
{} \
47+
#define RCPP_LOOP_UNROLL(TARGET,SOURCE) \
48+
R_xlen_t __trip_count = n >> 2 ; \
49+
R_xlen_t i = 0 ; \
50+
for ( ; __trip_count > 0 ; --__trip_count) { \
51+
TARGET[i] = SOURCE[i] ; i++ ; \
52+
TARGET[i] = SOURCE[i] ; i++ ; \
53+
TARGET[i] = SOURCE[i] ; i++ ; \
54+
TARGET[i] = SOURCE[i] ; i++ ; \
55+
} \
56+
switch (n - i){ \
57+
case 3: \
58+
TARGET[i] = SOURCE[i] ; i++ ; /* fallthrough */ \
59+
case 2: \
60+
TARGET[i] = SOURCE[i] ; i++ ; /* fallthrough */ \
61+
case 1: \
62+
TARGET[i] = SOURCE[i] ; i++ ; /* fallthrough */ \
63+
case 0: \
64+
default: \
65+
{} \
6666
}
6767

68-
#define RCPP_LOOP_UNROLL_LHSFUN(TARGET,FUN,SOURCE) \
69-
R_xlen_t __trip_count = n >> 2 ; \
70-
R_xlen_t i = 0 ; \
71-
for ( ; __trip_count > 0 ; --__trip_count) { \
72-
TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
73-
TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
74-
TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
75-
TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
76-
} \
77-
switch (n - i){ \
78-
case 3: \
79-
TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
80-
case 2: \
81-
TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
82-
case 1: \
83-
TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
84-
case 0: \
85-
default: \
86-
{} \
68+
#define RCPP_LOOP_UNROLL_LHSFUN(TARGET,FUN,SOURCE) \
69+
R_xlen_t __trip_count = n >> 2 ; \
70+
R_xlen_t i = 0 ; \
71+
for ( ; __trip_count > 0 ; --__trip_count) { \
72+
TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
73+
TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
74+
TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
75+
TARGET[FUN(i)] = SOURCE[i] ; i++ ; \
76+
} \
77+
switch (n - i){ \
78+
case 3: \
79+
TARGET[FUN(i)] = SOURCE[i] ; i++ ; /* fallthrough */ \
80+
case 2: \
81+
TARGET[FUN(i)] = SOURCE[i] ; i++ ; /* fallthrough */ \
82+
case 1: \
83+
TARGET[FUN(i)] = SOURCE[i] ; i++ ; /* fallthrough */ \
84+
case 0: \
85+
default: \
86+
{} \
8787
}
8888

8989
#endif

0 commit comments

Comments
 (0)