Tagged: errors Toggle Comment Threads | Keyboard Shortcuts

  • ThomasPowell 11:35 am on April 5, 2022 Permalink | Reply
    Tags: errors, , pg,   

    pg gem pg-0.18.4 install errors: implicit declaration of function ‘gettimeofday’ is invalid in C99 

    Reflexively trying the usual suspects installing pg-0.18.4:

    https://stackoverflow.com/questions/63182467/not-able-to-install-pg-gem-with-rails

    Maybe xcode is improperly installed?

    sudo xcode-select -s /Library/Developer/CommandLineTools

    Maybe postgresql is improperly installed?

    brew install postgresql
    Running `brew update --preinstall`...
    Warning: postgresql 14.2_1 is already installed and up-to-date.
    To reinstall 14.2_1, run:
    brew reinstall postgresql
    ❯ brew reinstall postgresql
    gem install pg -v '0.18.4'

    It would have been beneficial to search on the actual error occurring:

    pg_connection.c:2394:3: error: implicit declaration of function 'gettimeofday' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
                    gettimeofday(&currtime, NULL);
                    ^
    pg_connection.c:2411:4: error: implicit declaration of function 'gettimeofday' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
                            gettimeofday(&currtime, NULL);

    https://stackoverflow.com/questions/36455625/postgresql-gem-install-pg-0-18-4-passes-bundle-install-fails

    Configuring the pg gem in bundle to ignore the C99 implicit declaration error was what was required to get this version of the gem to install:

    bundle config build.pg '-- --with-cflags="-Wno-error=implicit-function-declaration"'

    Installing pg 0.18.4 with native extensions
    Using consumer_info 1.6.7 from https://[email protected]/everlywell/apps/consumer-info.git (at [email protected])
    Bundle complete! 137 Gemfile dependencies, 350 gems now installed.
    Use bundle info [gemname] to see where a bundled gem is installed.
    1 installed gem you directly depend on is looking for funding.
    Run bundle fund for details

    Success!

    Error Details

    current directory: /Users/tpowell/.rbenv/versions/2.5.7/lib/ruby/gems/2.5.0/gems/pg-0.18.4/ext
    /Users/tpowell/.rbenv/versions/2.5.7/bin/ruby -r ./siteconf20220405-9763-gz4mbx.rb extconf.rb
    checking for pg_config... yes
    Using config values from /usr/local/bin/pg_config
    checking for libpq-fe.h... yes
    checking for libpq/libpq-fs.h... yes
    checking for pg_config_manual.h... yes
    checking for PQconnectdb() in -lpq... yes
    checking for PQconnectionUsedPassword()... yes
    checking for PQisthreadsafe()... yes
    checking for PQprepare()... yes
    checking for PQexecParams()... yes
    checking for PQescapeString()... yes
    checking for PQescapeStringConn()... yes
    checking for PQescapeLiteral()... yes
    checking for PQescapeIdentifier()... yes
    checking for PQgetCancel()... yes
    checking for lo_create()... yes
    checking for pg_encoding_to_char()... yes
    checking for pg_char_to_encoding()... yes
    checking for PQsetClientEncoding()... yes
    checking for PQlibVersion()... yes
    checking for PQping()... yes
    checking for PQsetSingleRowMode()... yes
    checking for PQconninfo()... yes
    checking for rb_encdb_alias()... yes
    checking for rb_enc_alias()... no
    checking for rb_thread_call_without_gvl()... yes
    checking for rb_thread_call_with_gvl()... yes
    checking for rb_thread_fd_select()... yes
    checking for rb_w32_wrap_io_handle()... no
    checking for rb_str_modify_expand()... yes
    checking for rb_hash_dup()... yes
    checking for PGRES_COPY_BOTH in libpq-fe.h... yes
    checking for PGRES_SINGLE_TUPLE in libpq-fe.h... yes
    checking for PG_DIAG_TABLE_NAME in libpq-fe.h... yes
    checking for struct pgNotify.extra in libpq-fe.h... yes
    checking for unistd.h... yes
    checking for inttypes.h... yes
    checking for ruby/st.h... yes
    checking for C99 variable length arrays... yes
    creating extconf.h
    creating Makefile
    
    current directory: /Users/tpowell/.rbenv/versions/2.5.7/lib/ruby/gems/2.5.0/gems/pg-0.18.4/ext
    make "DESTDIR=" clean
    
    current directory: /Users/tpowell/.rbenv/versions/2.5.7/lib/ruby/gems/2.5.0/gems/pg-0.18.4/ext
    make "DESTDIR="
    compiling gvl_wrappers.c
    compiling pg.c
    compiling pg_binary_decoder.c
    compiling pg_binary_encoder.c
    compiling pg_coder.c
    pg_coder.c:188:63: warning: implicit conversion loses integer precision: 'VALUE' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
            res = this->dec_func(this, val, RSTRING_LEN(argv[0]), tuple, field, ENCODING_GET(argv[0]));
                  ~~~~                                                   ^~~~~
    pg_coder.c:188:56: warning: implicit conversion loses integer precision: 'VALUE' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
            res = this->dec_func(this, val, RSTRING_LEN(argv[0]), tuple, field, ENCODING_GET(argv[0]));
                  ~~~~                                            ^~~~~
    pg_coder.c:188:34: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
            res = this->dec_func(this, val, RSTRING_LEN(argv[0]), tuple, field, ENCODING_GET(argv[0]));
                  ~~~~                      ^~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:975:6: note: expanded from macro 'RSTRING_LEN'
         RSTRING_EMBED_LEN(str) : \
         ^~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:971:6: note: expanded from macro 'RSTRING_EMBED_LEN'
         (long)((RBASIC(str)->flags >> RSTRING_EMBED_LEN_SHIFT) & \
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    pg_coder.c:188:34: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
            res = this->dec_func(this, val, RSTRING_LEN(argv[0]), tuple, field, ENCODING_GET(argv[0]));
                  ~~~~                      ^~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:976:28: note: expanded from macro 'RSTRING_LEN'
         RSTRING(str)->as.heap.len)
         ~~~~~~~~~~~~~~~~~~~~~~^~~
    pg_coder.c:417:16: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            s_id_encode = rb_intern("encode");
                          ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    pg_coder.c:417:16: note: '{' token is here
            s_id_encode = rb_intern("encode");
                          ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    pg_coder.c:417:16: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            s_id_encode = rb_intern("encode");
                          ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    pg_coder.c:417:16: note: ')' token is here
            s_id_encode = rb_intern("encode");
                          ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    pg_coder.c:418:16: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            s_id_decode = rb_intern("decode");
                          ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    pg_coder.c:418:16: note: '{' token is here
            s_id_decode = rb_intern("decode");
                          ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    pg_coder.c:418:16: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            s_id_decode = rb_intern("decode");
                          ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    pg_coder.c:418:16: note: ')' token is here
            s_id_decode = rb_intern("decode");
                          ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    pg_coder.c:419:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            s_id_CFUNC = rb_intern("CFUNC");
                         ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    pg_coder.c:419:15: note: '{' token is here
            s_id_CFUNC = rb_intern("CFUNC");
                         ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    pg_coder.c:419:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            s_id_CFUNC = rb_intern("CFUNC");
                         ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    pg_coder.c:419:15: note: ')' token is here
            s_id_CFUNC = rb_intern("CFUNC");
                         ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    10 warnings generated.
    compiling pg_connection.c
    pg_connection.c:104:26: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    rb_funcall( socket_io, rb_intern("close"), 0 );
                                           ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:104:26: note: '{' token is here
                    rb_funcall( socket_io, rb_intern("close"), 0 );
                                           ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:104:26: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    rb_funcall( socket_io, rb_intern("close"), 0 );
                                           ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:104:26: note: ')' token is here
                    rb_funcall( socket_io, rb_intern("close"), 0 );
                                           ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:126:30: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            rb_hash_aset(hash, ID2SYM(rb_intern("keyword")), rb_str_new2(options[i].keyword));
                                                      ^~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:126:30: note: '{' token is here
                            rb_hash_aset(hash, ID2SYM(rb_intern("keyword")), rb_str_new2(options[i].keyword));
                                                      ^~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:126:30: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            rb_hash_aset(hash, ID2SYM(rb_intern("keyword")), rb_str_new2(options[i].keyword));
                                                      ^~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:126:30: note: ')' token is here
                            rb_hash_aset(hash, ID2SYM(rb_intern("keyword")), rb_str_new2(options[i].keyword));
                                                      ^~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:128:30: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            rb_hash_aset(hash, ID2SYM(rb_intern("envvar")), rb_str_new2(options[i].envvar));
                                                      ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:128:30: note: '{' token is here
                            rb_hash_aset(hash, ID2SYM(rb_intern("envvar")), rb_str_new2(options[i].envvar));
                                                      ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:128:30: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            rb_hash_aset(hash, ID2SYM(rb_intern("envvar")), rb_str_new2(options[i].envvar));
                                                      ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:128:30: note: ')' token is here
                            rb_hash_aset(hash, ID2SYM(rb_intern("envvar")), rb_str_new2(options[i].envvar));
                                                      ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:130:30: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            rb_hash_aset(hash, ID2SYM(rb_intern("compiled")), rb_str_new2(options[i].compiled));
                                                      ^~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:130:30: note: '{' token is here
                            rb_hash_aset(hash, ID2SYM(rb_intern("compiled")), rb_str_new2(options[i].compiled));
                                                      ^~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:130:30: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            rb_hash_aset(hash, ID2SYM(rb_intern("compiled")), rb_str_new2(options[i].compiled));
                                                      ^~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:130:30: note: ')' token is here
                            rb_hash_aset(hash, ID2SYM(rb_intern("compiled")), rb_str_new2(options[i].compiled));
                                                      ^~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:132:30: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            rb_hash_aset(hash, ID2SYM(rb_intern("val")), rb_str_new2(options[i].val));
                                                      ^~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:132:30: note: '{' token is here
                            rb_hash_aset(hash, ID2SYM(rb_intern("val")), rb_str_new2(options[i].val));
                                                      ^~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:132:30: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            rb_hash_aset(hash, ID2SYM(rb_intern("val")), rb_str_new2(options[i].val));
                                                      ^~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:132:30: note: ')' token is here
                            rb_hash_aset(hash, ID2SYM(rb_intern("val")), rb_str_new2(options[i].val));
                                                      ^~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:134:30: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            rb_hash_aset(hash, ID2SYM(rb_intern("label")), rb_str_new2(options[i].label));
                                                      ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:134:30: note: '{' token is here
                            rb_hash_aset(hash, ID2SYM(rb_intern("label")), rb_str_new2(options[i].label));
                                                      ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:134:30: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            rb_hash_aset(hash, ID2SYM(rb_intern("label")), rb_str_new2(options[i].label));
                                                      ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:134:30: note: ')' token is here
                            rb_hash_aset(hash, ID2SYM(rb_intern("label")), rb_str_new2(options[i].label));
                                                      ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:136:30: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            rb_hash_aset(hash, ID2SYM(rb_intern("dispchar")), rb_str_new2(options[i].dispchar));
                                                      ^~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:136:30: note: '{' token is here
                            rb_hash_aset(hash, ID2SYM(rb_intern("dispchar")), rb_str_new2(options[i].dispchar));
                                                      ^~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:136:30: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            rb_hash_aset(hash, ID2SYM(rb_intern("dispchar")), rb_str_new2(options[i].dispchar));
                                                      ^~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:136:30: note: ')' token is here
                            rb_hash_aset(hash, ID2SYM(rb_intern("dispchar")), rb_str_new2(options[i].dispchar));
                                                      ^~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:137:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    rb_hash_aset(hash, ID2SYM(rb_intern("dispsize")), INT2NUM(options[i].dispsize));
                                              ^~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:137:29: note: '{' token is here
                    rb_hash_aset(hash, ID2SYM(rb_intern("dispsize")), INT2NUM(options[i].dispsize));
                                              ^~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:137:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    rb_hash_aset(hash, ID2SYM(rb_intern("dispsize")), INT2NUM(options[i].dispsize));
                                              ^~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:137:29: note: ')' token is here
                    rb_hash_aset(hash, ID2SYM(rb_intern("dispsize")), INT2NUM(options[i].dispsize));
                                              ^~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:272:38: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            conninfo = rb_funcall2( rb_cPGconn, rb_intern("parse_connect_args"), argc, argv );
                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    pg_connection.c:272:38: note: '{' token is here
            conninfo = rb_funcall2( rb_cPGconn, rb_intern("parse_connect_args"), argc, argv );
                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    pg_connection.c:272:38: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            conninfo = rb_funcall2( rb_cPGconn, rb_intern("parse_connect_args"), argc, argv );
                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    pg_connection.c:272:38: note: ')' token is here
            conninfo = rb_funcall2( rb_cPGconn, rb_intern("parse_connect_args"), argc, argv );
                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    pg_connection.c:324:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            conninfo = rb_funcall2( klass, rb_intern("parse_connect_args"), argc, argv );
                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    pg_connection.c:324:33: note: '{' token is here
            conninfo = rb_funcall2( klass, rb_intern("parse_connect_args"), argc, argv );
                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    pg_connection.c:324:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            conninfo = rb_funcall2( klass, rb_intern("parse_connect_args"), argc, argv );
                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    pg_connection.c:324:33: note: ')' token is here
            conninfo = rb_funcall2( klass, rb_intern("parse_connect_args"), argc, argv );
                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    pg_connection.c:367:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            conninfo = rb_funcall2( klass, rb_intern("parse_connect_args"), argc, argv );
                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    pg_connection.c:367:33: note: '{' token is here
            conninfo = rb_funcall2( klass, rb_intern("parse_connect_args"), argc, argv );
                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    pg_connection.c:367:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            conninfo = rb_funcall2( klass, rb_intern("parse_connect_args"), argc, argv );
                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    pg_connection.c:367:33: note: ')' token is here
            conninfo = rb_funcall2( klass, rb_intern("parse_connect_args"), argc, argv );
                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    pg_connection.c:842:20: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ID id_autoclose = rb_intern("autoclose=");
                              ^~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    pg_connection.c:842:20: note: '{' token is here
            ID id_autoclose = rb_intern("autoclose=");
                              ^~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    pg_connection.c:842:20: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ID id_autoclose = rb_intern("autoclose=");
                              ^~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    pg_connection.c:842:20: note: ')' token is here
            ID id_autoclose = rb_intern("autoclose=");
                              ^~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    pg_connection.c:856:35: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    socket_io = rb_funcall( rb_cIO, rb_intern("for_fd"), 1, INT2NUM(ruby_sd) );
                                                    ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:856:35: note: '{' token is here
                    socket_io = rb_funcall( rb_cIO, rb_intern("for_fd"), 1, INT2NUM(ruby_sd) );
                                                    ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:856:35: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    socket_io = rb_funcall( rb_cIO, rb_intern("for_fd"), 1, INT2NUM(ruby_sd) );
                                                    ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:856:35: note: ')' token is here
                    socket_io = rb_funcall( rb_cIO, rb_intern("for_fd"), 1, INT2NUM(ruby_sd) );
                                                    ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2220:23: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            sym_relname = ID2SYM(rb_intern("relname"));
                                 ^~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:2220:23: note: '{' token is here
            sym_relname = ID2SYM(rb_intern("relname"));
                                 ^~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:2220:23: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            sym_relname = ID2SYM(rb_intern("relname"));
                                 ^~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:2220:23: note: ')' token is here
            sym_relname = ID2SYM(rb_intern("relname"));
                                 ^~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:2221:22: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            sym_be_pid = ID2SYM(rb_intern("be_pid"));
                                ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:2221:22: note: '{' token is here
            sym_be_pid = ID2SYM(rb_intern("be_pid"));
                                ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:2221:22: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            sym_be_pid = ID2SYM(rb_intern("be_pid"));
                                ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:2221:22: note: ')' token is here
            sym_be_pid = ID2SYM(rb_intern("be_pid"));
                                ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:2222:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            sym_extra = ID2SYM(rb_intern("extra"));
                               ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:2222:21: note: '{' token is here
            sym_extra = ID2SYM(rb_intern("extra"));
                               ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:2222:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            sym_extra = ID2SYM(rb_intern("extra"));
                               ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:2222:21: note: ')' token is here
            sym_extra = ID2SYM(rb_intern("extra"));
                               ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:2394:3: error: implicit declaration of function 'gettimeofday' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
                    gettimeofday(&currtime, NULL);
                    ^
    pg_connection.c:2411:4: error: implicit declaration of function 'gettimeofday' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
                            gettimeofday(&currtime, NULL);
                            ^
    pg_connection.c:2734:26: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            if(rb_respond_to(stream,rb_intern("fileno")) == Qfalse)
                                    ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    pg_connection.c:2734:26: note: '{' token is here
            if(rb_respond_to(stream,rb_intern("fileno")) == Qfalse)
                                    ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    pg_connection.c:2734:26: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            if(rb_respond_to(stream,rb_intern("fileno")) == Qfalse)
                                    ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    pg_connection.c:2734:26: note: ')' token is here
            if(rb_respond_to(stream,rb_intern("fileno")) == Qfalse)
                                    ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    pg_connection.c:2737:30: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            fileno = rb_funcall(stream, rb_intern("fileno"), 0);
                                        ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2737:30: note: '{' token is here
            fileno = rb_funcall(stream, rb_intern("fileno"), 0);
                                        ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2737:30: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            fileno = rb_funcall(stream, rb_intern("fileno"), 0);
                                        ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2737:30: note: ')' token is here
            fileno = rb_funcall(stream, rb_intern("fileno"), 0);
                                        ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2754:32: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            new_file = rb_funcall(rb_cIO, rb_intern("new"), 1, INT2NUM(new_fd));
                                          ^~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2754:32: note: '{' token is here
            new_file = rb_funcall(rb_cIO, rb_intern("new"), 1, INT2NUM(new_fd));
                                          ^~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2754:32: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            new_file = rb_funcall(rb_cIO, rb_intern("new"), 1, INT2NUM(new_fd));
                                          ^~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2754:32: note: ')' token is here
            new_file = rb_funcall(rb_cIO, rb_intern("new"), 1, INT2NUM(new_fd));
                                          ^~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2773:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            rb_funcall(this->trace_stream, rb_intern("close"), 0);
                                           ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2773:33: note: '{' token is here
            rb_funcall(this->trace_stream, rb_intern("close"), 0);
                                           ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2773:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            rb_funcall(this->trace_stream, rb_intern("close"), 0);
                                           ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2773:33: note: ')' token is here
            rb_funcall(this->trace_stream, rb_intern("close"), 0);
                                           ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2792:37: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    rb_funcall(this->notice_receiver, rb_intern("call"), 1, result);
                                                      ^~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2792:37: note: '{' token is here
                    rb_funcall(this->notice_receiver, rb_intern("call"), 1, result);
                                                      ^~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2792:37: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    rb_funcall(this->notice_receiver, rb_intern("call"), 1, result);
                                                      ^~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2792:37: note: ')' token is here
                    rb_funcall(this->notice_receiver, rb_intern("call"), 1, result);
                                                      ^~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2869:37: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    rb_funcall(this->notice_receiver, rb_intern("call"), 1, message_str);
                                                      ^~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2869:37: note: '{' token is here
                    rb_funcall(this->notice_receiver, rb_intern("call"), 1, message_str);
                                                      ^~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2869:37: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    rb_funcall(this->notice_receiver, rb_intern("call"), 1, message_str);
                                                      ^~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:2869:37: note: ')' token is here
                    rb_funcall(this->notice_receiver, rb_intern("call"), 1, message_str);
                                                      ^~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:2473:20: note: expanded from macro 'rb_funcall'
            rb_funcallv(recv, mid, \
                              ^~~
    pg_connection.c:3771:16: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            s_id_encode = rb_intern("encode");
                          ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    pg_connection.c:3771:16: note: '{' token is here
            s_id_encode = rb_intern("encode");
                          ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    pg_connection.c:3771:16: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            s_id_encode = rb_intern("encode");
                          ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    pg_connection.c:3771:16: note: ')' token is here
            s_id_encode = rb_intern("encode");
                          ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    pg_connection.c:3772:20: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            sym_type = ID2SYM(rb_intern("type"));
                              ^~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:3772:20: note: '{' token is here
            sym_type = ID2SYM(rb_intern("type"));
                              ^~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:3772:20: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            sym_type = ID2SYM(rb_intern("type"));
                              ^~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:3772:20: note: ')' token is here
            sym_type = ID2SYM(rb_intern("type"));
                              ^~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:3773:22: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            sym_format = ID2SYM(rb_intern("format"));
                                ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:3773:22: note: '{' token is here
            sym_format = ID2SYM(rb_intern("format"));
                                ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:3773:22: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            sym_format = ID2SYM(rb_intern("format"));
                                ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:3773:22: note: ')' token is here
            sym_format = ID2SYM(rb_intern("format"));
                                ^~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:3774:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            sym_value = ID2SYM(rb_intern("value"));
                               ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                          ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:3774:21: note: '{' token is here
            sym_value = ID2SYM(rb_intern("value"));
                               ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        {                                                   \
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:3774:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            sym_value = ID2SYM(rb_intern("value"));
                               ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
        }
        ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    pg_connection.c:3774:21: note: ')' token is here
            sym_value = ID2SYM(rb_intern("value"));
                               ^~~~~~~~~~~~~~~~~~
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
            __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                                                           ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:385:29: note: expanded from macro 'ID2SYM'
    #define ID2SYM(x) RB_ID2SYM(x)
                                ^
    /Users/tpowell/.rbenv/versions/2.5.7/include/ruby-2.5.0/ruby/ruby.h:380:33: note: expanded from macro 'RB_ID2SYM'
    #define RB_ID2SYM(x) (rb_id2sym(x))
                                    ^
    52 warnings and 2 errors generated.
    make: *** [pg_connection.o] Error 1
    
    make failed, exit code 2
    
    

     
  • ThomasPowell 1:58 pm on March 30, 2022 Permalink | Reply
    Tags: , debase, errors, gems,   

    An error occurred while installing debase (0.2.4.1), and Bundler cannot continue.

    https://github.com/ruby-debug/debase/issues/65

    gem install debase — –with-cflags=”-Wno-error=implicit-function-declaration”

     
  • ThomasPowell 3:46 pm on February 16, 2022 Permalink | Reply
    Tags: errors, fugitive,   

    Error detected while processing /Users/tpowell/.vim/plugins/vim-fugitive/plugin/fugitive.vim:
    line 471: E1208: -complete used without allowing argumentsline 472: E1208: -complete used without allowing argumentsline 476: E1208: -complete used without allowing argumentsline 479: E1208: -complete used without allowing argumentsPress ENTER or type command to continue

    Fixed by changing -nargs=0 instances in fugitive.vim to -nargs=?

    Found via https://github.com/mhinz/vim-sayonara/pull/19/commits/7e774f58c5865d9c10d40396850b35ab95af17c5

     
c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Reply
e
Edit
o
Show/Hide comments
t
Go to top
l
Go to login
h
Show/Hide help
shift + esc
Cancel
%d bloggers like this: