commonmark / cmark

CommonMark parsing and rendering library and program in C
Other
1.62k stars 539 forks source link

build: impertively define output name for static library #392

Closed compnerd closed 3 years ago

compnerd commented 3 years ago

When building with an older CMake, the generator expression is not evaluated properly and embedded into the final output name which is incorrect. This should repair the ability to build with an older CMake.

compnerd commented 3 years ago

CC: @mlocati

mlocati commented 3 years ago

It's not yet compiling on Debian Jessie. I tried it with Docker (start it with docker run --rm -it debian:jessie bash)

$ apt-get update && apt-get install -qy cmake curl g++ python3
[...]
$ cd "$(mktemp -d)"
$ curl -sSLf -o - https://codeload.github.com/compnerd/swift-cmark/tar.gz/refs/heads/impertive-static-imperative | tar xz
$ cd *
$ make -s -j$(nproc) cmake_build
-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Performing Test HAVE_FLAG_ADDRESS_SANITIZER
-- Performing Test HAVE_FLAG_ADDRESS_SANITIZER - Failed
-- Performing Test HAVE_FLAG_SANITIZE_ADDRESS
-- Performing Test HAVE_FLAG_SANITIZE_ADDRESS - Success
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Looking for stdbool.h
-- Looking for stdbool.h - found
-- Performing Test HAVE___BUILTIN_EXPECT
-- Performing Test HAVE___BUILTIN_EXPECT - Success
-- Performing Test HAVE___ATTRIBUTE__
-- Performing Test HAVE___ATTRIBUTE__ - Success
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.4.2", minimum required is "3")
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/build
make[1]: warning: -jN forced in submake: disabling jobserver mode.
Scanning dependencies of target cmark_static
Scanning dependencies of target cmark
[  4%] [  4%] Building C object src/CMakeFiles/cmark_static.dir/cmark.c.o
Building C object src/CMakeFiles/cmark.dir/cmark.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/cmark.c:4:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/cmark.c:4:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
[  7%] [  9%] Building C object src/CMakeFiles/cmark_static.dir/node.c.o
Building C object src/CMakeFiles/cmark.dir/node.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:5:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c: In function 'S_can_contain':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:30:3: warning: C++ style comments are not allowed in ISO C90
   // Verify that child is not an ancestor of node.
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:30:3: warning: (this will be reported only once per input file)
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:5:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c: In function 'S_can_contain':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:30:3: warning: C++ style comments are not allowed in ISO C90
   // Verify that child is not an ancestor of node.
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:30:3: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c: In function 'S_node_unlink':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:668:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *parent = node->parent;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c: In function 'cmark_node_insert_before':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:698:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *old_prev = node->prev;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:709:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *parent = node->parent;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c: In function 'cmark_node_insert_after':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:731:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *old_next = node->next;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:742:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *parent = node->parent;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c: In function 'cmark_node_prepend_child':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:768:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *old_first_child = node->first_child;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c: In function 'S_node_unlink':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:668:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *parent = node->parent;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c: In function 'cmark_node_append_child':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:792:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *old_last_child = node->last_child;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c: In function 'cmark_node_insert_before':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:698:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *old_prev = node->prev;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:709:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *parent = node->parent;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c: In function 'cmark_node_insert_after':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:731:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *old_next = node->next;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:742:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *parent = node->parent;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c: In function 'cmark_node_prepend_child':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:768:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *old_first_child = node->first_child;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c: In function 'cmark_node_append_child':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.c:792:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *old_last_child = node->last_child;
   ^
[ 14%] [ 14%] Building C object src/CMakeFiles/cmark_static.dir/iterator.c.o
Building C object src/CMakeFiles/cmark.dir/iterator.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/iterator.c:5:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/iterator.c:5:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/iterator.c: In function 'cmark_iter_new':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/iterator.c:19:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_mem *mem = root->mem;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/iterator.c: In function 'cmark_iter_new':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/iterator.c:19:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_mem *mem = root->mem;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/iterator.c: In function 'cmark_consolidate_text_nodes':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/iterator.c:94:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_iter *iter = cmark_iter_new(root);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/iterator.c:95:3: warning: initializer element is not computable at load time
   cmark_strbuf buf = CMARK_BUF_INIT(iter->mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/iterator.c:107:32: warning: C++ style comments are not allowed in ISO C90
         cmark_iter_next(iter); // advance pointer
                                ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/iterator.c:107:32: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/iterator.c: In function 'cmark_consolidate_text_nodes':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/iterator.c:94:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_iter *iter = cmark_iter_new(root);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/iterator.c:95:3: warning: initializer element is not computable at load time
   cmark_strbuf buf = CMARK_BUF_INIT(iter->mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/iterator.c:107:32: warning: C++ style comments are not allowed in ISO C90
         cmark_iter_next(iter); // advance pointer
                                ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/iterator.c:107:32: warning: (this will be reported only once per input file)
[ 19%] [ 19%] Building C object src/CMakeFiles/cmark.dir/blocks.c.o
Building C object src/CMakeFiles/cmark_static.dir/blocks.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/references.h:4:0,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/parser.h:5,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:15:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_dup':
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/references.h:4:0,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/parser.h:5,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:15:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/parser.h:6:0,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:15:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h: At top level:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/parser.h:6:0,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:15:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h: At top level:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:87:1: warning: C++ style comments are not allowed in ISO C90
 // Create a root document node.
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:87:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c: In function 'cmark_parser_new_with_mem':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:97:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *document = make_document(mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:87:1: warning: C++ style comments are not allowed in ISO C90
 // Create a root document node.
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:87:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c: In function 'cmark_parser_new_with_mem':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:97:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *document = make_document(mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c: In function 'resolve_reference_link_definitions':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:238:3: warning: initializer element is not computable at load time
   cmark_chunk chunk = {node_content->ptr, node_content->size};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:238:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c: In function 'finalize':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:280:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_strbuf *node_content = &parser->content;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:311:9: warning: initializer element is not computable at load time
         cmark_strbuf tmp = CMARK_BUF_INIT(parser->mem);
         ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c: In function 'resolve_reference_link_definitions':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:238:3: warning: initializer element is not computable at load time
   cmark_chunk chunk = {node_content->ptr, node_content->size};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c: In function 'add_child':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:238:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:381:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *child =
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c: In function 'finalize':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:280:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_strbuf *node_content = &parser->content;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:311:9: warning: initializer element is not computable at load time
         cmark_strbuf tmp = CMARK_BUF_INIT(parser->mem);
         ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c: In function 'add_child':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:381:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *child =
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c: In function 'check_open_blocks':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:893:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *container = parser->root;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c: In function 'check_open_blocks':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:893:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *container = parser->root;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c: In function 'add_text_to_container':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:1144:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   const cmark_node_type ctype = S_type(container);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:1182:7: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
       int matches_end_condition;
       ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c: In function 'add_text_to_container':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:1144:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   const cmark_node_type ctype = S_type(container);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/blocks.c:1182:7: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
       int matches_end_condition;
       ^
[ 23%] [ 23%] Building C object src/CMakeFiles/cmark.dir/inlines.c.o
Building C object src/CMakeFiles/cmark_static.dir/inlines.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:7:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/references.h:4:0,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/parser.h:5,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:8:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: (this will be reported only once per input file)
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:7:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/references.h:4:0,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/parser.h:5,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:8:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: At top level:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:24:1: warning: C++ style comments are not allowed in ISO C90
 // Macros for creating various kinds of simple.
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:24:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: At top level:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:24:1: warning: C++ style comments are not allowed in ISO C90
 // Macros for creating various kinds of simple.
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:24:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'make_str_with_entities':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:128:3: warning: initializer element is not computable at load time
   cmark_strbuf unescaped = CMARK_BUF_INIT(subj->mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'cmark_strdup':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:161:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   size_t len = strlen((char *)src);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'cmark_clean_autolink':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:169:3: warning: initializer element is not computable at load time
   cmark_strbuf buf = CMARK_BUF_INIT(mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'make_str_with_entities':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:128:3: warning: initializer element is not computable at load time
   cmark_strbuf unescaped = CMARK_BUF_INIT(subj->mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'cmark_strdup':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:161:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   size_t len = strlen((char *)src);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'cmark_clean_autolink':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:169:3: warning: initializer element is not computable at load time
   cmark_strbuf buf = CMARK_BUF_INIT(mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'adjust_subj_node_newlines':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:300:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   int since_newline;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'scan_to_closing_backticks':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:337:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
     bufsize_t numticks = 0;
     ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'handle_backticks':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:403:5: warning: initializer element is not computable at load time
     cmark_strbuf buf = CMARK_BUF_INIT(subj->mem);
     ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:409:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
     cmark_node *node = make_literal(subj, CMARK_NODE_CODE, startpos,
     ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'adjust_subj_node_newlines':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:300:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   int since_newline;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'scan_to_closing_backticks':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:337:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
     bufsize_t numticks = 0;
     ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'handle_hyphen':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:597:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   int numhyphens = subj->pos - startpos;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:601:3: warning: initializer element is not computable at load time
   cmark_strbuf buf = CMARK_BUF_INIT(subj->mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'process_emphasis':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:648:3: warning: initializer element is not computable at load time
   bufsize_t openers_bottom[9] = {stack_bottom, stack_bottom, stack_bottom,
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:648:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:648:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:649:34: warning: initializer element is not computable at load time
                                  stack_bottom, stack_bottom, stack_bottom,
                                  ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:649:34: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:649:34: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'handle_backticks':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:650:34: warning: initializer element is not computable at load time
                                  stack_bottom, stack_bottom, stack_bottom};
                                  ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:650:34: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:650:34: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:403:5: warning: initializer element is not computable at load time
     cmark_strbuf buf = CMARK_BUF_INIT(subj->mem);
     ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:409:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
     cmark_node *node = make_literal(subj, CMARK_NODE_CODE, startpos,
     ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'handle_backslash':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:811:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   unsigned char nextchar = peek_char(subj);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'handle_entity':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:826:3: warning: initializer element is not computable at load time
   cmark_strbuf ent = CMARK_BUF_INIT(subj->mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'cmark_clean_url':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:844:3: warning: initializer element is not computable at load time
   cmark_strbuf buf = CMARK_BUF_INIT(mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'cmark_clean_title':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:855:3: warning: initializer element is not computable at load time
   cmark_strbuf buf = CMARK_BUF_INIT(mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'handle_hyphen':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:597:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   int numhyphens = subj->pos - startpos;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:601:3: warning: initializer element is not computable at load time
   cmark_strbuf buf = CMARK_BUF_INIT(subj->mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'handle_pointy_brace':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:954:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
     cmark_node *node = make_literal(subj, CMARK_NODE_HTML_INLINE,
     ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'process_emphasis':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:648:3: warning: initializer element is not computable at load time
   bufsize_t openers_bottom[9] = {stack_bottom, stack_bottom, stack_bottom,
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:648:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:648:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:649:34: warning: initializer element is not computable at load time
                                  stack_bottom, stack_bottom, stack_bottom,
                                  ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:649:34: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:649:34: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:650:34: warning: initializer element is not computable at load time
                                  stack_bottom, stack_bottom, stack_bottom};
                                  ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:650:34: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:650:34: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'manual_scan_link_url_2':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:1048:5: warning: initializer element is not computable at load time
     cmark_chunk result = {input->data + offset, i - offset};
     ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:1048:5: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'manual_scan_link_url':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:1079:5: warning: initializer element is not computable at load time
     cmark_chunk result = {input->data + offset + 1, i - 2 - offset};
     ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:1079:5: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'handle_backslash':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:811:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   unsigned char nextchar = peek_char(subj);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'handle_entity':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:826:3: warning: initializer element is not computable at load time
   cmark_strbuf ent = CMARK_BUF_INIT(subj->mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'cmark_clean_url':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:844:3: warning: initializer element is not computable at load time
   cmark_strbuf buf = CMARK_BUF_INIT(mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'cmark_clean_title':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:855:3: warning: initializer element is not computable at load time
   cmark_strbuf buf = CMARK_BUF_INIT(mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'handle_pointy_brace':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:954:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
     cmark_node *node = make_literal(subj, CMARK_NODE_HTML_INLINE,
     ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'cmark_parse_inlines':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:1383:3: warning: initializer element is not computable at load time
   cmark_chunk content = {parent->data, parent->len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:1383:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'manual_scan_link_url_2':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:1048:5: warning: initializer element is not computable at load time
     cmark_chunk result = {input->data + offset, i - offset};
     ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:1048:5: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'manual_scan_link_url':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:1079:5: warning: initializer element is not computable at load time
     cmark_chunk result = {input->data + offset + 1, i - 2 - offset};
     ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:1079:5: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c: In function 'cmark_parse_inlines':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:1383:3: warning: initializer element is not computable at load time
   cmark_chunk content = {parent->data, parent->len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/inlines.c:1383:3: warning: initializer element is not computable at load time
[ 26%] Building C object src/CMakeFiles/cmark_static.dir/scanners.c.o
[ 28%] Building C object src/CMakeFiles/cmark.dir/scanners.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/scanners.c:3:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/scanners.c: At top level:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/scanners.c:24:1: warning: C++ style comments are not allowed in ISO C90
 // Try to match a scheme including colon.
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/scanners.c:24:1: warning: (this will be reported only once per input file)
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/scanners.c:3:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/scanners.c: At top level:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/scanners.c:24:1: warning: C++ style comments are not allowed in ISO C90
 // Try to match a scheme including colon.
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/scanners.c:24:1: warning: (this will be reported only once per input file)
[ 30%] Building C object src/CMakeFiles/cmark_static.dir/utf8.c.o
[ 33%] Building C object src/CMakeFiles/cmark.dir/utf8.c.o
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/utf8.c:48:1: warning: C++ style comments are not allowed in ISO C90
 // Validate a single UTF-8 character according to RFC 3629.
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/utf8.c:48:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/utf8.c:48:1: warning: C++ style comments are not allowed in ISO C90
 // Validate a single UTF-8 character according to RFC 3629.
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/utf8.c:48:1: warning: (this will be reported only once per input file)
[ 35%] Building C object src/CMakeFiles/cmark_static.dir/buffer.c.o
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/buffer.c: In function 'cmark_strbuf_grow':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/buffer.c:53:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   bufsize_t new_size = target_size + target_size / 2;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/buffer.c: In function 'cmark_strbuf_strchr':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/buffer.c:172:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   const unsigned char *p =
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/buffer.c: In function 'cmark_strbuf_strrchr':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/buffer.c:186:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   bufsize_t i;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/buffer.c: At top level:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/buffer.c:245:1: warning: C++ style comments are not allowed in ISO C90
 // Destructively modify string, collapsing consecutive
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/buffer.c:245:1: warning: (this will be reported only once per input file)
[ 38%] Building C object src/CMakeFiles/cmark_static.dir/references.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/references.h:4:0,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/parser.h:5,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/references.c:3:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/parser.h:6:0,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/references.c:3:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h: At top level:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/references.c:18:1: warning: C++ style comments are not allowed in ISO C90
 // normalize reference:  collapse internal whitespace to single space,
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/references.c:18:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/references.c: In function 'normalize_reference':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/references.c:23:3: warning: initializer element is not computable at load time
   cmark_strbuf normalized = CMARK_BUF_INIT(mem);
   ^
[ 40%] Building C object src/CMakeFiles/cmark_static.dir/render.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:6:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c: In function 'S_out':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:57:7: warning: C++ style comments are not allowed in ISO C90
       // note: this assumes prefix is ascii:
       ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:57:7: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c: In function 'cmark_render':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:158:3: warning: initializer element is not computable at load time
   cmark_strbuf pref = CMARK_BUF_INIT(mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:159:3: warning: initializer element is not computable at load time
   cmark_strbuf buf = CMARK_BUF_INIT(mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:165:3: warning: initializer element is not computable at load time
   cmark_renderer renderer = {options,
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:166:30: warning: initializer element is not computable at load time
                              mem,    &buf,    &pref,      0,      width,
                              ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:166:30: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:166:30: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:166:30: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:169:30: warning: initializer element is not computable at load time
                              outc,   S_cr,    S_blankline, S_out};
                              ^
[ 42%] Building C object src/CMakeFiles/cmark_static.dir/man.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/man.c:8:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/man.c:19:1: warning: C++ style comments are not allowed in ISO C90
 // Functions to convert cmark_nodes to groff man strings.
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/man.c:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/man.c: In function 'S_render_node':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/man.c:134:9: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
         char list_number_s[LIST_NUMBER_SIZE];
         ^
[ 45%] Building C object src/CMakeFiles/cmark_static.dir/xml.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/xml.c:8:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/xml.c:14:1: warning: C++ style comments are not allowed in ISO C90
 // Functions to convert cmark_nodes to XML strings.
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/xml.c:14:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/xml.c: In function 'cmark_render_xml':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/xml.c:211:3: warning: initializer element is not computable at load time
   cmark_strbuf xml = CMARK_BUF_INIT(root->mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/xml.c:214:10: warning: initializer element is not computable at load time
   struct render_state state = {&xml, 0};
          ^
[ 47%] Building C object src/CMakeFiles/cmark_static.dir/html.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/html.c:8:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/scanners.h:2:0,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/html.c:11:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/html.c: At top level:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/html.c:15:1: warning: C++ style comments are not allowed in ISO C90
 // Functions to convert cmark_nodes to HTML strings.
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/html.c:15:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/html.c: In function 'cmark_render_html':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/html.c:327:3: warning: initializer element is not computable at load time
   cmark_strbuf html = CMARK_BUF_INIT(root->mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/html.c:330:10: warning: initializer element is not computable at load time
   struct render_state state = {&html, NULL};
          ^
[ 50%] Building C object src/CMakeFiles/cmark_static.dir/commonmark.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/commonmark.c:9:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/scanners.h:2:0,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/commonmark.c:12:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/commonmark.c: At top level:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/commonmark.c:22:1: warning: C++ style comments are not allowed in ISO C90
 // Functions to convert cmark_nodes to commonmark strings.
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/commonmark.c:22:1: warning: (this will be reported only once per input file)
[ 52%] Building C object src/CMakeFiles/cmark_static.dir/latex.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/latex.c:8:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/scanners.h:2:0,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/latex.c:11:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/latex.c: In function 'outc':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/latex.c:28:13: warning: C++ style comments are not allowed in ISO C90
   case 123: // '{'
             ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/latex.c:28:13: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/latex.c: In function 'get_link_type':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/latex.c:163:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   const char *url = cmark_node_get_url(node);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/latex.c:175:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   const char *title = cmark_node_get_title(node);
   ^
[ 54%] Building C object src/CMakeFiles/cmark_static.dir/houdini_href_e.c.o
[ 57%] Building C object src/CMakeFiles/cmark_static.dir/houdini_html_e.c.o
[ 59%] Building C object src/CMakeFiles/cmark_static.dir/houdini_html_u.c.o
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/houdini_html_u.c: In function 'houdini_unescape_ent':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/houdini_html_u.c:52:11: warning: C++ style comments are not allowed in ISO C90
           // Keep counting digits but
           ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/houdini_html_u.c:52:11: warning: (this will be reported only once per input file)
[ 61%] Building C object src/CMakeFiles/cmark_static.dir/cmark_ctype.c.o
Linking C static library libcmark.a
[ 61%] Built target cmark_static
[ 64%] Building C object src/CMakeFiles/cmark.dir/buffer.c.o
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/buffer.c: In function 'cmark_strbuf_grow':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/buffer.c:53:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   bufsize_t new_size = target_size + target_size / 2;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/buffer.c: In function 'cmark_strbuf_strchr':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/buffer.c:172:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   const unsigned char *p =
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/buffer.c: In function 'cmark_strbuf_strrchr':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/buffer.c:186:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   bufsize_t i;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/buffer.c: At top level:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/buffer.c:245:1: warning: C++ style comments are not allowed in ISO C90
 // Destructively modify string, collapsing consecutive
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/buffer.c:245:1: warning: (this will be reported only once per input file)
[ 66%] Building C object src/CMakeFiles/cmark.dir/references.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/references.h:4:0,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/parser.h:5,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/references.c:3:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/parser.h:6:0,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/references.c:3:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h: At top level:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/references.c:18:1: warning: C++ style comments are not allowed in ISO C90
 // normalize reference:  collapse internal whitespace to single space,
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/references.c:18:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/references.c: In function 'normalize_reference':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/references.c:23:3: warning: initializer element is not computable at load time
   cmark_strbuf normalized = CMARK_BUF_INIT(mem);
   ^
[ 69%] Building C object src/CMakeFiles/cmark.dir/render.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:6:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c: In function 'S_out':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:57:7: warning: C++ style comments are not allowed in ISO C90
       // note: this assumes prefix is ascii:
       ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:57:7: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c: In function 'cmark_render':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:158:3: warning: initializer element is not computable at load time
   cmark_strbuf pref = CMARK_BUF_INIT(mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:159:3: warning: initializer element is not computable at load time
   cmark_strbuf buf = CMARK_BUF_INIT(mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:165:3: warning: initializer element is not computable at load time
   cmark_renderer renderer = {options,
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:166:30: warning: initializer element is not computable at load time
                              mem,    &buf,    &pref,      0,      width,
                              ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:166:30: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:166:30: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:166:30: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/render.c:169:30: warning: initializer element is not computable at load time
                              outc,   S_cr,    S_blankline, S_out};
                              ^
[ 71%] Building C object src/CMakeFiles/cmark.dir/man.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/man.c:8:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/man.c:19:1: warning: C++ style comments are not allowed in ISO C90
 // Functions to convert cmark_nodes to groff man strings.
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/man.c:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/man.c: In function 'S_render_node':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/man.c:134:9: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
         char list_number_s[LIST_NUMBER_SIZE];
         ^
[ 73%] Building C object src/CMakeFiles/cmark.dir/xml.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/xml.c:8:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/xml.c:14:1: warning: C++ style comments are not allowed in ISO C90
 // Functions to convert cmark_nodes to XML strings.
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/xml.c:14:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/xml.c: In function 'cmark_render_xml':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/xml.c:211:3: warning: initializer element is not computable at load time
   cmark_strbuf xml = CMARK_BUF_INIT(root->mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/xml.c:214:10: warning: initializer element is not computable at load time
   struct render_state state = {&xml, 0};
          ^
[ 76%] Building C object src/CMakeFiles/cmark.dir/html.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/html.c:8:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/scanners.h:2:0,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/html.c:11:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/html.c: At top level:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/html.c:15:1: warning: C++ style comments are not allowed in ISO C90
 // Functions to convert cmark_nodes to HTML strings.
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/html.c:15:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/html.c: In function 'cmark_render_html':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/html.c:327:3: warning: initializer element is not computable at load time
   cmark_strbuf html = CMARK_BUF_INIT(root->mem);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/html.c:330:10: warning: initializer element is not computable at load time
   struct render_state state = {&html, NULL};
          ^
[ 78%] Building C object src/CMakeFiles/cmark.dir/commonmark.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/commonmark.c:9:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/scanners.h:2:0,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/commonmark.c:12:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/commonmark.c: At top level:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/commonmark.c:22:1: warning: C++ style comments are not allowed in ISO C90
 // Functions to convert cmark_nodes to commonmark strings.
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/commonmark.c:22:1: warning: (this will be reported only once per input file)
[ 80%] Building C object src/CMakeFiles/cmark.dir/latex.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/latex.c:8:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/scanners.h:2:0,
                 from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/latex.c:11:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/chunk.h:65:3: warning: initializer element is not computable at load time
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/latex.c: In function 'outc':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/latex.c:28:13: warning: C++ style comments are not allowed in ISO C90
   case 123: // '{'
             ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/latex.c:28:13: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/latex.c: In function 'get_link_type':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/latex.c:163:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   const char *url = cmark_node_get_url(node);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/latex.c:175:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   const char *title = cmark_node_get_title(node);
   ^
[ 83%] Building C object src/CMakeFiles/cmark.dir/houdini_href_e.c.o
[ 85%] Building C object src/CMakeFiles/cmark.dir/houdini_html_e.c.o
Scanning dependencies of target cmark_exe
[ 88%] Building C object src/CMakeFiles/cmark.dir/houdini_html_u.c.o
[ 90%] Building C object src/CMakeFiles/cmark_exe.dir/main.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/main.c:7:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/main.c: In function 'main':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/main.c:162:14: warning: C++ style comments are not allowed in ISO C90
     } else { // treat as file argument
              ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/main.c:162:14: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/houdini_html_u.c: In function 'houdini_unescape_ent':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/houdini_html_u.c:52:11: warning: C++ style comments are not allowed in ISO C90
           // Keep counting digits but
           ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/houdini_html_u.c:52:11: warning: (this will be reported only once per input file)
Linking C executable cmark
[ 92%] Building C object src/CMakeFiles/cmark.dir/cmark_ctype.c.o
[ 92%] Built target cmark_exe
Linking C shared library libcmark.so
[ 92%] Built target cmark
Scanning dependencies of target api_test
[ 97%] [ 97%] Building C object api_test/CMakeFiles/api_test.dir/harness.c.o
Building CXX object api_test/CMakeFiles/api_test.dir/cplusplus.cpp.o
[100%] Building C object api_test/CMakeFiles/api_test.dir/main.c.o
In file included from /tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:7:0:
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c: In function 'constructor':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:44:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
   for (int i = 0; i < num_node_types; ++i) {
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:44:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c: In function 'accessors':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:98:3: warning: C++ style comments are not allowed in ISO C90
   // Getters
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:98:3: warning: (this will be reported only once per input file)
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:103:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *bullet_list = cmark_node_next(heading);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:109:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *ordered_list = cmark_node_next(bullet_list);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:118:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *fenced = cmark_node_next(ordered_list);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:123:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *code = cmark_node_next(fenced);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:127:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *html = cmark_node_next(code);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:131:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *paragraph = cmark_node_next(html);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:136:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *link = cmark_node_first_child(paragraph);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:140:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *string = cmark_node_first_child(link);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:176:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   const char *literal = cmark_node_get_literal(string);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:180:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   char *rendered_html = cmark_render_html(doc,
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c: In function 'iterator_delete':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:318:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   char *html = cmark_render_html(doc, CMARK_OPT_DEFAULT);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:323:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_mem *allocator = cmark_get_default_mem_allocator();
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c: In function 'create_tree':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:341:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *emph = cmark_node_new(CMARK_NODE_EMPH);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:345:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *str1 = cmark_node_new(CMARK_NODE_TEXT);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:350:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *str3 = cmark_node_new(CMARK_NODE_TEXT);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:355:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *str2 = cmark_node_new(CMARK_NODE_TEXT);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:384:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *str4 = cmark_node_new(CMARK_NODE_TEXT);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c: In function 'custom_nodes':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:410:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *ci = cmark_node_new(CMARK_NODE_CUSTOM_INLINE);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:419:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *cb = cmark_node_new(CMARK_NODE_CUSTOM_BLOCK);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c: In function 'hierarchy':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:452:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   int max_node_type = CMARK_NODE_LAST_BLOCK > CMARK_NODE_LAST_INLINE
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:457:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   int list_item_flag = 1 << CMARK_NODE_ITEM;
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c: In function 'test_content':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:493:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
   for (int i = 0; i < num_node_types; ++i) {
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c: In function 'render_html':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:527:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *string = cmark_node_first_child(paragraph);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:532:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *emph = cmark_node_next(string);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c: In function 'render_xml':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:575:23: warning: string length '635' is greater than the length '509' ISO C90 compilers are required to support [-Woverlength-strings]
                       "</document>\n",
                       ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:578:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *paragraph = cmark_node_first_child(doc);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c: In function 'render_commonmark':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:713:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *text = cmark_node_new(CMARK_NODE_TEXT);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c: In function 'utf8':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:758:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   static const char string_with_null[] = "((((\0))))";
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:765:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   static const char string_with_nul_lf[] = "```\n\0\n```\n";
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c: In function 'test_continuation_byte':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:798:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
   for (size_t pos = 1; pos < len; ++pos) {
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:803:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
     char expected[50];
     ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:805:5: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
     for (size_t i = pos + 1; i < len; ++i) {
     ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:810:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
     char *html =
     ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c: In function 'line_endings':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:828:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   static const char crlf_lines[] = "line\r\nline\r\n";
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:840:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   static const char no_line_ending[] = "```\nline\n```";
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c: In function 'test_feed_across_line_ending':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:908:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *document = cmark_parser_finish(parser);
   ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c: In function 'source_pos':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:973:23: warning: string length '1966' is greater than the length '509' ISO C90 compilers are required to support [-Woverlength-strings]
                       "</document>\n",
                       ^
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c: In function 'ref_source_pos':
/tmp/tmp.nimTul3RIb/swift-cmark-impertive-static-imperative/api_test/main.c:1044:23: warning: string length '518' is greater than the length '509' ISO C90 compilers are required to support [-Woverlength-strings]
                       "</document>\n",
                       ^
api_test/CMakeFiles/api_test.dir/build.make:100: recipe for target 'api_test/CMakeFiles/api_test.dir/main.c.o' failed
make[3]: *** [api_test/CMakeFiles/api_test.dir/main.c.o] Error 1
CMakeFiles/Makefile2:199: recipe for target 'api_test/CMakeFiles/api_test.dir/all' failed
make[2]: *** [api_test/CMakeFiles/api_test.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make[1]: *** [all] Error 2
Makefile:33: recipe for target 'cmake_build' failed
make: *** [cmake_build] Error 2
compnerd commented 3 years ago

I disagree with your assessment. Id say that it is building on the environment now. It is not able to build the tests currently as the tests are relying on C99 functionality but the compiler doesn't default to C99. That is a separate issue that I think we can fix. You should be able to work around that by passing in -D CMAKE_C_FLAGS="-std=c99" when configuring the project.

compnerd commented 3 years ago

@jgm I'm not sure about your preference here. I think that this change is fairly standalone and fixes the Makefile generation issue. As to the C standard, I can put up a separate change to default that properly (and verify that the compiler supports the required standard mode).

compnerd commented 3 years ago

@mlocati what is the version of CMake that you are using?

https://github.com/commonmark/cmark/blob/master/CMakeLists.txt#L16-L20 should ensure that the correct standard is used. https://cmake.org/cmake/help/latest/variable/CMAKE_C_STANDARD_REQUIRED.html indicates that this functionality was introduced in 3.1.

@jgm what is the minimum version of CMake do you intend to support? https://github.com/commonmark/cmark/blob/master/CMakeLists.txt#L1 indicates 3.0 currently, which would mean that we should have some additional custom logic that you would need to maintain to test the various different compiler's level of language support. To me this seems a bit overkill as CMake 3.1 itself was released in 2014.

jgm commented 3 years ago

At minimum, I'd like to support the version debian stable has. (According to https://tracker.debian.org/pkg/cmake that is 3.18.4.)

jgm commented 3 years ago

debian jessie had LTS support til the end of 2020. It is no longer supported by security updates. I think we don't need to worry about supporting it.

jgm commented 3 years ago

jessie has cmake 3.0.2. stretch (the version after jessie) has 3.7.

compnerd commented 3 years ago

@jgm sounds like bumping the version to 3.7 at the very least is reasonable, though you said that cmake 3.18.4 is the version on the stable Debian above. 3.18 is a pretty respectable in terms of bug fixes.

jgm commented 3 years ago

stretch has LTS til June 2022, so to be conservative 3.7 would be a good version to use, I would think.

mlocati commented 3 years ago

what is the version of CMake that you are using?

$ cmake --version
cmake version 3.0.2

CMake suite maintained and supported by Kitware (kitware.com/cmake).

You should be able to work around that by passing in -D CMAKE_C_FLAGS="-std=c99" when configuring the project.

Yep, I can confirm that everything works now

$ apt-get update && apt-get install -qy cmake curl g++ python3
[...]

$ cd "$(mktemp -d)"

$ curl -sSLf -o - https://codeload.github.com/compnerd/swift-cmark/tar.gz/refs/heads/impertive-static-imperative | tar xz

$ cd *

$ mkdir -p build

$ cd build

$ cmake .. -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_C_FLAGS='-std=c99'
-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Performing Test HAVE_FLAG_ADDRESS_SANITIZER
-- Performing Test HAVE_FLAG_ADDRESS_SANITIZER - Failed
-- Performing Test HAVE_FLAG_SANITIZE_ADDRESS
-- Performing Test HAVE_FLAG_SANITIZE_ADDRESS - Success
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Looking for stdbool.h
-- Looking for stdbool.h - found
-- Performing Test HAVE___BUILTIN_EXPECT
-- Performing Test HAVE___BUILTIN_EXPECT - Success
-- Performing Test HAVE___ATTRIBUTE__
-- Performing Test HAVE___ATTRIBUTE__ - Success
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.4.2", minimum required is "3")
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/tmp.pFsfv6SmaZ/swift-cmark-impertive-static-imperative/build

$ cd ..

$ make -s -j$(nproc) install
Scanning dependencies of target cmark_static
Scanning dependencies of target cmark
[  2%] [  7%] [  7%] [ 11%] [ 11%] [ 14%] [ 16%] [ 19%] Building C object src/CMakeFiles/cmark.dir/cmark.c.o
Building C object src/CMakeFiles/cmark_static.dir/cmark.c.o
Building C object src/CMakeFiles/cmark.dir/node.c.o
Building C object src/CMakeFiles/cmark.dir/inlines.c.o
Building C object src/CMakeFiles/cmark_static.dir/iterator.c.o
Building C object src/CMakeFiles/cmark_static.dir/node.c.o
Building C object src/CMakeFiles/cmark.dir/blocks.c.o
Building C object src/CMakeFiles/cmark.dir/iterator.c.o
[ 21%] [ 23%] Building C object src/CMakeFiles/cmark_static.dir/blocks.c.o
Building C object src/CMakeFiles/cmark.dir/scanners.c.o
[ 26%] [ 28%] Building C object src/CMakeFiles/cmark_static.dir/inlines.c.o
Building C object src/CMakeFiles/cmark.dir/utf8.c.o
[ 30%] [ 33%] Building C object src/CMakeFiles/cmark_static.dir/scanners.c.o
Building C object src/CMakeFiles/cmark.dir/buffer.c.o
[ 35%] Building C object src/CMakeFiles/cmark.dir/references.c.o
[ 38%] Building C object src/CMakeFiles/cmark.dir/render.c.o
[ 40%] Building C object src/CMakeFiles/cmark.dir/man.c.o
[ 42%] Building C object src/CMakeFiles/cmark.dir/xml.c.o
[ 45%] Building C object src/CMakeFiles/cmark_static.dir/utf8.c.o
[ 47%] Building C object src/CMakeFiles/cmark.dir/html.c.o
[ 50%] Building C object src/CMakeFiles/cmark_static.dir/buffer.c.o
[ 52%] Building C object src/CMakeFiles/cmark_static.dir/references.c.o
[ 54%] Building C object src/CMakeFiles/cmark.dir/commonmark.c.o
[ 57%] Building C object src/CMakeFiles/cmark_static.dir/render.c.o
[ 59%] [ 61%] Building C object src/CMakeFiles/cmark.dir/latex.c.o
Building C object src/CMakeFiles/cmark_static.dir/man.c.o
[ 64%] Building C object src/CMakeFiles/cmark_static.dir/xml.c.o
[ 66%] Building C object src/CMakeFiles/cmark.dir/houdini_href_e.c.o
[ 69%] Building C object src/CMakeFiles/cmark_static.dir/html.c.o
[ 71%] [ 73%] Building C object src/CMakeFiles/cmark.dir/houdini_html_e.c.o
Building C object src/CMakeFiles/cmark.dir/houdini_html_u.c.o
[ 76%] Building C object src/CMakeFiles/cmark_static.dir/commonmark.c.o
[ 78%] Building C object src/CMakeFiles/cmark.dir/cmark_ctype.c.o
[ 80%] Building C object src/CMakeFiles/cmark_static.dir/latex.c.o
[ 83%] Building C object src/CMakeFiles/cmark_static.dir/houdini_href_e.c.o
[ 85%] Building C object src/CMakeFiles/cmark_static.dir/houdini_html_e.c.o
[ 88%] Building C object src/CMakeFiles/cmark_static.dir/houdini_html_u.c.o
[ 90%] Building C object src/CMakeFiles/cmark_static.dir/cmark_ctype.c.o
Linking C static library libcmark.a
[ 90%] Built target cmark_static
Scanning dependencies of target cmark_exe
[ 92%] Building C object src/CMakeFiles/cmark_exe.dir/main.c.o
Linking C executable cmark
[ 92%] Built target cmark_exe
Linking C shared library libcmark.so
[ 92%] Built target cmark
Scanning dependencies of target api_test
[ 97%] [ 97%] [100%] Building CXX object api_test/CMakeFiles/api_test.dir/cplusplus.cpp.o
Building C object api_test/CMakeFiles/api_test.dir/harness.c.o
Building C object api_test/CMakeFiles/api_test.dir/main.c.o
Linking CXX executable api_test
[100%] Built target api_test
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/local/bin/cmark
-- Installing: /usr/local/lib/libcmark.so.0.30.1
-- Installing: /usr/local/lib/libcmark.so
-- Installing: /usr/local/lib/libcmark.a
-- Installing: /usr/local/lib/pkgconfig/libcmark.pc
-- Installing: /usr/local/include/cmark.h
-- Installing: /usr/local/include/cmark_export.h
-- Installing: /usr/local/include/cmark_version.h
-- Installing: /usr/local/lib/cmake/cmark/cmark-config.cmake
-- Installing: /usr/local/lib/cmake/cmark/cmark-config-version.cmake
-- Installing: /usr/local/lib/cmake/cmark/cmark-targets.cmake
-- Installing: /usr/local/lib/cmake/cmark/cmark-targets-release.cmake
-- Installing: /usr/local/share/man/man1/cmark.1
-- Installing: /usr/local/share/man/man3/cmark.3
jgm commented 3 years ago

OK, thanks for the patch and the tests.