C99 support

Sysprogs forums Forums VisualGDB C99 support

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #775
    mru22
    Participant

    Some of the code I am writing is throwing errors indicating that it requires C99. Is there a way I change the Visual GDB Build settings to use C99 ?

    thanks,

    #3029
    ket
    Participant

    Hi,

    Please add to CFLAGS on the Makefile settings page of VisualGDB Project Properties the following flag:

    -std=c99

    If you are using your own makefile, then add it to the makefile in an equivalent location so that the flag is passed to gcc.

    #7746
    igorfranco
    Participant

    Hello,

    I’m porting Z80 code made in C99 to ARM platform, I changed my compiler directive according you suggested, but unfortunately I’m still facing compiler problems like below:

    I do appreciate if some bright soul could help me in this issue.

     

    Severity Code Description Project File Line Suppression State
    Error cannot convert ‘unsigned char (*)[17]’ to ‘char*’ for argument ‘1’ to ‘void lcd_str(char*)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\DIAG.C 325
    Error cannot convert ‘unsigned char (*)[17]’ to ‘char*’ for argument ‘1’ to ‘void lcd_str(char*)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\DIAG.C 383
    Error cannot convert ‘unsigned char (*)[17]’ to ‘char*’ for argument ‘1’ to ‘void lcd_str(char*)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\DIAG.C 489
    Error cannot convert ‘unsigned int*’ to ‘char*’ for argument ‘1’ to ‘void bput_str(char*, char, char, char*)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\DIAG.C 700
    Error cannot convert ‘unsigned int*’ to ‘char*’ for argument ‘1’ to ‘void bput_str(char*, char, char, char*)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\DIAG.C 761
    Error cannot convert ‘unsigned int*’ to ‘char*’ for argument ‘1’ to ‘void bput_str(char*, char, char, char*)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\DIAG.C 765
    Error cannot convert ‘unsigned int*’ to ‘char*’ for argument ‘1’ to ‘void bput_str(char*, char, char, char*)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\DIAG.C 774
    Error cannot convert ‘unsigned int*’ to ‘char*’ for argument ‘1’ to ‘void bput_str(char*, char, char, char*)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\DIAG.C 778
    Error cannot convert ‘unsigned int*’ to ‘char*’ for argument ‘1’ to ‘void bput_str(char*, char, char, char*)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\DIAG.C 785
    Error cannot convert ‘unsigned int*’ to ‘char*’ for argument ‘1’ to ‘void bput_str(char*, char, char, char*)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\DIAG.C 789
    Error cannot convert ‘unsigned int*’ to ‘char*’ for argument ‘1’ to ‘void bput_str(char*, char, char, char*)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\DIAG.C 796
    Error cannot convert ‘unsigned int*’ to ‘char*’ for argument ‘1’ to ‘void bput_str(char*, char, char, char*)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\DIAG.C 800
    Error cannot convert ‘unsigned int*’ to ‘char*’ for argument ‘1’ to ‘void bput_str(char*, char, char, char*)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\DIAG.C 806
    Error cannot convert ‘unsigned int*’ to ‘char*’ for argument ‘1’ to ‘void bput_str(char*, char, char, char*)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\DIAG.C 810
    Error cannot convert ‘unsigned int*’ to ‘const char*’ for argument ‘2’ to ‘char* strcpy(char*, const char*)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2270
    Error cannot convert ‘unsigned int*’ to ‘const char*’ for argument ‘2’ to ‘char* strcpy(char*, const char*)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2271
    Error cannot convert ‘unsigned int*’ to ‘char*’ for argument ‘1’ to ‘void get_clas(char*)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2715
    Error cannot convert ‘unsigned int*’ to ‘char*’ for argument ‘1’ to ‘void get_clas(char*)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2728
    Error aggregate ‘typ_peles peles_temp1’ has incomplete type and cannot be defined MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2754
    Error aggregate ‘typ_peles peles_temp2’ has incomplete type and cannot be defined MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2755
    Error invalid use of incomplete type ‘struct typ_medida’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2763
    Error cannot convert ‘typ_nvr::typ_peles*’ to ‘typ_peles*’ for argument ‘1’ to ‘void get_medida(typ_peles*, int)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2775
    Error cannot convert ‘typ_nvr::typ_peles*’ to ‘typ_peles*’ for argument ‘1’ to ‘void put_medida(typ_peles*, int)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2778
    Error invalid use of incomplete type ‘struct typ_medida’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2810
    Error invalid use of incomplete type ‘struct typ_medida’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2811
    Error invalid use of incomplete type ‘struct typ_medida’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2813
    Error invalid use of incomplete type ‘struct typ_medida’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2814
    Error invalid use of incomplete type ‘struct typ_medida’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2815
    Error invalid use of incomplete type ‘struct typ_medida’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2816
    Error invalid use of incomplete type ‘struct typ_medida’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2817
    Error invalid use of incomplete type ‘struct typ_medida’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2819
    Error cannot convert ‘typ_nvr::typ_peles*’ to ‘typ_peles*’ for argument ‘1’ to ‘void put_medida(typ_peles*, int)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2840
    Error invalid use of incomplete type ‘struct typ_medida’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2843
    Error invalid use of incomplete type ‘struct typ_medida’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2856
    Error invalid use of incomplete type ‘struct typ_medida’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2859
    Error cannot convert ‘typ_nvr::typ_peles*’ to ‘typ_peles*’ for argument ‘1’ to ‘void get_medida(typ_peles*, int)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2903
    Error cannot convert ‘typ_nvr::typ_peles*’ to ‘typ_peles*’ for argument ‘1’ to ‘void put_medida(typ_peles*, int)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2932
    Error cannot convert ‘typ_nvr::typ_peles*’ to ‘typ_peles*’ for argument ‘1’ to ‘void get_medida(typ_peles*, int)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2968
    Error cannot convert ‘typ_nvr::typ_peles*’ to ‘typ_peles*’ for argument ‘1’ to ‘void get_medida(typ_peles*, int)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2982
    Error cannot convert ‘typ_nvr::typ_peles*’ to ‘typ_peles*’ for argument ‘1’ to ‘void put_medida(typ_peles*, int)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 2999
    Error cannot convert ‘typ_nvr::typ_peles*’ to ‘typ_peles*’ for argument ‘1’ to ‘void get_medida(typ_peles*, int)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 3067
    Error cannot convert ‘typ_nvr::typ_peles*’ to ‘typ_peles*’ for argument ‘1’ to ‘void put_medida(typ_peles*, int)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 3078
    Error no match for ‘operator=’ (operand types are ‘typ_nvr::typ_peles’ and ‘typ_peles’) MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 3142
    Error cannot convert ‘typ_nvr::typ_peles*’ to ‘typ_peles*’ for argument ‘1’ to ‘void put_medida(typ_peles*, int)’ MD_SORT_ARM_2015_C H:\Firmware\MD_SORT\4.09a\InitialSource\ESTEIRA.C 3164

    #7757
    support
    Keymaster

    Hi,

    It’s hard to say why these errors are happening if you are using C99. Could you please share the full build log from the Output window? Perhaps you have enabled strict type checking via CFLAGS?

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.