avrdudes / avrdude

AVRDUDE is a utility to program AVR microcontrollers
GNU General Public License v2.0
734 stars 136 forks source link

[bug #42662] clang warnings under FreeBSD 10.x #349

Closed avrs-admin closed 2 years ago

avrs-admin commented 2 years ago

Jörg Wunsch Wed 02 Jul 2014 07:30:43 AM UTC

clang is the default compiler in FreeBSD 10.x.  It produces the following warnings (stock version 6.1):

===>  Building for avrdude-6.1
/bin/sh ./ylwrap config_gram.y y.tab.c config_gram.c y.tab.h `echo config_gram.c | sed -e s/cc$/hh/ -e s/cpp$/hpp/ -e s/cxx$/hxx/  -e s/c++$/h++/ -e s/c$/h/` y.output config_gram.output -- bison -y -d
updating config_gram.h
/bin/sh ./ylwrap lexer.l lex.yy.c lexer.c -- flex
/usr/bin/make  all-recursive
Making all in .
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-config_gram.o -MD -MP -MF .deps/libavrdude_a-config_gram.Tpo -c -o libavrdude_a-config_gram.o `test -f 'config_gram.c' || echo './'`config_gram.c
mv -f .deps/libavrdude_a-config_gram.Tpo .deps/libavrdude_a-config_gram.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-lexer.o -MD -MP -MF .deps/libavrdude_a-lexer.Tpo -c -o libavrdude_a-lexer.o `test -f 'lexer.c' || echo './'`lexer.c
mv -f .deps/libavrdude_a-lexer.Tpo .deps/libavrdude_a-lexer.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-arduino.o -MD -MP -MF .deps/libavrdude_a-arduino.Tpo -c -o libavrdude_a-arduino.o `test -f 'arduino.c' || echo './'`arduino.c
mv -f .deps/libavrdude_a-arduino.Tpo .deps/libavrdude_a-arduino.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-avr.o -MD -MP -MF .deps/libavrdude_a-avr.Tpo -c -o libavrdude_a-avr.o `test -f 'avr.c' || echo './'`avr.c
mv -f .deps/libavrdude_a-avr.Tpo .deps/libavrdude_a-avr.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-avr910.o -MD -MP -MF .deps/libavrdude_a-avr910.Tpo -c -o libavrdude_a-avr910.o `test -f 'avr910.c' || echo './'`avr910.c
mv -f .deps/libavrdude_a-avr910.Tpo .deps/libavrdude_a-avr910.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-avrftdi.o -MD -MP -MF .deps/libavrdude_a-avrftdi.Tpo -c -o libavrdude_a-avrftdi.o `test -f 'avrftdi.c' || echo './'`avrftdi.c
In file included from avrftdi.c:40:
./avrftdi.h:21:9: warning: 'avrftdi_h' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
#ifndef avrftdi_h
^~~~~~~~~
./avrftdi.h:22:9: note: 'avrfdti_h' is defined here; did you mean 'avrftdi_h'?
#define avrfdti_h
^~~~~~~~~
avrftdi_h
In file included from avrftdi.c:43:
./avrftdi_private.h:19:2: warning: No libftdi or libusb support. Install libftdi1/libusb-1.0 or libftdi/libusb and run configure/make again. [-W#warnings]
#warning No libftdi or libusb support. Install libftdi1/libusb-1.0 or libftdi/libusb and run configure/make again.
^
2 warnings generated.
mv -f .deps/libavrdude_a-avrftdi.Tpo .deps/libavrdude_a-avrftdi.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-avrftdi_tpi.o -MD -MP -MF .deps/libavrdude_a-avrftdi_tpi.Tpo -c -o libavrdude_a-avrftdi_tpi.o `test -f 'avrftdi_tpi.c' || echo './'`avrftdi_tpi.c
In file included from avrftdi_tpi.c:16:
./avrftdi_private.h:19:2: warning: No libftdi or libusb support. Install libftdi1/libusb-1.0 or libftdi/libusb and run configure/make again. [-W#warnings]
#warning No libftdi or libusb support. Install libftdi1/libusb-1.0 or libftdi/libusb and run configure/make again.
^
1 warning generated.
mv -f .deps/libavrdude_a-avrftdi_tpi.Tpo .deps/libavrdude_a-avrftdi_tpi.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-avrpart.o -MD -MP -MF .deps/libavrdude_a-avrpart.Tpo -c -o libavrdude_a-avrpart.o `test -f 'avrpart.c' || echo './'`avrpart.c
mv -f .deps/libavrdude_a-avrpart.Tpo .deps/libavrdude_a-avrpart.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-bitbang.o -MD -MP -MF .deps/libavrdude_a-bitbang.Tpo -c -o libavrdude_a-bitbang.o `test -f 'bitbang.c' || echo './'`bitbang.c
mv -f .deps/libavrdude_a-bitbang.Tpo .deps/libavrdude_a-bitbang.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-buspirate.o -MD -MP -MF .deps/libavrdude_a-buspirate.Tpo -c -o libavrdude_a-buspirate.o `test -f 'buspirate.c' || echo './'`buspirate.c
buspirate.c:662:17: warning: initializing 'unsigned char *' with an expression of type 'char [3]' converts between pointers to integer types with different sign [-Wpointer-sign]
unsigned char *reset_str = "#n";
^           ~~~~~
buspirate.c:663:17: warning: initializing 'unsigned char *' with an expression of type 'char [3]' converts between pointers to integer types with different sign [-Wpointer-sign]
unsigned char *accept_str = "yn";
^            ~~~~~
buspirate.c:692:49: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
rc = buspirate_send_bin(pgm, reset_str, strlen(reset_str));
^~~~~~~~~
/usr/include/string.h:95:28: note: passing argument to parameter here
size_t   strlen(const char *) __pure;
^
buspirate.c:692:31: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
rc = buspirate_send_bin(pgm, reset_str, strlen(reset_str));
^~~~~~~~~
buspirate.c:112:63: note: passing argument to parameter 'data' here
static int buspirate_send_bin(struct programmer_t *pgm, char *data, size_t len)
^
buspirate.c:705:47: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
buspirate_send_bin(pgm, accept_str, strlen(accept_str));
^~~~~~~~~~
/usr/include/string.h:95:28: note: passing argument to parameter here
size_t   strlen(const char *) __pure;
^
buspirate.c:705:28: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
buspirate_send_bin(pgm, accept_str, strlen(accept_str));
^~~~~~~~~~
buspirate.c:112:63: note: passing argument to parameter 'data' here
static int buspirate_send_bin(struct programmer_t *pgm, char *data, size_t len)
^
buspirate.c:879:10: warning: passing 'unsigned char [10]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
strncpy(commandbuf, "x6x2", 2);
^~~~~~~~~~
/usr/include/string.h:101:32: note: passing argument to parameter here
char    *strncpy(char * __restrict, const char * __restrict, size_t);
^
buspirate.c:893:26: warning: passing 'unsigned char [10]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
buspirate_send_bin(pgm, commandbuf, 10);
^~~~~~~~~~
buspirate.c:112:63: note: passing argument to parameter 'data' here
static int buspirate_send_bin(struct programmer_t *pgm, char *data, size_t len)
^
buspirate.c:894:26: warning: passing 'unsigned char [275]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
buspirate_recv_bin(pgm, buf, 1);
^~~
buspirate.c:126:63: note: passing argument to parameter 'buf' here
static int buspirate_recv_bin(struct programmer_t *pgm, char *buf, size_t len)
^
buspirate.c:895:26: warning: passing 'unsigned char [275]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
buspirate_recv_bin(pgm, buf, 1);
^~~
buspirate.c:126:63: note: passing argument to parameter 'buf' here
static int buspirate_recv_bin(struct programmer_t *pgm, char *buf, size_t len)
^
buspirate.c:903:27: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
buspirate_recv_bin(pgm, &m->buf[addr+address], 1);
^~~~~~~~~~~~~~~~~~~~~
buspirate.c:126:63: note: passing argument to parameter 'buf' here
static int buspirate_recv_bin(struct programmer_t *pgm, char *buf, size_t len)
^
buspirate.c:980:45: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
avr_set_bits(m->op[AVR_OP_LOADPAGE_LO], &(cmd_buf[4*i]));
^~~~~~~~~~~~~~~
./avrpart.h:204:47: note: passing argument to parameter 'cmd' here
int avr_set_bits(OPCODE * op, unsigned char * cmd);
^
buspirate.c:981:45: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
avr_set_addr(m->op[AVR_OP_LOADPAGE_LO], &(cmd_buf[4*i]), addr/2);
^~~~~~~~~~~~~~~
./avrpart.h:205:47: note: passing argument to parameter 'cmd' here
int avr_set_addr(OPCODE * op, unsigned char * cmd, unsigned long addr);
^
buspirate.c:982:46: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
avr_set_input(m->op[AVR_OP_LOADPAGE_LO], &(cmd_buf[4*i]), m->buf[addr]);
^~~~~~~~~~~~~~~
./avrpart.h:206:48: note: passing argument to parameter 'cmd' here
int avr_set_input(OPCODE * op, unsigned char * cmd, unsigned char data);
^
buspirate.c:984:45: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
avr_set_bits(m->op[AVR_OP_LOADPAGE_HI], &(cmd_buf[4*i]));
^~~~~~~~~~~~~~~
./avrpart.h:204:47: note: passing argument to parameter 'cmd' here
int avr_set_bits(OPCODE * op, unsigned char * cmd);
^
buspirate.c:985:45: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
avr_set_addr(m->op[AVR_OP_LOADPAGE_HI], &(cmd_buf[4*i]), addr/2);
^~~~~~~~~~~~~~~
./avrpart.h:205:47: note: passing argument to parameter 'cmd' here
int avr_set_addr(OPCODE * op, unsigned char * cmd, unsigned long addr);
^
buspirate.c:986:46: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
avr_set_input(m->op[AVR_OP_LOADPAGE_HI], &(cmd_buf[4*i]), m->buf[addr]);
^~~~~~~~~~~~~~~
./avrpart.h:206:48: note: passing argument to parameter 'cmd' here
int avr_set_input(OPCODE * op, unsigned char * cmd, unsigned char data);
^
buspirate.c:1211:30: warning: passing 'unsigned char [10]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
if (buspirate_send_bin(pgm, buf, 1) < 0)
^~~
buspirate.c:112:63: note: passing argument to parameter 'data' here
static int buspirate_send_bin(struct programmer_t *pgm, char *data, size_t len)
^
buspirate.c:1215:31: warning: passing 'unsigned char [10]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
if (buspirate_recv_bin(pgm, buf, 1) < 0)
^~~
buspirate.c:126:63: note: passing argument to parameter 'buf' here
static int buspirate_recv_bin(struct programmer_t *pgm, char *buf, size_t len)
^
buspirate.c:1221:30: warning: passing 'unsigned char [10]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
if (buspirate_recv_bin(pgm, buf, 1) < 0)
^~~
buspirate.c:126:63: note: passing argument to parameter 'buf' here
static int buspirate_recv_bin(struct programmer_t *pgm, char *buf, size_t len)
^
buspirate.c:1254:30: warning: passing 'unsigned char [10]' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
if (buspirate_send_bin(pgm, buf, 1) < 0)
^~~
buspirate.c:112:63: note: passing argument to parameter 'data' here
static int buspirate_send_bin(struct programmer_t *pgm, char *data, size_t len)
^
21 warnings generated.
mv -f .deps/libavrdude_a-buspirate.Tpo .deps/libavrdude_a-buspirate.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-butterfly.o -MD -MP -MF .deps/libavrdude_a-butterfly.Tpo -c -o libavrdude_a-butterfly.o `test -f 'butterfly.c' || echo './'`butterfly.c
mv -f .deps/libavrdude_a-butterfly.Tpo .deps/libavrdude_a-butterfly.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-config.o -MD -MP -MF .deps/libavrdude_a-config.Tpo -c -o libavrdude_a-config.o `test -f 'config.c' || echo './'`config.c
mv -f .deps/libavrdude_a-config.Tpo .deps/libavrdude_a-config.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-confwin.o -MD -MP -MF .deps/libavrdude_a-confwin.Tpo -c -o libavrdude_a-confwin.o `test -f 'confwin.c' || echo './'`confwin.c
mv -f .deps/libavrdude_a-confwin.Tpo .deps/libavrdude_a-confwin.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-crc16.o -MD -MP -MF .deps/libavrdude_a-crc16.Tpo -c -o libavrdude_a-crc16.o `test -f 'crc16.c' || echo './'`crc16.c
mv -f .deps/libavrdude_a-crc16.Tpo .deps/libavrdude_a-crc16.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-dfu.o -MD -MP -MF .deps/libavrdude_a-dfu.Tpo -c -o libavrdude_a-dfu.o `test -f 'dfu.c' || echo './'`dfu.c
dfu.c:439:5: warning: format specifies type 'unsigned short' but the argument has type 'int' [-Wformat]
((unsigned short) dfu->dev_desc.bcdDevice >> 8) & 0xFF,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dfu.c:440:5: warning: format specifies type 'unsigned short' but the argument has type 'int' [-Wformat]
((unsigned short) dfu->dev_desc.bcdDevice >> 4) & 0xF,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dfu.c:441:5: warning: format specifies type 'unsigned short' but the argument has type 'int' [-Wformat]
((unsigned short) dfu->dev_desc.bcdDevice >> 0) & 0xF);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 warnings generated.
mv -f .deps/libavrdude_a-dfu.Tpo .deps/libavrdude_a-dfu.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-fileio.o -MD -MP -MF .deps/libavrdude_a-fileio.Tpo -c -o libavrdude_a-fileio.o `test -f 'fileio.c' || echo './'`fileio.c
fileio.c:977:25: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
progname, i, ph[i].p_vaddr, ph[i].p_paddr, ph[i].p_filesz);
^
fileio.c:1037:53: warning: format specifies type 'int' but the argument has type 'uint64_t' (aka 'unsigned long') [-Wformat]
d->d_buf, (unsigned int)d->d_off, d->d_size);
^~~~~~~~~
fileio.c:1067:21: warning: format specifies type 'int' but the argument has type 'uint64_t' (aka 'unsigned long') [-Wformat]
d->d_size, idx);
^~~~~~~~~
fileio.c:1555:16: warning: comparison of unsigned enum expression < 0 is always false [-Wtautological-compare]
if (format < 0) {
~~~~~~ ^ ~
4 warnings generated.
mv -f .deps/libavrdude_a-fileio.Tpo .deps/libavrdude_a-fileio.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-flip1.o -MD -MP -MF .deps/libavrdude_a-flip1.Tpo -c -o libavrdude_a-flip1.o `test -f 'flip1.c' || echo './'`flip1.c
mv -f .deps/libavrdude_a-flip1.Tpo .deps/libavrdude_a-flip1.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-flip2.o -MD -MP -MF .deps/libavrdude_a-flip2.Tpo -c -o libavrdude_a-flip2.o `test -f 'flip2.c' || echo './'`flip2.c
flip2.c:558:5: warning: format specifies type 'unsigned short' but the argument has type 'int' [-Wformat]
((unsigned short) flip2->boot_ver >> 4) & 0xF,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
flip2.c:559:5: warning: format specifies type 'unsigned short' but the argument has type 'int' [-Wformat]
((unsigned short) flip2->boot_ver >> 0) & 0xF);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
flip2.c:802:27: warning: format specifies type 'unsigned short' but the argument has type 'int' [-Wformat]
progname, offset, offset+size-1);
^~~~~~~~~~~~~
flip2.c:863:27: warning: format specifies type 'unsigned short' but the argument has type 'int' [-Wformat]
progname, offset, offset+size-1);
^~~~~~~~~~~~~
4 warnings generated.
mv -f .deps/libavrdude_a-flip2.Tpo .deps/libavrdude_a-flip2.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-ft245r.o -MD -MP -MF .deps/libavrdude_a-ft245r.Tpo -c -o libavrdude_a-ft245r.o `test -f 'ft245r.c' || echo './'`ft245r.c
ft245r.c:88:2: warning: No libftdi or libusb support. Install libftdi1/libusb-1.0 or libftdi/libusb and run configure/make again. [-W#warnings]
#warning No libftdi or libusb support. Install libftdi1/libusb-1.0 or libftdi/libusb and run configure/make again.
^
1 warning generated.
mv -f .deps/libavrdude_a-ft245r.Tpo .deps/libavrdude_a-ft245r.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-jtagmkI.o -MD -MP -MF .deps/libavrdude_a-jtagmkI.Tpo -c -o libavrdude_a-jtagmkI.o `test -f 'jtagmkI.c' || echo './'`jtagmkI.c
mv -f .deps/libavrdude_a-jtagmkI.Tpo .deps/libavrdude_a-jtagmkI.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-jtagmkII.o -MD -MP -MF .deps/libavrdude_a-jtagmkII.Tpo -c -o libavrdude_a-jtagmkII.o `test -f 'jtagmkII.c' || echo './'`jtagmkII.c
mv -f .deps/libavrdude_a-jtagmkII.Tpo .deps/libavrdude_a-jtagmkII.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-jtag3.o -MD -MP -MF .deps/libavrdude_a-jtag3.Tpo -c -o libavrdude_a-jtag3.o `test -f 'jtag3.c' || echo './'`jtag3.c
mv -f .deps/libavrdude_a-jtag3.Tpo .deps/libavrdude_a-jtag3.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-linuxgpio.o -MD -MP -MF .deps/libavrdude_a-linuxgpio.Tpo -c -o libavrdude_a-linuxgpio.o `test -f 'linuxgpio.c' || echo './'`linuxgpio.c
mv -f .deps/libavrdude_a-linuxgpio.Tpo .deps/libavrdude_a-linuxgpio.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-lists.o -MD -MP -MF .deps/libavrdude_a-lists.Tpo -c -o libavrdude_a-lists.o `test -f 'lists.c' || echo './'`lists.c
mv -f .deps/libavrdude_a-lists.Tpo .deps/libavrdude_a-lists.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-par.o -MD -MP -MF .deps/libavrdude_a-par.Tpo -c -o libavrdude_a-par.o `test -f 'par.c' || echo './'`par.c
mv -f .deps/libavrdude_a-par.Tpo .deps/libavrdude_a-par.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-pgm.o -MD -MP -MF .deps/libavrdude_a-pgm.Tpo -c -o libavrdude_a-pgm.o `test -f 'pgm.c' || echo './'`pgm.c
mv -f .deps/libavrdude_a-pgm.Tpo .deps/libavrdude_a-pgm.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-pgm_type.o -MD -MP -MF .deps/libavrdude_a-pgm_type.Tpo -c -o libavrdude_a-pgm_type.o `test -f 'pgm_type.c' || echo './'`pgm_type.c
In file included from pgm_type.c:34:
./avrftdi.h:21:9: warning: 'avrftdi_h' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
#ifndef avrftdi_h
^~~~~~~~~
./avrftdi.h:22:9: note: 'avrfdti_h' is defined here; did you mean 'avrftdi_h'?
#define avrfdti_h
^~~~~~~~~
avrftdi_h
pgm_type.c:56:23: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
const PROGRAMMER_TYPE const programmers_types[] = {
^
2 warnings generated.
mv -f .deps/libavrdude_a-pgm_type.Tpo .deps/libavrdude_a-pgm_type.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-pickit2.o -MD -MP -MF .deps/libavrdude_a-pickit2.Tpo -c -o libavrdude_a-pickit2.o `test -f 'pickit2.c' || echo './'`pickit2.c
pickit2.c:263:48: warning: passing 'char [65]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
if ((errorCode = pickit2_write_report(pgm, report)) > 0)
^~~~~~
pickit2.c:112:64: note: passing argument to parameter 'report' here
static int pickit2_write_report(PROGRAMMER *pgm, unsigned char report[65]);
^
pickit2.c:266:51: warning: passing 'char [65]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
if ((errorCode = pickit2_read_report(pgm, report)) >= 4)
^~~~~~
pickit2.c:113:63: note: passing argument to parameter 'report' here
static int pickit2_read_report(PROGRAMMER *pgm, unsigned char report[65]);
^
pickit2.c:304:43: warning: passing 'char [65]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
if (pickit2_write_report(pgm, report) < 0)
^~~~~~
pickit2.c:112:64: note: passing argument to parameter 'report' here
static int pickit2_write_report(PROGRAMMER *pgm, unsigned char report[65]);
^
pickit2.c:1200:78: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
return usb_interrupt_write(PDATA(pgm)->usb_handle, USB_ENDPOINT_OUT | 1, report+1, 64, PDATA(pgm)->transaction_timeout);
^~~~~~~~
/usr/include/usb.h:285:61: note: passing argument to parameter 'bytes' here
int     usb_interrupt_write(usb_dev_handle * dev, int ep, char *bytes, int size, int timeout);
^
pickit2.c:1206:76: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
return usb_interrupt_read(PDATA(pgm)->usb_handle, USB_ENDPOINT_IN | 1, report+1, 64, PDATA(pgm)->transaction_timeout);
^~~~~~~~
/usr/include/usb.h:286:60: note: passing argument to parameter 'bytes' here
int     usb_interrupt_read(usb_dev_handle * dev, int ep, char *bytes, int size, int timeout);
^
5 warnings generated.
mv -f .deps/libavrdude_a-pickit2.Tpo .deps/libavrdude_a-pickit2.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-pindefs.o -MD -MP -MF .deps/libavrdude_a-pindefs.Tpo -c -o libavrdude_a-pindefs.o `test -f 'pindefs.c' || echo './'`pindefs.c
mv -f .deps/libavrdude_a-pindefs.Tpo .deps/libavrdude_a-pindefs.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-ppi.o -MD -MP -MF .deps/libavrdude_a-ppi.Tpo -c -o libavrdude_a-ppi.o `test -f 'ppi.c' || echo './'`ppi.c
mv -f .deps/libavrdude_a-ppi.Tpo .deps/libavrdude_a-ppi.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-ppiwin.o -MD -MP -MF .deps/libavrdude_a-ppiwin.Tpo -c -o libavrdude_a-ppiwin.o `test -f 'ppiwin.c' || echo './'`ppiwin.c
mv -f .deps/libavrdude_a-ppiwin.Tpo .deps/libavrdude_a-ppiwin.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-safemode.o -MD -MP -MF .deps/libavrdude_a-safemode.Tpo -c -o libavrdude_a-safemode.o `test -f 'safemode.c' || echo './'`safemode.c
mv -f .deps/libavrdude_a-safemode.Tpo .deps/libavrdude_a-safemode.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-serbb_posix.o -MD -MP -MF .deps/libavrdude_a-serbb_posix.Tpo -c -o libavrdude_a-serbb_posix.o `test -f 'serbb_posix.c' || echo './'`serbb_posix.c
mv -f .deps/libavrdude_a-serbb_posix.Tpo .deps/libavrdude_a-serbb_posix.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-serbb_win32.o -MD -MP -MF .deps/libavrdude_a-serbb_win32.Tpo -c -o libavrdude_a-serbb_win32.o `test -f 'serbb_win32.c' || echo './'`serbb_win32.c
mv -f .deps/libavrdude_a-serbb_win32.Tpo .deps/libavrdude_a-serbb_win32.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-ser_avrdoper.o -MD -MP -MF .deps/libavrdude_a-ser_avrdoper.Tpo -c -o libavrdude_a-ser_avrdoper.o `test -f 'ser_avrdoper.c' || echo './'`ser_avrdoper.c
mv -f .deps/libavrdude_a-ser_avrdoper.Tpo .deps/libavrdude_a-ser_avrdoper.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-ser_posix.o -MD -MP -MF .deps/libavrdude_a-ser_posix.Tpo -c -o libavrdude_a-ser_posix.o `test -f 'ser_posix.c' || echo './'`ser_posix.c
mv -f .deps/libavrdude_a-ser_posix.Tpo .deps/libavrdude_a-ser_posix.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-ser_win32.o -MD -MP -MF .deps/libavrdude_a-ser_win32.Tpo -c -o libavrdude_a-ser_win32.o `test -f 'ser_win32.c' || echo './'`ser_win32.c
mv -f .deps/libavrdude_a-ser_win32.Tpo .deps/libavrdude_a-ser_win32.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-stk500.o -MD -MP -MF .deps/libavrdude_a-stk500.Tpo -c -o libavrdude_a-stk500.o `test -f 'stk500.c' || echo './'`stk500.c
mv -f .deps/libavrdude_a-stk500.Tpo .deps/libavrdude_a-stk500.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-stk500v2.o -MD -MP -MF .deps/libavrdude_a-stk500v2.Tpo -c -o libavrdude_a-stk500v2.o `test -f 'stk500v2.c' || echo './'`stk500v2.c
stk500v2.c:3355:4: warning: variable 'sck_duration' is uninitialized when used here [-Wuninitialized]
sck_duration * 8.0e6 / STK500V2_XTAL + 0.05);
^~~~~~~~~~~~
stk500v2.c:3256:71: note: initialize the variable 'sck_duration' to silence this warning
unsigned char vtarget, vadjust, osc_pscale, osc_cmatch, sck_duration;
^
= '�'
1 warning generated.
mv -f .deps/libavrdude_a-stk500v2.Tpo .deps/libavrdude_a-stk500v2.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-stk500generic.o -MD -MP -MF .deps/libavrdude_a-stk500generic.Tpo -c -o libavrdude_a-stk500generic.o `test -f 'stk500generic.c' || echo './'`stk500generic.c
mv -f .deps/libavrdude_a-stk500generic.Tpo .deps/libavrdude_a-stk500generic.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-usbasp.o -MD -MP -MF .deps/libavrdude_a-usbasp.Tpo -c -o libavrdude_a-usbasp.o `test -f 'usbasp.c' || echo './'`usbasp.c
usbasp.c:252:8: warning: passing 'char *' to parameter of type 'uint8_t *' (aka 'unsigned char *') converts between pointers to integer types with different sign [-Wpointer-sign]
(char *)buffer,
^~~~~~~~~~~~~~
/usr/include/libusb.h:467:142: note: passing argument to parameter 'data' here
int     libusb_control_transfer(libusb_device_handle * devh, uint8_t bmRequestType, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, uint8_t *data, uint16_t wLength, uint32_t timeout);
^
usbasp.c:327:86: warning: passing 'char [256]' to parameter of type 'uint8_t *' (aka 'unsigned char *') converts between pointers to integer types with different sign [-Wpointer-sign]
r = libusb_get_string_descriptor_ascii(handle, descriptor.iManufacturer & 0xff, string, sizeof(string));
^~~~~~
/usr/include/libusb.h:422:98: note: passing argument to parameter 'data' here
int     libusb_get_string_descriptor_ascii(libusb_device_handle * devh, uint8_t desc_index, uint8_t *data, int length);
^
usbasp.c:344:81: warning: passing 'char [256]' to parameter of type 'uint8_t *' (aka 'unsigned char *') converts between pointers to integer types with different sign [-Wpointer-sign]
r = libusb_get_string_descriptor_ascii(handle, descriptor.iProduct & 0xff, string, sizeof(string));
^~~~~~
/usr/include/libusb.h:422:98: note: passing argument to parameter 'data' here
int     libusb_get_string_descriptor_ascii(libusb_device_handle * devh, uint8_t desc_index, uint8_t *data, int length);
^
3 warnings generated.
mv -f .deps/libavrdude_a-usbasp.Tpo .deps/libavrdude_a-usbasp.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-usb_libusb.o -MD -MP -MF .deps/libavrdude_a-usb_libusb.Tpo -c -o libavrdude_a-usb_libusb.o `test -f 'usb_libusb.c' || echo './'`usb_libusb.c
usb_libusb.c:543:14: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
if (nbytes < 0)
~~~~~~ ^ ~
1 warning generated.
mv -f .deps/libavrdude_a-usb_libusb.Tpo .deps/libavrdude_a-usb_libusb.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-usbtiny.o -MD -MP -MF .deps/libavrdude_a-usbtiny.Tpo -c -o libavrdude_a-usbtiny.o `test -f 'usbtiny.c' || echo './'`usbtiny.c
mv -f .deps/libavrdude_a-usbtiny.Tpo .deps/libavrdude_a-usbtiny.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-update.o -MD -MP -MF .deps/libavrdude_a-update.Tpo -c -o libavrdude_a-update.o `test -f 'update.c' || echo './'`update.c
mv -f .deps/libavrdude_a-update.Tpo .deps/libavrdude_a-update.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT libavrdude_a-wiring.o -MD -MP -MF .deps/libavrdude_a-wiring.Tpo -c -o libavrdude_a-wiring.o `test -f 'wiring.c' || echo './'`wiring.c
mv -f .deps/libavrdude_a-wiring.Tpo .deps/libavrdude_a-wiring.Po
rm -f libavrdude.a
ar cru libavrdude.a libavrdude_a-config_gram.o  libavrdude_a-lexer.o libavrdude_a-arduino.o  libavrdude_a-avr.o libavrdude_a-avr910.o  libavrdude_a-avrftdi.o  libavrdude_a-avrftdi_tpi.o  libavrdude_a-avrpart.o libavrdude_a-bitbang.o  libavrdude_a-buspirate.o  libavrdude_a-butterfly.o libavrdude_a-config.o  libavrdude_a-confwin.o libavrdude_a-crc16.o  libavrdude_a-dfu.o libavrdude_a-fileio.o  libavrdude_a-flip1.o libavrdude_a-flip2.o  libavrdude_a-ft245r.o libavrdude_a-jtagmkI.o  libavrdude_a-jtagmkII.o libavrdude_a-jtag3.o  libavrdude_a-linuxgpio.o libavrdude_a-lists.o  libavrdude_a-par.o libavrdude_a-pgm.o  libavrdude_a-pgm_type.o libavrdude_a-pickit2.o  libavrdude_a-pindefs.o libavrdude_a-ppi.o  libavrdude_a-ppiwin.o libavrdude_a-safemode.o  libavrdude_a-serbb_posix.o  libavrdude_a-serbb_win32.o  libavrdude_a-ser_avrdoper.o  libavrdude_a-ser_posix.o  libavrdude_a-ser_win32.o libavrdude_a-stk500.o  libavrdude_a-stk500v2.o  libavrdude_a-stk500generic.o  libavrdude_a-usbasp.o  libavrdude_a-usb_libusb.o  libavrdude_a-usbtiny.o libavrdude_a-update.o  libavrdude_a-wiring.o
ranlib libavrdude.a
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT avrdude-main.o -MD -MP -MF .deps/avrdude-main.Tpo -c -o avrdude-main.o `test -f 'main.c' || echo './'`main.c
mv -f .deps/avrdude-main.Tpo .deps/avrdude-main.Po
cc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR="/usr/local/etc"  -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT avrdude-term.o -MD -MP -MF .deps/avrdude-term.Tpo -c -o avrdude-term.o `test -f 'term.c' || echo './'`term.c
mv -f .deps/avrdude-term.Tpo .deps/avrdude-term.Po
cc -Wall -O2 -pipe -I/usr/local/include -fno-strict-aliasing   -L/usr/local/lib -o avrdude avrdude-main.o avrdude-term.o ./libavrdude.a -lusb -lusb    -lelf -lpthread -lm -lreadline -lncurses -ltermcap

This issue was migrated from https://savannah.nongnu.org/bugs/?42662

avrs-admin commented 2 years ago

Rene Liebscher Wed 16 Jul 2014 08:04:45 PM UTC

code reworked in revision 1328.

Tested with clang Linux/Windows.

Programmers tested BusPirate/PICkit2/usbasp/avrftdi/arduino.

avrs-admin commented 2 years ago

Joerg Wunsch Wed 16 Jul 2014 08:42:37 PM UTC

I fixed another couple of those warnings.

Remaining are:

../pickit2.c:1189:78: warning: passing 'const char *' to parameter of type 'char *' discards qualifiers
[-Wincompatible-pointer-types-discards-qualifiers]
...usb_interrupt_write(PDATA(pgm)->usb_handle, USB_ENDPOINT_OUT | 1, (const char*)(report+1), 64, PD...
^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/usb.h:285:61: note: passing argument to parameter 'bytes' here
int     usb_interrupt_write(usb_dev_handle * dev, int ep, char *bytes, int size, int timeout);

which probably cannot be resolved as it would be up to libusb to change the prototype of this function.

There are also those annoying #warning statements "No libftdi or libusb support."  I don't know how those would be handled best for people who simply don't care about these modules.  Probably, the autoconf logic should be changed to disable everything which would depend on those libftdi functions, and then clearly announce it that way in the configuration summary (at the end of ./configure).

I think that's all we could do about it by now, so I'm closing it.