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

Update to fix C++11 compilation error #389

Merged
merged 5 commits into from Jun 10, 2016
Merged

Conversation

@sanjayankur31
Copy link
Contributor

sanjayankur31 commented Jun 7, 2016

This seems to be the only one at the moment. Fixes #220

System info:

$ gcc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/6.1.1/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap
--enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --prefix=/usr
--mandir=/usr/share/man --infodir=/usr/share/info
--with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared
--enable-threads=posix --enable-checking=release --enable-multilib
--with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions
--enable-gnu-unique-object --enable-linker-build-id
--with-linker-hash-style=gnu --enable-plugin --enable-initfini-array
--disable-libgcj --with-isl --enable-libmpx
--enable-gnu-indirect-function --with-tune=generic --with-arch_32=i686
--build=x86_64-redhat-linux
Thread model: posix
gcc version 6.1.1 20160510 (Red Hat 6.1.1-2) (GCC)

$ cat /etc/os-release
NAME=Fedora
VERSION="24 (Workstation Edition)"
This seems to be the only one at the moment. Fixes #220

System info:
$ gcc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/6.1.1/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap
--enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --prefix=/usr
--mandir=/usr/share/man --infodir=/usr/share/info
--with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared
--enable-threads=posix --enable-checking=release --enable-multilib
--with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions
--enable-gnu-unique-object --enable-linker-build-id
--with-linker-hash-style=gnu --enable-plugin --enable-initfini-array
--disable-libgcj --with-isl --enable-libmpx
--enable-gnu-indirect-function --with-tune=generic --with-arch_32=i686
--build=x86_64-redhat-linux
Thread model: posix
gcc version 6.1.1 20160510 (Red Hat 6.1.1-2) (GCC)
$ cat /etc/os-release
NAME=Fedora
VERSION="24 (Workstation Edition)"
@sanjayankur31
Copy link
Contributor Author

sanjayankur31 commented Jun 7, 2016

@jougs - can you please review this when you have the time? Cheers :)

@heplesser
Copy link
Contributor

heplesser commented Jun 8, 2016

👍 from me. Before merging, though, I would like Travis to double check this one, but that will require #380 to be fixed.

@sanjayankur31
Copy link
Contributor Author

sanjayankur31 commented Jun 8, 2016

Would you know how I could kick off a fresh travis build for this without pushing a dummy commit?

@sanjayankur31
Copy link
Contributor Author

sanjayankur31 commented Jun 8, 2016

Ah, I'll just merge this with master and push it. Should do the trick.

@sanjayankur31
Copy link
Contributor Author

sanjayankur31 commented Jun 8, 2016

The build is failing with a format error, but when I run the ./format_all_c_c++_files.sh script, it doesn't make any changes as the output below shows. Not sure what's causing this now.

[asinha@cs-as14aho-2-herts-ac-uk  nest-simulator(C++11-fix=)]$ CLANG_FORMAT=~/dump/clang+llvm-3.6.0-x86_64-fedora21/bin/clang-format ./extras/format_all_c_c++_files.sh sli/
Process directory: sli/
 - Format C/C++ file: sli//aggregatedatum.h
 - Format C/C++ file: sli//allocator.cpp
 - Format C/C++ file: sli//allocator.h
 - Format C/C++ file: sli//arraydatum.cc
 - Format C/C++ file: sli//arraydatum.h
 - Format C/C++ file: sli//booldatum.cc
 - Format C/C++ file: sli//booldatum.h
 - Format C/C++ file: sli//callbackdatum.h
 - Format C/C++ file: sli//charcode.cc
 - Format C/C++ file: sli//charcode.h
 - Format C/C++ file: sli//datum.cc
 - Format C/C++ file: sli//datum.h
 - Format C/C++ file: sli//dict.cc
 - Format C/C++ file: sli//dictdatum.cc
 - Format C/C++ file: sli//dictdatum.h
 - Format C/C++ file: sli//dict.h
 - Format C/C++ file: sli//dictstack.cc
 - Format C/C++ file: sli//dictstack.h
 - Format C/C++ file: sli//dictutils.cc
 - Format C/C++ file: sli//dictutils.h
 - Format C/C++ file: sli//doubledatum.cc
 - Format C/C++ file: sli//doubledatum.h
 - Format C/C++ file: sli//fdstream.cc
 - Format C/C++ file: sli//fdstream.h
 - Format C/C++ file: sli//filesystem.cc
 - Format C/C++ file: sli//filesystem.h
 - Format C/C++ file: sli//functional.h
 - Format C/C++ file: sli//functiondatum.cc
 - Format C/C++ file: sli//functiondatum.h
 - Format C/C++ file: sli//genericdatum.h
 - Format C/C++ file: sli//get_mem.c
 - Format C/C++ file: sli//gnureadline.cc
 - Format C/C++ file: sli//gnureadline.h
 - Format C/C++ file: sli//integerdatum.cc
 - Format C/C++ file: sli//integerdatum.h
 - Format C/C++ file: sli//interpret.cc
 - Format C/C++ file: sli//interpret.h
 - Format C/C++ file: sli//iostreamdatum.cc
 - Format C/C++ file: sli//iostreamdatum.h
 - Format C/C++ file: sli//iteratordatum.cc
 - Format C/C++ file: sli//iteratordatum.h
 - Format C/C++ file: sli//literaldatum.cc
 - Format C/C++ file: sli//lockptrdatum.h
 - Format C/C++ file: sli//lockptrdatum_impl.h
 - Format C/C++ file: sli//name.cc
 - Format C/C++ file: sli//namedatum.cc
 - Format C/C++ file: sli//namedatum.h
 - Format C/C++ file: sli//name.h
 - Format C/C++ file: sli//numericdatum.h
 - Format C/C++ file: sli//numericdatum_impl.h
 - Format C/C++ file: sli//oosupport.cc
 - Format C/C++ file: sli//oosupport.h
 - Format C/C++ file: sli//parser.cc
 - Format C/C++ file: sli//parserdatum.h
 - Format C/C++ file: sli//parser.h
 - Format C/C++ file: sli//processes.cc
 - Format C/C++ file: sli//processes.h
 - Format C/C++ file: sli//psignal.c
 - Format C/C++ file: sli//psignal.h
 - Format C/C++ file: sli//puresli.cc
 - Format C/C++ file: sli//scanner.cc
 - Format C/C++ file: sli//scanner.h
 - Format C/C++ file: sli//sliactions.cc
 - Format C/C++ file: sli//sliactions.h
 - Format C/C++ file: sli//sliarray.cc
 - Format C/C++ file: sli//sliarray.h
 - Format C/C++ file: sli//slibuiltins.cc
 - Format C/C++ file: sli//slibuiltins.h
 - Format C/C++ file: sli//slicontrol.cc
 - Format C/C++ file: sli//slicontrol.h
 - Format C/C++ file: sli//slidata.cc
 - Format C/C++ file: sli//slidata.h
 - Format C/C++ file: sli//slidict.cc
 - Format C/C++ file: sli//slidict.h
 - Format C/C++ file: sli//sliexceptions.cc
 - Format C/C++ file: sli//sliexceptions.h
 - Format C/C++ file: sli//slifunction.h
 - Format C/C++ file: sli//sligraphics.cc
 - Format C/C++ file: sli//sligraphics.h
 - Format C/C++ file: sli//sli_io.cc
 - Format C/C++ file: sli//sli_io.h
 - Format C/C++ file: sli//slimath.cc
 - Format C/C++ file: sli//slimath.h
 - Format C/C++ file: sli//slimodule.cc
 - Format C/C++ file: sli//slimodule.h
 - Format C/C++ file: sli//slinames.cpp
 - Format C/C++ file: sli//slinames.h
 - Format C/C++ file: sli//sliregexp.cc
 - Format C/C++ file: sli//sliregexp.h
 - Format C/C++ file: sli//slistack.cc
 - Format C/C++ file: sli//slistack.h
 - Format C/C++ file: sli//slistartup.cc
 - Format C/C++ file: sli//slistartup.h
 - Format C/C++ file: sli//slitype.cc
 - Format C/C++ file: sli//slitypecheck.cc
 - Format C/C++ file: sli//slitypecheck.h
 - Format C/C++ file: sli//slitype.h
 - Format C/C++ file: sli//specialfunctionsmodule.cc
 - Format C/C++ file: sli//specialfunctionsmodule.h
 - Format C/C++ file: sli//stringdatum.cc
 - Format C/C++ file: sli//stringdatum.h
 - Format C/C++ file: sli//symboldatum.cc
 - Format C/C++ file: sli//symboldatum.h
 - Format C/C++ file: sli//tarrayobj.cc
 - Format C/C++ file: sli//tarrayobj.h
 - Format C/C++ file: sli//tokenarray.cc
 - Format C/C++ file: sli//tokenarray.h
 - Format C/C++ file: sli//token.cc
 - Format C/C++ file: sli//token.h
 - Format C/C++ file: sli//tokenstack.cc
 - Format C/C++ file: sli//tokenstack.h
 - Format C/C++ file: sli//tokenutils.cc
 - Format C/C++ file: sli//tokenutils.h
 - Format C/C++ file: sli//triedatum.cc
 - Format C/C++ file: sli//triedatum.h
 - Format C/C++ file: sli//typearray.h
 - Format C/C++ file: sli//typechk.cc
 - Format C/C++ file: sli//typechk.h
 - Format C/C++ file: sli//utils.cc
 - Format C/C++ file: sli//utils.h

asinha@cs-as14aho-2-herts-ac-uk  nest-simulator(C++11-fix=)]$ git diff
[asinha@cs-as14aho-2-herts-ac-uk  nest-simulator(C++11-fix=)]$ 

Also used the same binary that the build.sh script is using:

[asinha@cs-as14aho-2-herts-ac-uk  nest-simulator(C++11-fix=)]$ CLANG_FORMAT=~/dump/clang+llvm-3.6.0-x86_64-linux-gnu/bin/clang-format ./extras/format_all_c_c++_files.sh sli/

Process directory: sli/
 - Format C/C++ file: sli//aggregatedatum.h
 - Format C/C++ file: sli//allocator.cpp
 - Format C/C++ file: sli//allocator.h
 - Format C/C++ file: sli//arraydatum.cc
 - Format C/C++ file: sli//arraydatum.h
 - Format C/C++ file: sli//booldatum.cc
 - Format C/C++ file: sli//booldatum.h
 - Format C/C++ file: sli//callbackdatum.h
 - Format C/C++ file: sli//charcode.cc
 - Format C/C++ file: sli//charcode.h
 - Format C/C++ file: sli//datum.cc
 - Format C/C++ file: sli//datum.h
 - Format C/C++ file: sli//dict.cc
 - Format C/C++ file: sli//dictdatum.cc
 - Format C/C++ file: sli//dictdatum.h
 - Format C/C++ file: sli//dict.h
 - Format C/C++ file: sli//dictstack.cc
 - Format C/C++ file: sli//dictstack.h
 - Format C/C++ file: sli//dictutils.cc
 - Format C/C++ file: sli//dictutils.h
 - Format C/C++ file: sli//doubledatum.cc
 - Format C/C++ file: sli//doubledatum.h
 - Format C/C++ file: sli//fdstream.cc
 - Format C/C++ file: sli//fdstream.h
 - Format C/C++ file: sli//filesystem.cc
 - Format C/C++ file: sli//filesystem.h
 - Format C/C++ file: sli//functional.h
 - Format C/C++ file: sli//functiondatum.cc
 - Format C/C++ file: sli//functiondatum.h
 - Format C/C++ file: sli//genericdatum.h
 - Format C/C++ file: sli//get_mem.c
 - Format C/C++ file: sli//gnureadline.cc
 - Format C/C++ file: sli//gnureadline.h
 - Format C/C++ file: sli//integerdatum.cc
 - Format C/C++ file: sli//integerdatum.h
 - Format C/C++ file: sli//interpret.cc
 - Format C/C++ file: sli//interpret.h
 - Format C/C++ file: sli//iostreamdatum.cc
 - Format C/C++ file: sli//iostreamdatum.h
 - Format C/C++ file: sli//iteratordatum.cc
 - Format C/C++ file: sli//iteratordatum.h
 - Format C/C++ file: sli//literaldatum.cc
 - Format C/C++ file: sli//lockptrdatum.h
 - Format C/C++ file: sli//lockptrdatum_impl.h
 - Format C/C++ file: sli//name.cc
 - Format C/C++ file: sli//namedatum.cc
 - Format C/C++ file: sli//namedatum.h
 - Format C/C++ file: sli//name.h
 - Format C/C++ file: sli//numericdatum.h
 - Format C/C++ file: sli//numericdatum_impl.h
 - Format C/C++ file: sli//oosupport.cc
 - Format C/C++ file: sli//oosupport.h
 - Format C/C++ file: sli//parser.cc
 - Format C/C++ file: sli//parserdatum.h
 - Format C/C++ file: sli//parser.h
 - Format C/C++ file: sli//processes.cc
 - Format C/C++ file: sli//processes.h
 - Format C/C++ file: sli//psignal.c
 - Format C/C++ file: sli//psignal.h
 - Format C/C++ file: sli//puresli.cc
 - Format C/C++ file: sli//scanner.cc
 - Format C/C++ file: sli//scanner.h
 - Format C/C++ file: sli//sliactions.cc
 - Format C/C++ file: sli//sliactions.h
 - Format C/C++ file: sli//sliarray.cc
 - Format C/C++ file: sli//sliarray.h
 - Format C/C++ file: sli//slibuiltins.cc
 - Format C/C++ file: sli//slibuiltins.h
 - Format C/C++ file: sli//slicontrol.cc
 - Format C/C++ file: sli//slicontrol.h
 - Format C/C++ file: sli//slidata.cc
 - Format C/C++ file: sli//slidata.h
 - Format C/C++ file: sli//slidict.cc
 - Format C/C++ file: sli//slidict.h
 - Format C/C++ file: sli//sliexceptions.cc
 - Format C/C++ file: sli//sliexceptions.h
 - Format C/C++ file: sli//slifunction.h
 - Format C/C++ file: sli//sligraphics.cc
 - Format C/C++ file: sli//sligraphics.h
 - Format C/C++ file: sli//sli_io.cc
 - Format C/C++ file: sli//sli_io.h
 - Format C/C++ file: sli//slimath.cc
 - Format C/C++ file: sli//slimath.h
 - Format C/C++ file: sli//slimodule.cc
 - Format C/C++ file: sli//slimodule.h
 - Format C/C++ file: sli//slinames.cpp
 - Format C/C++ file: sli//slinames.h
 - Format C/C++ file: sli//sliregexp.cc
 - Format C/C++ file: sli//sliregexp.h
 - Format C/C++ file: sli//slistack.cc
 - Format C/C++ file: sli//slistack.h
 - Format C/C++ file: sli//slistartup.cc
 - Format C/C++ file: sli//slistartup.h
 - Format C/C++ file: sli//slitype.cc
 - Format C/C++ file: sli//slitypecheck.cc
 - Format C/C++ file: sli//slitypecheck.h
 - Format C/C++ file: sli//slitype.h
 - Format C/C++ file: sli//specialfunctionsmodule.cc
 - Format C/C++ file: sli//specialfunctionsmodule.h
 - Format C/C++ file: sli//stringdatum.cc
 - Format C/C++ file: sli//stringdatum.h
 - Format C/C++ file: sli//symboldatum.cc
 - Format C/C++ file: sli//symboldatum.h
 - Format C/C++ file: sli//tarrayobj.cc
 - Format C/C++ file: sli//tarrayobj.h
 - Format C/C++ file: sli//tokenarray.cc
 - Format C/C++ file: sli//tokenarray.h
 - Format C/C++ file: sli//token.cc
 - Format C/C++ file: sli//token.h
 - Format C/C++ file: sli//tokenstack.cc
 - Format C/C++ file: sli//tokenstack.h
 - Format C/C++ file: sli//tokenutils.cc
 - Format C/C++ file: sli//tokenutils.h
 - Format C/C++ file: sli//triedatum.cc
 - Format C/C++ file: sli//triedatum.h
 - Format C/C++ file: sli//typearray.h
 - Format C/C++ file: sli//typechk.cc
 - Format C/C++ file: sli//typechk.h
 - Format C/C++ file: sli//utils.cc
 - Format C/C++ file: sli//utils.h
[asinha@cs-as14aho-2-herts-ac-uk  nest-simulator(C++11-fix=)]$ git diff
[asinha@cs-as14aho-2-herts-ac-uk  nest-simulator(C++11-fix=)]$ 

Makes no difference.

From the travis build, it appears that the PATH already has a clang
version in it in /usr/local/clang-3.5.0 - and this will get preference
if we append to the tail instead of the head:

echo $PATH

/home/travis/bin:/home/travis/.local/bin:/home/travis/.rvm/gems/ruby-2.2.3/bin:/home/travis/.rvm/gems/ruby-2.2.3@global/bin:/home/travis/.rvm/rubies/ruby-2.2.3/bin:/home/travis/.pyenv/shims:/home/travis/.phpenv/shims:/home/travis/.php-build/bin:/home/travis/.local/bin:/home/travis/.pyenv/shims:/opt/pyenv/bin:/home/travis/.phpenv/shims:/home/travis/perl5/perlbrew/bin:./node_modules/.bin:/usr/local/clang-3.5.0/bin:/home/travis/.local/bin:/home/travis/.pyenv/shims:/opt/pyenv/bin:/home/travis/.phpenv/shims:./node_modules/.bin:/usr/local/clang-3.5.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/travis/.phpenv/bin:/home/travis/.phpenv/bin:/home/travis/.rvm/bin:/home/travis/.rvm/bin
@sanjayankur31
Copy link
Contributor Author

sanjayankur31 commented Jun 8, 2016

Not a formatting error any more - something wrong with parse_travis_log.py.

Built target installcheck
+[ x != x ]
+[ 389 != false ]
+echo WARNING: Not uploading results as this is a pull request
WARNING: Not uploading results as this is a pull request
+exit 0

The command "./build.sh 2>&1 | tee build.sh.log" exited with 0.

$ python extras/parse_travis_log.py build.sh.log

--------<<<<<<<< Summary of TravisCI >>>>>>>>--------
Vera init:           Ok
Cppcheck init:       Ok
Changed files:       False
Traceback (most recent call last):
  File "extras/parse_travis_log.py", line 361, in <module>
    for i in static_analysis.itervalues()]) else "Error"))
KeyError: 'clang-format'

The command "python extras/parse_travis_log.py build.sh.log" exited with 1.
Done. Your build exited with 1.
@sanjayankur31
Copy link
Contributor Author

sanjayankur31 commented Jun 8, 2016

I see this is already reported here: #391

@heplesser
Copy link
Contributor

heplesser commented Jun 8, 2016

@sanjayankur31 I am working on fixing our Travis scripts, please wait until #391 is merged before you try again. Briefly, the problem was that our source for the clang-format program became unavailable. #380 fixed that, but under certain conditions the results were not parsed properly. #391 will fix that. Until then, our Travis setup does not work reliably.

@heplesser heplesser merged commit c09e64a into nest:master Jun 10, 2016
1 check passed
1 check passed
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@sanjayankur31 sanjayankur31 deleted the sanjayankur31:C++11-fix branch Jun 10, 2016
@jougs jougs mentioned this pull request Oct 26, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

2 participants
You can’t perform that action at this time.