Date: Fri, 1 Feb 2013 13:43:46 +0200 From: Andrey Simonenko <simon@comsys.ntu-kpi.kiev.ua> To: FreeBSD-gnats-submit@freebsd.org Subject: kern/175759: Correct data types for fields of struct qm_trace{} from <sys/queue.h> Message-ID: <20130201114346.GA35697@pm513-1.comsys.ntu-kpi.kiev.ua> Resent-Message-ID: <201302011150.r11Bo1uX086731@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 175759 >Category: kern >Synopsis: Correct data types for fields of struct qm_trace{} from <sys/queue.h> >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri Feb 01 11:50:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Andrey Simonenko >Release: FreeBSD 9.1-STABLE amd64 >Organization: >Environment: >Description: If QUEUE_MACRO_DEBUG is defined and WARNS >= 4, then a program that uses some macro definitions from <sys/queue.h> cannot be built because of "warning: assignment discards qualifiers from pointer target type" warnings. 1. File name fields should have "const char *" type. 2. Line number fields should have "long" or "unsigned long" type, considering C99 standard and its values for [U]INT_MAX, __LINE__ and #line. >How-To-Repeat: >Fix: --- queue.h.orig 2012-12-11 21:00:44.000000000 +0200 +++ queue.h 2013-01-31 13:37:13.000000000 +0200 @@ -105,10 +105,10 @@ #ifdef QUEUE_MACRO_DEBUG /* Store the last 2 places the queue element or head was altered */ struct qm_trace { - char * lastfile; - int lastline; - char * prevfile; - int prevline; + const char *lastfile; + unsigned long lastline; + const char *prevfile; + unsigned long prevline; }; #define TRACEBUF struct qm_trace trace; >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130201114346.GA35697>