parameters: (cc=None)
return_statement: return k
docstring: Checks predefined macros using the C compiler command.
docstring_summary: Checks predefined macros using the C compiler command.
docstring_tokens: Checks predefined macros using the C compiler command .
function: def cc_macros(cc=None):
    """Checks predefined macros using the C compiler command."""
  
    try:
      p = subprocess.Popen(shlex.split(cc or CC) + ['-dM', '-E', '-'],
                           stdin=subprocess.PIPE,
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE)
    except OSError:
      error('''No acceptable C compiler found!
  
         Please make sure you have a C compiler installed on your system and/or
         consider adjusting the CC environment variable if you installed
         it in a non-standard prefix.''')
  
    p.stdin.write(b'\n')
    out = to_utf8(p.communicate()[0]).split('\n')
  
    k = {}
    for line in out:
      lst = shlex.split(line)
      if len(lst) > 2:
        key = lst[1]
        val = lst[2]
        k[key] = val
    return k
function_tokens: def cc_macros ( cc = None ) : try : p = subprocess . Popen ( shlex . split ( cc or CC ) + [ '-dM' , '-E' , '-' ] , stdin = subprocess . PIPE , stdout = subprocess . PIPE , stderr = subprocess . PIPE ) except OSError : error ( '''No acceptable C compiler found!
  
         Please make sure you have a C compiler installed on your system and/or
         consider adjusting the CC environment variable if you installed
         it in a non-standard prefix.''' ) p . stdin . write ( b'\n' ) out = to_utf8 ( p . communicate ( ) [ 0 ] ) . split ( '\n' ) k = { } for line in out : lst = shlex . split ( line ) if len ( lst ) > 2 : key = lst [ 1 ] val = lst [ 2 ] k [ key ] = val return k