looser throw specifier
nanikjava opened this issue · comments
Checked out the code and tried compiling on Ubuntu 12.10 Quantal 64bit and got the following error
rm -rf out/{src,pkg/}/github.com/google/kati
mkdir -p out/{src,pkg/}/github.com/google/kati
cp -a ast.go bootstrap.go buf.go buf_test.go dep.go depgraph.go doc.go evalcmd.go eval.go exec.go expr.go expr_test.go fileutil.go flags.go func.go func_test.go log.go ninja.go ninja_test.go parser.go pathutil.go pathutil_test.go query.go rule_parser.go rule_parser_test.go serialize.go shellutil.go shellutil_test.go stats.go strutil.go strutil_test.go symtab.go var.go version.go worker.go cmd out/src/github.com/google/kati
GOPATH=$(pwd)/out:${GOPATH} go get github.com/google/kati/cmd/kati
touch go_src_stamp
rm -f out/bin/kati
GOPATH=$(pwd)/out:${GOPATH} go install -ldflags "-X github.com/google/kati.gitVersion c9b0aca" github.com/google/kati/cmd/kati
cp out/bin/kati kati
g++ -c -std=c++11 -g -W -Wall -MMD -MP -O -DNOLOG -o ast.o ast.cc
g++ -c -std=c++11 -g -W -Wall -MMD -MP -O -DNOLOG -o command.o command.cc
g++ -c -std=c++11 -g -W -Wall -MMD -MP -O -DNOLOG -o dep.o dep.cc
g++ -c -std=c++11 -g -W -Wall -MMD -MP -O -DNOLOG -o eval.o eval.cc
g++ -c -std=c++11 -g -W -Wall -MMD -MP -O -DNOLOG -o exec.o exec.cc
g++ -c -std=c++11 -g -W -Wall -MMD -MP -O -DNOLOG -o file.o file.cc
g++ -c -std=c++11 -g -W -Wall -MMD -MP -O -DNOLOG -o file_cache.o file_cache.cc
g++ -c -std=c++11 -g -W -Wall -MMD -MP -O -DNOLOG -o fileutil.o fileutil.cc
g++ -c -std=c++11 -g -W -Wall -MMD -MP -O -DNOLOG -o find.o find.cc
find.cc:162:3: error: looser throw specifier for ‘virtual {anonymous}::DirentDirNode::~DirentDirNode()’
find.cc:113:11: error: overriding ‘virtual {anonymous}::DirentNode::~DirentNode() noexcept (true)’
find.cc: In member function ‘void {anonymous}::DirentDirNode::Add(const string&, {anonymous}::DirentNode_)’:
find.cc:208:24: error: ‘class std::mapstd::basic_string<char, {anonymous}::DirentNode_>’ has no member named ‘emplace’
find.cc:208:39: error: unable to deduce ‘auto’ from ‘’
find.cc: At global scope:
find.cc:564:11: error: looser throw specifier for ‘virtual {anonymous}::FindEmulatorImpl::~FindEmulatorImpl()’
In file included from find.cc:17:0:
find.h:45:11: error: overriding ‘virtual FindEmulator::~FindEmulator() noexcept (true)’
make: *** [find.o] Error 1
Tested with gcc 4.8.x (on Ubuntu 14.10 64bit) works fine. Will be good if it is mentioned somewhere in README.md file about this.