nodejs / llnode

An lldb plugin for Node.js and V8, which enables inspection of JavaScript states for insights into Node.js processes and their core dumps.
Other
1.15k stars 100 forks source link

Cleanup build flags #304

Closed mmarchini closed 4 years ago

mmarchini commented 5 years ago

From our ci:

g++ '-DNODE_GYP_MODULE_NAME=addon' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DNAPI_DISABLE_CPP_EXCEPTIONS' '-DNO_COLOR_OUTPUT' '-DBUILDING_NODE_EXTENSION' '-DNDEBUG' -I/home/travis/build/nodejs/llnode -I/usr/lib/llvm-3.9/include -I/home/travis/.node-gyp/8.16.1/include/node -I/home/travis/.node-gyp/8.16.1/src -I/home/travis/.node-gyp/8.16.1/deps/openssl/config -I/home/travis/.node-gyp/8.16.1/deps/openssl/openssl/include -I/home/travis/.node-gyp/8.16.1/deps/uv/include -I/home/travis/.node-gyp/8.16.1/deps/zlib -I/home/travis/.node-gyp/8.16.1/deps/v8/include -I/home/travis/build/nodejs/llnode/node_modules/node-addon-api -std=c++11 -std=c++11 -fPIC -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -m64 -m64 -O3 -g -fno-omit-frame-pointer -fno-rtti -std=gnu++0x -MMD -MF ./Release/.deps/Release/obj.target/addon/src/addon.o.d.raw -c -o Release/obj.target/addon/src/addon.o ../src/addon.cc

(https://travis-ci.com/nodejs/llnode/jobs/240607109)

-std is defined 3 times (two times as c++11 and one time as gnu++0x). That doesn't look right. The OSX tests are failing on that job because it's failing to infer the correct method based on the argument and return types... It works on Linux though (and I tried gcc, clang6 and clang9 on Linux, all working), it could be because of the -std=gnu++0x, but I'm not sure.