cl-bindgen
cl-bindgen copied to clipboard
Exception raised when called on portaudio.h
cl-bindgen seems to fail when attempting to parse portaudio.h.
user@machine% cl-bindgen f /usr/include/portaudio.h
WARNING: could not determine clang version. System header files
may not be processed correctly.
WARNING: Could not transform macro paMakeVersionNumber at: /usr/include/portaudio.h:81:9
WARNING: Could not transform macro paNoDevice at: /usr/include/portaudio.h:220:9
WARNING: Could not transform macro paUseHostApiSpecificDeviceSpecification at: /usr/include/por taudio.h:228:9
WARNING: Could not transform macro paFloat32 at: /usr/include/portaudio.h:487:9
WARNING: Could not transform macro paInt32 at: /usr/include/portaudio.h:488:9
WARNING: Could not transform macro paInt24 at: /usr/include/portaudio.h:489:9
WARNING: Could not transform macro paInt16 at: /usr/include/portaudio.h:490:9
WARNING: Could not transform macro paInt8 at: /usr/include/portaudio.h:491:9
WARNING: Could not transform macro paUInt8 at: /usr/include/portaudio.h:492:9
WARNING: Could not transform macro paCustomFormat at: /usr/include/portaudio.h:493:9
WARNING: Could not transform macro paNonInterleaved at: /usr/include/portaudio.h:495:9
WARNING: Could not transform macro paFormatIsSupported at: /usr/include/portaudio.h:585:9
WARNING: Could not transform macro paFramesPerBufferUnspecified at: /usr/include/portaudio.h:64 2:9
WARNING: Could not transform macro paNoFlag at: /usr/include/portaudio.h:656:11
WARNING: Could not transform macro paClipOff at: /usr/include/portaudio.h:661:11
WARNING: Could not transform macro paDitherOff at: /usr/include/portaudio.h:666:11
WARNING: Could not transform macro paNeverDropInput at: /usr/include/portaudio.h:677:11
WARNING: Could not transform macro paPrimeOutputBuffersUsingStreamCallback at: /usr/include/portaudio.h:685:11
WARNING: Could not transform macro paPlatformSpecificFlags at: /usr/include/portaudio.h:690:11
WARNING: Could not transform macro paInputUnderflow at: /usr/include/portaudio.h:721:9
WARNING: Could not transform macro paInputOverflow at: /usr/include/portaudio.h:730:9
WARNING: Could not transform macro paOutputUnderflow at: /usr/include/portaudio.h:736:9
WARNING: Could not transform macro paOutputOverflow at: /usr/include/portaudio.h:741:9
WARNING: Could not transform macro paPrimingOutput at: /usr/include/portaudio.h:747:9
Traceback (most recent call last):
File "/home/user/.local/bin/cl-bindgen", line 10, in <module>
sys.exit(main())
~~~~^^
File "/home/user/.local/share/uv/tools/cl-bindgen/lib/python3.13/site-packages/cl_bindgen/__main__.py", line 7, in main
util.dispatch_from_arguments(sys.argv[1:], options)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/.local/share/uv/tools/cl-bindgen/lib/python3.13/site-packages/cl_bindgen/util.py", line 250, in dispatch_from_arguments
return args.func(args, options)
~~~~~~~~~^^^^^^^^^^^^^^^
File "/home/user/.local/share/uv/tools/cl-bindgen/lib/python3.13/site-packages/cl_bindgen/util.py", line 136, in _arg_process_files
processfile.process_files(arguments.inputs, options)
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/.local/share/uv/tools/cl-bindgen/lib/python3.13/site-packages/cl_bindgen/processfile.py", line 530, in process_files
_process_file(f, output, options)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
File "/home/user/.local/share/uv/tools/cl-bindgen/lib/python3.13/site-packages/cl_bindgen/processfile.py", line 481, in _process_file
handler_func(child, data, output, options)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/.local/share/uv/tools/cl-bindgen/lib/python3.13/site-packages/cl_bindgen/processfile.py", line 421, in _process_typedef_decl
base_type_name = _cursor_lisp_type_str(underlying_type, options)
File "/home/user/.local/share/uv/tools/cl-bindgen/lib/python3.13/site-packages/cl_bindgen/processfile.py", line 206, in _cursor_lisp_type_str
raise Exception("Don't know what to do here!")
Exception: Don't know what to do here!
Hi, can you supply the file that you are running the program on? A link to it would work perfectly!
What version of libclang are you using?
Thanks for the quick response. It's libclang version 21.1.4. I attached it as a gz because github won't allow .h files for some reason.