OpenMathLib / OpenMathLib/OpenBLAS

cblas.h function declarations should include calling convention specifier

Abierto
#618 9 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Feature request
Lenguaje dominante
C
Estrellas
7.6k
Forks
1.7k
Merge medio
1 d 3 h
PR fusionados (30 d)
42

Descripción

Hi there!
I'm trying to use OpenBLAS in my code in MSVC2015 (@ Win7 x64). The code uses __vectorcall calling convention by default, and therefore any external function declared (such as that in cblas.h) are expected to conform this calling convention (extern "C" doesn't influence on that). At the same time, OpenBLAS is built with __cdecl calling convention and therefore it can't be used until cblas.h function declarations are hacked with proper __cdecl calling convention.

For example,

void cblas_dgemm(OPENBLAS_CONST enum .....bla-bla-bla);

should be declared as:

void __cdecl cblas_dgemm(OPENBLAS_CONST enum .....bla-bla-bla);

in order to be used in code with non-cdecl calling convention.

__cdecl keyword might be Microsoft specific, but you can make generic workaround with preprocessor macros.

Could you please update function declarations of cblas.h?
Thanks!

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza localizando cblas.h y revisando sus declaraciones de funciones CBLAS y las macros de preprocesador existentes. Comprueba cómo se comportan las declaraciones con MSVC2015 y __vectorcall y, a continuación, verifica que las declaraciones conserven de forma coherente la convención de llamada __cdecl de la biblioteca sin afectar a otras plataformas.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
c
Área
api
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
38/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.