Pārlūkot izejas kodu

Remove -fno-strict-aliasing

We don't do fishy things like type punning so it really isn't
necessary, and supplying it prevents certain optimizations.
pull/184/head
John Högberg pirms 6 gadiem
revīziju iesūtīja Paul J. Davis
vecāks
revīzija
48ff666091
3 mainītis faili ar 11 papildinājumiem un 3 dzēšanām
  1. +5
    -1
      c_src/decoder.c
  2. +5
    -1
      c_src/encoder.c
  3. +1
    -1
      rebar.config

+ 5
- 1
c_src/decoder.c Parādīt failu

@ -718,15 +718,19 @@ decode_iter(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
ERL_NIF_TERM ret;
ERL_NIF_TERM tmp_argv[5];
void* res;
size_t start;
size_t bytes_processed = 0;
if(!enif_inspect_binary(env, argv[0], &bin)) {
return enif_make_badarg(env);
} else if(!enif_get_resource(env, argv[1], st->res_dec, (void**) &d)) {
} else if(!enif_get_resource(env, argv[1], st->res_dec, &res)) {
return enif_make_badarg(env);
}
d = (Decoder*) res;
dec_init(d, env, argv[0], &bin);
objs = argv[3];
curr = argv[4];

+ 5
- 1
c_src/encoder.c Parādīt failu

@ -706,13 +706,17 @@ encode_iter(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
ErlNifSInt64 lval;
double dval;
void* res;
size_t start;
size_t bytes_processed = 0;
if(!enif_get_resource(env, argv[0], st->res_enc, (void**) &e)) {
if(!enif_get_resource(env, argv[0], st->res_enc, &res)) {
return enif_make_badarg(env);
}
e = (Encoder*) res;
if(!enc_init(e, env)) {
return enif_make_badarg(env);
}

+ 1
- 1
rebar.config Parādīt failu

@ -8,7 +8,7 @@
{port_env, [
{"(linux|solaris|freebsd|netbsd|openbsd|dragonfly|darwin|gnu)",
"CFLAGS", "$CFLAGS -Ic_src/ -g -Wall -flto -Werror -O3 -fno-strict-aliasing"},
"CFLAGS", "$CFLAGS -Ic_src/ -g -Wall -flto -Werror -O3"},
{"(linux|solaris|freebsd|netbsd|openbsd|dragonfly|darwin|gnu)",
"CXXFLAGS", "$CXXFLAGS -Ic_src/ -g -Wall -flto -Werror -O3"},

Notiek ielāde…
Atcelt
Saglabāt