Skip to content

Commit c783cda

Browse files
authored
add a workflow to check clang-format (r-lib#79)
1 parent 6815d4b commit c783cda

23 files changed

+116
-64
lines changed

.github/workflows/format.yaml

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
on:
2+
push:
3+
branches: master
4+
pull_request:
5+
branches:
6+
- master
7+
8+
name: format_check
9+
10+
jobs:
11+
format_check:
12+
runs-on: ubuntu-18.04
13+
steps:
14+
- uses: actions/checkout@v2
15+
16+
- name: Install ClangFormat
17+
run: sudo apt-get install -y clang-format-10
18+
19+
- name: Run ClangFormat
20+
run: make format clang_format=clang-format-10
21+
22+
- name: Check for a non-empty diff
23+
run: git diff-files -U --exit-code
24+

Makefile

+8
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,11 @@ test: all
1010

1111
clean:
1212
@Rscript -e 'devtools::clean_dll()'
13+
14+
clang_format=`which clang-format`
15+
format: $(shell find . -name *.hpp) $(shell find . -name *.cpp)
16+
ifeq ($(findstring version 10,$(shell ${clang_format} --version 2>/dev/null)),)
17+
@echo "clang-format 10 is required"
18+
else
19+
@${clang_format} -i $?
20+
endif

cpp11test/src/test-list.cpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,7 @@ context("list-C++") {
5959
}
6060

6161
test_that("list::iterator uses VECTOR_ELT") {
62-
cpp11::writable::list x({
63-
cpp11::writable::integers({1, 2})
64-
});
62+
cpp11::writable::list x({cpp11::writable::integers({1, 2})});
6563
cpp11::integers first(*x.begin());
6664
expect_true(first[0] == 1);
6765
expect_true(first[1] == 2);

cpp11test/src/test-list_of.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
#include <testthat.h>
2-
#include "cpp11/strings.hpp"
32
#include "cpp11/doubles.hpp"
43
#include "cpp11/list.hpp"
54
#include "cpp11/list_of.hpp"
5+
#include "cpp11/strings.hpp"
66

77
context("list_of-C++") {
88
test_that("list_of works") {
99
using namespace cpp11::literals;
1010

1111
cpp11::writable::list x({"x"_nm = cpp11::writable::doubles({1., 2., 3.}),
12-
"y"_nm = cpp11::writable::doubles({4., 5., 6.})});
12+
"y"_nm = cpp11::writable::doubles({4., 5., 6.})});
1313

1414
cpp11::list_of<cpp11::doubles> res(x);
1515

@@ -24,7 +24,7 @@ context("list_of-C++") {
2424
using namespace cpp11::literals;
2525

2626
cpp11::writable::list x({"x"_nm = cpp11::writable::doubles({1., 2., 3.}),
27-
"y"_nm = cpp11::writable::doubles({4., 5., 6.})});
27+
"y"_nm = cpp11::writable::doubles({4., 5., 6.})});
2828

2929
cpp11::writable::list_of<cpp11::writable::doubles> res(x);
3030

inst/include/cpp11.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
#include "cpp11/matrix.hpp"
1717
#include "cpp11/named_arg.hpp"
1818
#include "cpp11/protect.hpp"
19+
#include "cpp11/r_string.hpp"
20+
#include "cpp11/r_vector.hpp"
1921
#include "cpp11/raws.hpp"
2022
#include "cpp11/sexp.hpp"
21-
#include "cpp11/r_string.hpp"
2223
#include "cpp11/strings.hpp"
23-
#include "cpp11/r_vector.hpp"

inst/include/cpp11/attribute_proxy.hpp

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
#pragma once
22

3-
#include <initializer_list> // for initializer_list
4-
#include <string> // for string, basic_string
3+
#include <initializer_list> // for initializer_list
4+
#include <string> // for string, basic_string
5+
56
#include "cpp11/R.hpp" // for SEXP, SEXPREC, Rf_install, PROTECT, Rf_...
67
#include "cpp11/as.hpp" // for as_sexp
78
#include "cpp11/protect.hpp" // for protect, safe, protect::function

inst/include/cpp11/data_frame.hpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
#pragma once
22

3-
#include <cstdlib> // for abs
4-
#include <initializer_list> // for initializer_list
5-
#include <string> // for string, basic_string
6-
#include <utility> // for move
3+
#include <cstdlib> // for abs
4+
#include <cstdlib>
5+
#include <initializer_list> // for initializer_list
6+
#include <string> // for string, basic_string
7+
#include <utility> // for move
8+
79
#include "R_ext/Arith.h" // for NA_INTEGER
810
#include "cpp11/R.hpp" // for Rf_xlength, SEXP, SEXPREC, INTEGER
911
#include "cpp11/attribute_proxy.hpp" // for attribute_proxy
1012
#include "cpp11/list.hpp" // for list, r_vector<>::r_vector, r_v...
1113
#include "cpp11/r_vector.hpp" // for r_vector
1214

13-
#include <cstdlib>
14-
1515
namespace cpp11 {
1616

1717
class named_arg;

inst/include/cpp11/doubles.hpp

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
#pragma once
22

3-
#include <algorithm> // for min
4-
#include <array> // for array
5-
#include <initializer_list> // for initializer_list
3+
#include <algorithm> // for min
4+
#include <array> // for array
5+
#include <initializer_list> // for initializer_list
6+
67
#include "R_ext/Arith.h" // for ISNA
78
#include "cpp11/R.hpp" // for SEXP, SEXPREC, Rf_allocVector, REAL
89
#include "cpp11/as.hpp" // for as_sexp

inst/include/cpp11/environment.hpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#pragma once
22

3-
#include <string> // for string, basic_string
3+
#include <string> // for string, basic_string
4+
45
#include "Rversion.h" // for R_VERSION, R_Version
56
#include "cpp11/R.hpp" // for SEXP, SEXPREC, Rf_install, Rf_findVarIn...
67
#include "cpp11/as.hpp" // for as_sexp

inst/include/cpp11/external_pointer.hpp

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
#pragma once
22

3-
#include <cstddef> // for nullptr_t, NULL
4-
#include <memory> // for bad_weak_ptr
5-
#include <type_traits> // for add_lvalue_reference
3+
#include <cstddef> // for nullptr_t, NULL
4+
#include <memory> // for bad_weak_ptr
5+
#include <type_traits> // for add_lvalue_reference
6+
67
#include "cpp11/R.hpp" // for SEXP, SEXPREC, TYPEOF, R_NilValue, R_C...
78
#include "cpp11/protect.hpp" // for protect, safe, protect::function
89
#include "cpp11/r_vector.hpp" // for type_error

inst/include/cpp11/function.hpp

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
#pragma once
22

3-
#include <string.h> // for strcmp
4-
#include <string> // for string, basic_string
5-
#include <utility> // for forward
3+
#include <string.h> // for strcmp
4+
5+
#include <string> // for string, basic_string
6+
#include <utility> // for forward
7+
68
#include "cpp11/R.hpp" // for SEXP, SEXPREC, CDR, Rf_install, SETCAR
79
#include "cpp11/as.hpp" // for as_sexp
810
#include "cpp11/named_arg.hpp" // for named_arg

inst/include/cpp11/integers.hpp

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
#pragma once
22

3-
#include <algorithm> // for min
4-
#include <array> // for array
5-
#include <initializer_list> // for initializer_list
3+
#include <algorithm> // for min
4+
#include <array> // for array
5+
#include <initializer_list> // for initializer_list
6+
67
#include "R_ext/Arith.h" // for NA_INTEGER
78
#include "cpp11/R.hpp" // for SEXP, SEXPREC, Rf_allocVector
89
#include "cpp11/as.hpp" // for as_sexp

inst/include/cpp11/list.hpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#pragma once
22

3-
#include <initializer_list> // for initializer_list
3+
#include <initializer_list> // for initializer_list
4+
45
#include "cpp11/R.hpp" // for SEXP, SEXPREC, SET_VECTOR_ELT
56
#include "cpp11/attribute_proxy.hpp" // for attribute_proxy
67
#include "cpp11/named_arg.hpp" // for named_arg

inst/include/cpp11/list_of.hpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#pragma once
22

3-
#include <string> // for string, basic_string
3+
#include <string> // for string, basic_string
4+
45
#include "cpp11/R.hpp" // for R_xlen_t, SEXP, SEXPREC, LONG_VECTOR_SUPPORT
56
#include "cpp11/list.hpp" // for list
67

inst/include/cpp11/logicals.hpp

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
#pragma once
22

3-
#include <algorithm> // for min
4-
#include <array> // for array
5-
#include <initializer_list> // for initializer_list
3+
#include <algorithm> // for min
4+
#include <array> // for array
5+
#include <initializer_list> // for initializer_list
6+
67
#include "cpp11/R.hpp" // for Rboolean, SEXP, SEXPREC, Rf_all...
78
#include "cpp11/attribute_proxy.hpp" // for attribute_proxy
89
#include "cpp11/named_arg.hpp" // for named_arg

inst/include/cpp11/matrix.hpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#pragma once
22

3-
#include <string> // for string
3+
#include <string> // for string
4+
45
#include "cpp11/R.hpp" // for SEXP, SEXPREC, R_xlen_t, Rboolean, INT...
56
#include "cpp11/r_string.hpp" // for r_string
67
#include "cpp11/r_vector.hpp" // for r_vector

inst/include/cpp11/named_arg.hpp

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
#pragma once
22

3-
#include <stddef.h> // for size_t
3+
#include <stddef.h> // for size_t
4+
45
#include <initializer_list> // for initializer_list
5-
#include "cpp11/R.hpp" // for SEXP, SEXPREC, literals
6-
#include "cpp11/as.hpp" // for as_sexp
6+
7+
#include "cpp11/R.hpp" // for SEXP, SEXPREC, literals
8+
#include "cpp11/as.hpp" // for as_sexp
79

810
namespace cpp11 {
911
class named_arg {

inst/include/cpp11/protect.hpp

+7-5
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
#pragma once
22

3+
#include <csetjmp> // for longjmp, setjmp, jmp_buf
4+
#include <exception> // for exception
5+
#include <stdexcept> // for std::runtime_error
6+
#include <string> // for string, basic_string
7+
#include <tuple> // for tuple, make_tuple
8+
9+
// NB: cpp11/R.hpp must precede R_ext includes so our definition of Rboolean is used
310
#include "cpp11/R.hpp" // for SEXP, SEXPREC, CDR, R_NilValue, CAR, R_Pres...
411

5-
#include <csetjmp> // for longjmp, setjmp, jmp_buf
6-
#include <exception> // for exception
7-
#include <stdexcept> // for std::runtime_error
8-
#include <string> // for string, basic_string
9-
#include <tuple> // for tuple, make_tuple
1012
#include "R_ext/Error.h" // for Rf_error, Rf_warning
1113
#include "R_ext/Print.h" // for REprintf
1214
#include "R_ext/Utils.h" // for R_CheckUserInterrupt

inst/include/cpp11/r_string.hpp

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
#pragma once
22

3-
#include <string> // for string, basic_string, operator==
4-
#include <type_traits> // for is_convertible, enable_if
3+
#include <string> // for string, basic_string, operator==
4+
#include <type_traits> // for is_convertible, enable_if
5+
56
#include "R_ext/Memory.h" // for vmaxget, vmaxset
67
#include "cpp11/R.hpp" // for SEXP, SEXPREC, Rf_mkCharCE, Rf_translat...
78
#include "cpp11/as.hpp" // for as_sexp

inst/include/cpp11/r_vector.hpp

+13-11
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
#pragma once
22

3-
#include <stddef.h> // for ptrdiff_t, size_t
4-
#include <algorithm> // for max
5-
#include <array> // for array
6-
#include <cstdio> // for snprintf
7-
#include <exception> // for exception
8-
#include <initializer_list> // for initializer_list
9-
#include <iterator> // for forward_iterator_tag, random_ac...
10-
#include <stdexcept> // for out_of_range
11-
#include <string> // for string, basic_string
12-
#include <type_traits> // for decay, is_same, enable_if, is_c...
13-
#include <utility> // for declval
3+
#include <stddef.h> // for ptrdiff_t, size_t
4+
5+
#include <algorithm> // for max
6+
#include <array> // for array
7+
#include <cstdio> // for snprintf
8+
#include <exception> // for exception
9+
#include <initializer_list> // for initializer_list
10+
#include <iterator> // for forward_iterator_tag, random_ac...
11+
#include <stdexcept> // for out_of_range
12+
#include <string> // for string, basic_string
13+
#include <type_traits> // for decay, is_same, enable_if, is_c...
14+
#include <utility> // for declval
15+
1416
#include "cpp11/R.hpp" // for R_xlen_t, SEXP, SEXPREC, Rf_xle...
1517
#include "cpp11/attribute_proxy.hpp" // for attribute_proxy
1618
#include "cpp11/protect.hpp" // for protect_sexp, release_protect

inst/include/cpp11/raws.hpp

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
#pragma once
22

3-
#include <algorithm> // for min
4-
#include <array> // for array
5-
#include <cstdint> // for uint8_t
6-
#include <initializer_list> // for initializer_list
3+
#include <algorithm> // for min
4+
#include <array> // for array
5+
#include <cstdint> // for uint8_t
6+
#include <initializer_list> // for initializer_list
7+
78
#include "cpp11/R.hpp" // for RAW, SEXP, SEXPREC, Rf_allocVector
89
#include "cpp11/attribute_proxy.hpp" // for attribute_proxy
910
#include "cpp11/named_arg.hpp" // for named_arg

inst/include/cpp11/sexp.hpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
#pragma once
22

3-
#include <stddef.h> // for size_t
4-
#include <string> // for string, basic_string
3+
#include <stddef.h> // for size_t
4+
5+
#include <string> // for string, basic_string
6+
57
#include "cpp11/R.hpp" // for SEXP, SEXPREC, REAL_ELT, R_NilV...
68
#include "cpp11/attribute_proxy.hpp" // for attribute_proxy
79
#include "cpp11/protect.hpp" // for protect_sexp, release_protect

inst/include/cpp11/strings.hpp

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
#pragma once
22

3-
#include <initializer_list> // for initializer_list
4-
#include <string> // for string, basic_string
3+
#include <initializer_list> // for initializer_list
4+
#include <string> // for string, basic_string
5+
56
#include "cpp11/R.hpp" // for SEXP, TYPEOF, SEXPREC, SET_STRI...
67
#include "cpp11/as.hpp" // for as_sexp
78
#include "cpp11/attribute_proxy.hpp" // for attribute_proxy

0 commit comments

Comments
 (0)