Skip to content

Missing __atomic_* builtins (blocking Ruby) #134

@thedataking

Description

@thedataking

PATH=/path/to/c2rust:$PATH ./test.py --project ruby --stage transpile

$ dpkg --list | grep clang
ii  clang-6.0                                  1:6.0.1-11                              amd64        C, C++ and Objective-C compiler
ii  libclang-6.0-dev                           1:6.0.1-11                              amd64        clang library - Development package
ii  libclang-common-6.0-dev                    1:6.0.1-11                              amd64        clang library - Common development package
ii  libclang1-6.0                              1:6.0.1-11                              amd64        C interface to the clang library
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=19.04
DISTRIB_CODENAME=disco
DISTRIB_DESCRIPTION="Ubuntu 19.04"

Panic:

thread 'main' panicked at 'Could not find CStmtId(12361) in TypedAstContext', c2rust-transpile/src/c_ast/mod.rs:759:21
stack backtrace:
   0: backtrace::backtrace::libunwind::trace
             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.29/src/backtrace/libunwind.rs:88
   1: backtrace::backtrace::trace_unsynchronized
             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.29/src/backtrace/mod.rs:66
   2: std::sys_common::backtrace::_print
             at src/libstd/sys_common/backtrace.rs:47
   3: std::sys_common::backtrace::print
             at src/libstd/sys_common/backtrace.rs:36
   4: std::panicking::default_hook::{{closure}}
             at src/libstd/panicking.rs:198
   5: std::panicking::default_hook
             at src/libstd/panicking.rs:212
   6: std::panicking::rust_panic_with_hook
             at src/libstd/panicking.rs:475
   7: std::panicking::continue_panic_fmt
             at src/libstd/panicking.rs:382
   8: std::panicking::begin_panic_fmt
             at src/libstd/panicking.rs:337
   9: <c2rust_transpile::c_ast::TypedAstContext as core::ops::index::Index<c2rust_transpile::c_ast::CStmtId>>::index
             at c2rust-transpile/src/c_ast/mod.rs:759
  10: c2rust_transpile::c_ast::iterators::immediate_children_all_types
             at c2rust-transpile/src/c_ast/iterators.rs:296
  11: <c2rust_transpile::c_ast::iterators::DFNodes as core::iter::traits::iterator::Iterator>::next
             at c2rust-transpile/src/c_ast/iterators.rs:366
  12: c2rust_transpile::c_ast::TypedAstContext::prune_unused_decls
             at c2rust-transpile/src/c_ast/mod.rs:482
  13: c2rust_transpile::translator::translate
             at c2rust-transpile/src/translator/mod.rs:477
  14: c2rust_transpile::transpile_single
             at c2rust-transpile/src/lib.rs:326
  15: c2rust_transpile::transpile::{{closure}}
             at c2rust-transpile/src/lib.rs:136
  16: <core::iter::adapters::Map<I,F> as core::iter::traits::iterator::Iterator>::fold::{{closure}}
             at /rustc/929b48ec98aaff2239257574b5897f419cec2647/src/libcore/iter/adapters/mod.rs:589
  17: <core::slice::Iter<T> as core::iter::traits::iterator::Iterator>::fold
             at /rustc/929b48ec98aaff2239257574b5897f419cec2647/src/libcore/slice/mod.rs:3178
  18: <core::iter::adapters::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
             at /rustc/929b48ec98aaff2239257574b5897f419cec2647/src/libcore/iter/adapters/mod.rs:589
  19: core::iter::traits::iterator::Iterator::for_each
             at /rustc/929b48ec98aaff2239257574b5897f419cec2647/src/libcore/iter/traits/iterator.rs:604
  20: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::spec_extend
             at /rustc/929b48ec98aaff2239257574b5897f419cec2647/src/liballoc/vec.rs:1926
  21: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::from_iter
             at /rustc/929b48ec98aaff2239257574b5897f419cec2647/src/liballoc/vec.rs:1909
  22: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
             at /rustc/929b48ec98aaff2239257574b5897f419cec2647/src/liballoc/vec.rs:1796
  23: core::iter::traits::iterator::Iterator::collect
             at /rustc/929b48ec98aaff2239257574b5897f419cec2647/src/libcore/iter/traits/iterator.rs:1466
  24: c2rust_transpile::transpile
             at c2rust-transpile/src/lib.rs:134
  25: c2rust_transpile::main
             at c2rust/src/bin/c2rust-transpile.rs:129
  26: std::rt::lang_start::{{closure}}
             at /rustc/929b48ec98aaff2239257574b5897f419cec2647/src/libstd/rt.rs:64
  27: std::rt::lang_start_internal::{{closure}}
             at src/libstd/rt.rs:49
  28: std::panicking::try::do_call
             at src/libstd/panicking.rs:294
  29: __rust_maybe_catch_panic
             at src/libpanic_unwind/lib.rs:82
  30: std::panicking::try
             at src/libstd/panicking.rs:273
  31: std::panic::catch_unwind
             at src/libstd/panic.rs:388
  32: std::rt::lang_start_internal
             at src/libstd/rt.rs:48
  33: std::rt::lang_start
             at /rustc/929b48ec98aaff2239257574b5897f419cec2647/src/libstd/rt.rs:64
  34: main
  35: __libc_start_main
  36: _start
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions