Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error: control reaches end of non-void function [-Werror=return-type] #52

Open
ArthurSonzogni opened this issue Jan 5, 2020 · 1 comment

Comments

@ArthurSonzogni
Copy link

A build error happens:

/home/sonzogna/programmation/download/hyde/emitters/yaml_base_emitter.cpp: In function ‘hyde::json {anonymous}::yaml_to_json(const YAML::Node&)’:
/home/sonzogna/programmation/download/hyde/emitters/yaml_base_emitter.cpp:90:1: error: control reaches end of non-void function [-Werror=return-type]

Compiler:

Using built-in specs.
COLLECT_GCC=c++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.4.0-1ubuntu1~18.04.1' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1) 

cmake version 3.16.20200103-g19c2763

OS:

lsb_release -a
LSB Version:	core-9.20170808ubuntu1-noarch:printing-9.20170808ubuntu1-noarch:security-9.20170808ubuntu1-noarch
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.3 LTS
Release:	18.04

Screenshots
asciicast

@riemass
Copy link

riemass commented Jan 13, 2020

I have the same issue, using clang-9 on Manjaro Linux. After some playing around, I made it compile. There are two issues with this, that are easy to fix.

When using switch statements in the code, a value is returned only inside matched cases. Since no return statement follows the switch block, and no default is defined in the switch, the compiler detects that it can exit from the function with no error.
I solved it by adding returns and throws to 3-4 switches.

However, I'm more concerned about the second issue. Since -Werror=comment is turned on, the compiler complained about a multi-line comment from a header that belongs to LLVM. I edited the header for now but I believe this should be enabled in the CMakeLists.txt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants