cl-bindgen icon indicating copy to clipboard operation
cl-bindgen copied to clipboard

Exception raised when called on portaudio.h

Open djr7C4 opened this issue 5 months ago • 2 comments

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!

djr7C4 avatar Nov 11 '25 01:11 djr7C4

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?

sdilts avatar Nov 11 '25 03:11 sdilts

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.

portaudio.h.gz

djr7C4 avatar Nov 11 '25 03:11 djr7C4