You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
1
|
2
|
|
3
|
4
|
5
|
6
|
7
(1) |
8
|
9
|
|
10
|
11
|
12
(6) |
13
(4) |
14
(3) |
15
(1) |
16
(2) |
|
17
(7) |
18
(1) |
19
(5) |
20
(3) |
21
(1) |
22
(5) |
23
|
|
24
(1) |
25
(3) |
26
(2) |
27
(1) |
28
(2) |
29
(1) |
30
|
|
31
|
|
|
|
|
|
|
|
From: Matthias S. <zz...@ge...> - 2016-01-17 20:57:50
|
Am 17.01.2016 um 21:32 schrieb Florian Krohm: > Hi Matthias, > >> >> Third: The compiler is not allowed to optimize away the read access to >> format. so we should get rid of the volatile. >> >> The simpler solution to cast format to void works for me. >> I could today only check with gcc-5.3.0 and clang-3.7 but these two were >> happy about this solution: >> >> (void)format; >> >> I hope msvc will like it too. > > Maybe msvc likes that. But static analysis tools may say that > (void)format; is a statement with no effect which are known to be > symptoms of bugs (sometimes). > I was tempted for a moment to use: if (format) return; > which would kill your warning as well, but then VALGRIND_PRINTF would be > a function without effect and I know at least one checker that would > complain about that. > So I'm leaving the volatile in there. It'll shut up any compiler for good. > My only remaining point is that until now there was the guarantee that absolutely no code is emitted when NVALGRIND is defined. This is no longer valid with the commited solution. There is the different solution: Add the gcc attribute unused to the parameter. I hope this can be applied for clang also, but I do not understand the current ifdef around the declaration with __attribute__ (#if defined(__GNUC__) || defined(__INTEL_COMPILER) && !defined(_MSC_VER)). The attribute code could also be cleaned by defining a macro __attribute__ if the compiler does not support it (or defining a macro __VALGRIND_ATTRIBUTE to not pollute the namespace). And then add some other code like that (without volatile) to silence MSVC: #if defined(_MSC_VER) (void)format; #endif Regards Matthias |
|
From: <sv...@va...> - 2016-01-17 20:35:01
|
Author: florian
Date: Sun Jan 17 20:34:53 2016
New Revision: 15763
Log:
Followup to r15762. Add missing type in cast expression.
Do not use C++ comments. They are not allowed in this file.
Modified:
trunk/include/valgrind.h
Modified: trunk/include/valgrind.h
==============================================================================
--- trunk/include/valgrind.h (original)
+++ trunk/include/valgrind.h Sun Jan 17 20:34:53 2016
@@ -6759,7 +6759,7 @@
VALGRIND_PRINTF(const char *format, ...)
{
#if defined(NVALGRIND)
- if (format) *(volatile const *)format; // avoid compiler warning
+ if (format) *(volatile const char *)format; /* avoid compiler warning */
return 0;
#else /* NVALGRIND */
#if defined(_MSC_VER) || defined(__MINGW64__)
@@ -6798,7 +6798,7 @@
VALGRIND_PRINTF_BACKTRACE(const char *format, ...)
{
#if defined(NVALGRIND)
- if (format) *(volatile const *)format; // avoid compiler warning
+ if (format) *(volatile const char *)format; /* avoid compiler warning */
return 0;
#else /* NVALGRIND */
#if defined(_MSC_VER) || defined(__MINGW64__)
|
|
From: Florian K. <fl...@ei...> - 2016-01-17 20:33:00
|
Hi Matthias,
thanks for your review.
On 17.01.2016 20:42, Matthias Schwarzott wrote:
>
> your commit does not fix all issues:
> 1. This is what I get (when compiling vgprintf.c with NVALGRIND):
>
> ../../include/valgrind.h: In function 'VALGRIND_PRINTF':
> ../../include/valgrind.h:6762:4: warning: type defaults to 'int' in type
> name [-Wimplicit-int]
> if (format) *(volatile const *)format; // avoid compiler warning
>
> To fix this I needed to modify the cast to (volatile const char*).
Yes, true. I forgot the type.
>
> Second: the comment must be c style instead of c++.
Right again.
>
> Third: The compiler is not allowed to optimize away the read access to
> format. so we should get rid of the volatile.
>
> The simpler solution to cast format to void works for me.
> I could today only check with gcc-5.3.0 and clang-3.7 but these two were
> happy about this solution:
>
> (void)format;
>
> I hope msvc will like it too.
Maybe msvc likes that. But static analysis tools may say that
(void)format; is a statement with no effect which are known to be
symptoms of bugs (sometimes).
I was tempted for a moment to use: if (format) return;
which would kill your warning as well, but then VALGRIND_PRINTF would be
a function without effect and I know at least one checker that would
complain about that.
So I'm leaving the volatile in there. It'll shut up any compiler for good.
Florian
|
|
From: Matthias S. <zz...@ge...> - 2016-01-17 19:42:43
|
Am 17.01.2016 um 17:20 schrieb Florian Krohm:
> On 17.01.2016 15:04, Matthias Schwarzott wrote:
>> I suggest to use "format = format". This compiles fine for MSVC and gcc.
>
> Yes but with clang 3.7 and -Wall you get warnings about self assignments.
>
> So what I'm going to do is to check in the change I suggested. That
> fixes your warning. For the cleanup stuff we need Bart's help.
>
Hi Florian,
your commit does not fix all issues:
1. This is what I get (when compiling vgprintf.c with NVALGRIND):
../../include/valgrind.h: In function 'VALGRIND_PRINTF':
../../include/valgrind.h:6762:4: warning: type defaults to 'int' in type
name [-Wimplicit-int]
if (format) *(volatile const *)format; // avoid compiler warning
To fix this I needed to modify the cast to (volatile const char*).
Second: the comment must be c style instead of c++.
Third: The compiler is not allowed to optimize away the read access to
format. so we should get rid of the volatile.
The simpler solution to cast format to void works for me.
I could today only check with gcc-5.3.0 and clang-3.7 but these two were
happy about this solution:
(void)format;
I hope msvc will like it too.
Regards
Matthias
|
|
From: Florian K. <fl...@ei...> - 2016-01-17 16:20:49
|
On 17.01.2016 15:04, Matthias Schwarzott wrote:
>>
>> uintptr_t:
>> I do not unerstand why this type is needed and we cannot use unsigned
>> long instead.
>
[ snip ]
> Could there be a static assert to check the correct size.
> I assume this must be valid for "unsigned long" to be usable:
> sizeof(unsigned long) == sizeof(void*)
We rely on this to be true all over the place and I'm sure it is
asserted somewhere.
>
>
>> svn archeology did not reveal anything except that Bart
>> might know.
>
> I found commit 11314 "Suppressed a few warnings reported by the
> Microsoft C Compiler." by Bart that started to switch from "unsigned
> long" to "ptrdiff_t" and some commit later later it was changed to
> "uintptr_t".
No. r11314 fixed the warning by adding __inline for MSVC and also added
a version of VALGRIND_DO_CLIENT_REQUEST for MSVC that was using
ptrdiff_t. That type being a signed type was clearly the wrong choice
and then corrected in r11317 to uintptr_t. I doubt that
VALGRIND_DO_CLIENT_REQUEST was added to fix a warning.
Perhaps Bart can double check and clean this up. That would be good.
>
>>
>> Your #define __VALGRIND_PRINTF_ARGLIST ... will cause warnings with
>> most compilers because C does not allow such parameter lists.
>>
> ok, then go for a different solution.
>
>> To suppress the warning about the unused parameter we could use:
>>
> I suggest to use "format = format". This compiles fine for MSVC and gcc.
Yes but with clang 3.7 and -Wall you get warnings about self assignments.
So what I'm going to do is to check in the change I suggested. That
fixes your warning. For the cleanup stuff we need Bart's help.
Florian
|
|
From: <sv...@va...> - 2016-01-17 16:20:21
|
Author: florian
Date: Sun Jan 17 16:20:14 2016
New Revision: 15762
Log:
Avoid an MSVC compiler warning about an unused function parameter.
Fixes BZ #356817
Modified:
trunk/NEWS
trunk/include/valgrind.h
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Sun Jan 17 16:20:14 2016
@@ -57,6 +57,7 @@
355455 stderr.exp of test cases wrapmalloc and wrapmallocstatic overconstrained
355454 do not intercept malloc related symbols from the runtime linker
356044 Dwarf line info reader misinterprets is_stmt register
+356817 valgrind.h triggers compiler errors on MSVC when defining NVALGRIND
357871 pthread_spin_destroy not properly wrapped
357887 Fix a file handle leak. VG_(fclose) did not close the file
Modified: trunk/include/valgrind.h
==============================================================================
--- trunk/include/valgrind.h (original)
+++ trunk/include/valgrind.h Sun Jan 17 16:20:14 2016
@@ -6759,6 +6759,7 @@
VALGRIND_PRINTF(const char *format, ...)
{
#if defined(NVALGRIND)
+ if (format) *(volatile const *)format; // avoid compiler warning
return 0;
#else /* NVALGRIND */
#if defined(_MSC_VER) || defined(__MINGW64__)
@@ -6797,6 +6798,7 @@
VALGRIND_PRINTF_BACKTRACE(const char *format, ...)
{
#if defined(NVALGRIND)
+ if (format) *(volatile const *)format; // avoid compiler warning
return 0;
#else /* NVALGRIND */
#if defined(_MSC_VER) || defined(__MINGW64__)
|
|
From: Matthias S. <zz...@ge...> - 2016-01-17 14:04:50
|
Am 14.01.2016 um 10:19 schrieb Florian Krohm: > On 13.01.2016 10:50, Matthias Schwarzott wrote: >> Am 13.01.2016 um 08:18 schrieb Florian Krohm: >>> Given that we already have some support for MSC_VER in valgrind.h it >>> would be good to sort this out. But that file is already quite messy >>> with all the ifdeffery that is going on in there so we should be careful >>> adding more.. >>> >> The attached patch is a draft version of a different way to cleanup >> VALGRIND_PRINTF. >> > > Thanks for the patch. > Simplifying that file is a good thing. But I'd like to understand > whether we can get rid of some of the special casing. > > __inline: > I presume this is needed to keep MSC_VER from complaining that the > function is possibly unused. Right? I don't know for sure, but testing shows it is needed. But when we are already defining some inline things for MSVC we could also use the __inline__ keyword for gcc. > > uintptr_t: > I do not unerstand why this type is needed and we cannot use unsigned > long instead. I also don't understand why it is uintptr_t and not unsigned long, but going through the file, each architecture seems to use a different type for the argument types of the client requests. Some other macros like CALL_FN_W_5W macro always use "unsigned long". I do not get the difference. Could there be a static assert to check the correct size. I assume this must be valid for "unsigned long" to be usable: sizeof(unsigned long) == sizeof(void*) > svn archeology did not reveal anything except that Bart > might know. I found commit 11314 "Suppressed a few warnings reported by the Microsoft C Compiler." by Bart that started to switch from "unsigned long" to "ptrdiff_t" and some commit later later it was changed to "uintptr_t". > > Your #define __VALGRIND_PRINTF_ARGLIST ... will cause warnings with > most compilers because C does not allow such parameter lists. > ok, then go for a different solution. > To suppress the warning about the unused parameter we could use: > I suggest to use "format = format". This compiles fine for MSVC and gcc. I retried the original file with gcc with -Wall -Wextra and then gcc also warns about unused variable format. Regards Matthias |