Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@rye
Created December 8, 2016 18:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rye/b413a74530be8ae59d674830d53ac5dc to your computer and use it in GitHub Desktop.
Save rye/b413a74530be8ae59d674830d53ac5dc to your computer and use it in GitHub Desktop.
Output from Make when I compile @shyouhei's ruby version
CC = clang
LD = ld
LDSHARED = clang -dynamic -bundle
CFLAGS = -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Werror=implicit-int -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=shorten-64-to-32 -Werror=implicit-function-declaration -Werror=division-by-zero -Werror=deprecated-declarations -Werror=extra-tokens -pipe
XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT -fPIE
CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -I. -I.ext/include/x86_64-darwin16 -I./include -I. -I./enc/unicode/data/8.0.0
DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -fstack-protector -Wl,-u,_objc_msgSend -Wl,-pie -framework CoreFoundation
SOLIBS = -lgmp
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.1.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
translating probes probes.d
. ./vm_opts.h
generating id.h
id.h updated
generating opt_sc.inc
generating optinsn.inc
generating optunifs.inc
generating insns.inc
generating insns_info.inc
generating vmtc.inc
generating vm.inc
generating node_name.inc
generating known_errors.inc
known_errors.inc updated
generating vm_call_iseq_optimized.inc
./revision.h updated
/usr/local/opt/ruby/bin/ruby --disable=gems ./tool/gen_dummy_probes.rb ./probes.d > probes.dmyh
compiling main.c
compiling dmydln.c
compiling miniinit.c
compiling dmyext.c
generating miniprelude.c
miniprelude.c updated
compiling miniprelude.c
compiling array.c
compiling bignum.c
compiling class.c
compiling compar.c
compiling compile.c
compiling complex.c
compiling cont.c
compiling debug.c
compiling deoptimize.c
In file included from deoptimize.c:23:
./deoptimize.h:76:20: warning: unknown attribute 'leaf' ignored [-Wunknown-attributes]
__attribute__((leaf));
^
1 warning generated.
compiling dir.c
compiling dln_find.c
compiling encoding.c
compiling enum.c
compiling enumerator.c
compiling error.c
compiling eval.c
compiling file.c
compiling gc.c
compiling hash.c
compiling inits.c
compiling io.c
compiling iseq.c
In file included from iseq.c:25:
./deoptimize.h:76:20: warning: unknown attribute 'leaf' ignored [-Wunknown-attributes]
__attribute__((leaf));
^
1 warning generated.
compiling load.c
compiling marshal.c
compiling math.c
compiling node.c
compiling numeric.c
compiling object.c
compiling optimize.c
In file included from optimize.c:23:
./optimize.h:57:20: warning: unknown attribute 'leaf' ignored [-Wunknown-attributes]
__attribute__((leaf));
^
./optimize.h:86:20: warning: unknown attribute 'leaf' ignored [-Wunknown-attributes]
__attribute__((leaf));
^
./optimize.h:117:20: warning: unknown attribute 'leaf' ignored [-Wunknown-attributes]
__attribute__((leaf));
^
./optimize.h:129:20: warning: unknown attribute 'leaf' ignored [-Wunknown-attributes]
__attribute__((leaf));
^
./optimize.h:139:20: warning: unknown attribute 'leaf' ignored [-Wunknown-attributes]
__attribute__((leaf));
^
In file included from optimize.c:24:
./deoptimize.h:76:20: warning: unknown attribute 'leaf' ignored [-Wunknown-attributes]
__attribute__((leaf));
^
optimize.c:252:16: error: implicit conversion loses integer precision: 'const VALUE' (aka 'const unsigned long') to 'int'
[-Werror,-Wshorten-64-to-32]
return ptr[2];
~~~~~~ ^~~~~~
optimize.c:272:16: error: implicit conversion loses integer precision: 'const VALUE' (aka 'const unsigned long') to 'int'
[-Werror,-Wshorten-64-to-32]
return ptr[2];
~~~~~~ ^~~~~~
optimize.c:434:34: error: implicit conversion loses integer precision: 'const VALUE' (aka 'const unsigned long') to 'enum ruby_vminsn_type'
[-Werror,-Wshorten-64-to-32]
enum ruby_vminsn_type insn = argv[0];
~~~~ ^~~~~~~
optimize.c:793:26: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
int argc = p->argc + m;
~~~~ ~~~~~~~~^~~
optimize.c:812:20: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
int len = n + m;
~~~ ~~^~~
6 warnings and 5 errors generated.
make: *** [optimize.o] Error 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment