diff --git a/SConstruct b/SConstruct index a0e19c09e046a6a2d303907badd75fde469d0448..429b0d8b5a907e14efa7b66a5b1466601c1e4628 100644 --- a/SConstruct +++ b/SConstruct @@ -1,8 +1,8 @@ - +# -*- python -*- +import os env = Environment() env.MergeFlags("-std=gnu99 -Wall -Wextra -Werror -Wno-unused-parameter -Wno-attributes -lrt") -env['MODE'] = 'shared' AddOption("--variant", dest="variant", @@ -24,9 +24,13 @@ if GetOption("variant") == 'debug': env = dbg else: env = opt + +if os.getenv("CC") == "clang": + env.Replace(CC="clang", + CXX="clang++") Export('env') env.SConscript(["src/SConscript"], variant_dir='build/$VARIANT/src') env.SConscript(["examples/SConscript"], variant_dir='build/$VARIANT/examples') -env.Command('test', 'build/$VARIANT/src/test_suite', 'env LD_LIBRARY_PATH=build/$VARIANT/src $SOURCE') \ No newline at end of file +env.Command('test', 'build/$VARIANT/src/test_suite', 'env LD_LIBRARY_PATH=build/$VARIANT/src $SOURCE') diff --git a/src/glue.h b/src/glue.h index 1880988910e926c1c216dcd24cbb99022ddf7866..54b598507927b656f9bd1d17a363cd3a7bd723ac 100644 --- a/src/glue.h +++ b/src/glue.h @@ -182,7 +182,7 @@ HParsedToken *h_make_sint(HArena *arena, int64_t val); HParsedToken *h_make_uint(HArena *arena, uint64_t val); // Standard short-hands to make tokens in an action. -#define H_MAKE(TYP, VAL) h_make(p->arena, TT_ ## TYP, VAL) +#define H_MAKE(TYP, VAL) h_make(p->arena, (HTokenType)TT_ ## TYP, VAL) #define H_MAKE_SEQ() h_make_seq(p->arena) #define H_MAKE_SEQN(N) h_make_seqn(p->arena, N) #define H_MAKE_BYTES(LEN) h_make_bytes(p->arena, LEN)