code: def test_domain_c_ast_member_definitions():
      check("member", "void a", {1: "a"})
      check("member", "_Bool a", {1: "a"})
      check("member", "bool a", {1: "a"})
      check("member", "char a", {1: "a"})
      check("member", "int a", {1: "a"})
      check("member", "float a", {1: "a"})
      check("member", "double a", {1: "a"})
  
      check("member", "unsigned long a", {1: "a"})
      check("member", "__int64 a", {1: "a"})
      check("member", "unsigned __int64 a", {1: "a"})
  
      check("member", "int .a", {1: "a"})
  
      check("member", "int *a", {1: "a"})
      check("member", "int **a", {1: "a"})
      check("member", "const int a", {1: "a"})
      check("member", "volatile int a", {1: "a"})
      check("member", "restrict int a", {1: "a"})
      check("member", "volatile const int a", {1: "a"})
      check("member", "restrict const int a", {1: "a"})
      check("member", "restrict volatile int a", {1: "a"})
      check("member", "restrict volatile const int a", {1: "a"})
  
      check("member", "T t", {1: "t"})
  
      check("member", "int a[]", {1: "a"})
  
      check("member", "int (*p)[]", {1: "p"})
  
      check("member", "int a[42]", {1: "a"})
      check("member", "int a = 42", {1: "a"})
      check("member", "T a = {}", {1: "a"})
      check("member", "T a = {1}", {1: "a"})
      check("member", "T a = {1, 2}", {1: "a"})
      check("member", "T a = {1, 2, 3}", {1: "a"})
  
      # test from issue #1539
      check("member", "CK_UTF8CHAR model[16]", {1: "model"})
  
      check("member", "auto int a", {1: "a"})
      check("member", "register int a", {1: "a"})
      check("member", "extern int a", {1: "a"})
      check("member", "static int a", {1: "a"})
  
      check("member", "thread_local int a", {1: "a"})
      check("member", "_Thread_local int a", {1: "a"})
      check("member", "extern thread_local int a", {1: "a"})
      check(
          "member",
          "thread_local extern int a",
          {1: "a"},
          "extern thread_local int a",
      )
      check("member", "static thread_local int a", {1: "a"})
      check(
          "member",
          "thread_local static int a",
          {1: "a"},
          "static thread_local int a",
      )
  
      check("member", "int b : 3", {1: "b"})
  
imports: import itertools
  import zlib
  from xml.etree import ElementTree
  import pytest
  from sphinx import addnodes
  from sphinx.addnodes import desc, desc_content, desc_name, desc_parameter, desc_parameterlist, desc_sig_name, desc_sig_space, desc_signature, desc_signature_line, pending_xref
  from sphinx.domains.c import DefinitionError, DefinitionParser, Symbol, _id_prefix, _macroKeywords, _max_id
  from sphinx.ext.intersphinx import load_mappings, normalize_intersphinx_mapping
  from sphinx.testing import restructuredtext
  from sphinx.testing.util import assert_node
  from sphinx.writers.text import STDINDENT
label_desc: Use image node_id 8 for calling a global function with example usage: test_domain_c_ast_member_definitions() without return types