WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 207478
a lot gcc warnings because of %{public}s format specifier
https://bugs.webkit.org/show_bug.cgi?id=207478
Summary
a lot gcc warnings because of %{public}s format specifier
Víctor M. Jáquez L.
Reported
2020-02-10 10:24:08 PST
While compiling with GCC a lot of big warnings are shown because those macros boil down to vfprintf() in Linux, and that {public} specifier is invalid. It is only for os_log [1] 1.
https://developer.apple.com/documentation/os/logging?language=objc
Attachments
Patch
(43.41 KB, patch)
2020-02-10 10:40 PST
,
Víctor M. Jáquez L.
no flags
Details
Formatted Diff
Diff
Patch
(44.17 KB, patch)
2020-02-12 03:49 PST
,
Víctor M. Jáquez L.
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Víctor M. Jáquez L.
Comment 1
2020-02-10 10:40:08 PST
Created
attachment 390262
[details]
Patch
Darin Adler
Comment 2
2020-02-11 13:01:20 PST
Comment on
attachment 390262
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=390262&action=review
> Source/WTF/wtf/Assertions.h:487 > +#define LOGDSTR "s"
In WebKit coding style we normally prefer words over clumps of letters. I don’t know that LOGDSTR is a good choice for the project. Is this referring to something named "logd"? Maybe PUBLIC_LOG_STRING would be a good name? Also, why not put the "%" into the macro?
Keith Rollin
Comment 3
2020-02-11 13:31:04 PST
(In reply to Darin Adler from
comment #2
)
> Also, why not put the "%" into the macro?
I think that leaving the "%" out of the macro follows standard macros like PRId64. Any naming convention should take into account other types of format specifications that might be used. For instance: PUBLIC_LOG_STRING: {public}s PRIVATE_LOG_STRING: {private}s FUTUREOPTION_LOG_STRING: {future-option}s PUBLIC_LOG_OBJCOBJECT: {public}@ PRIVATE_LOG_OBJCOBJECT: {private}@ FUTUREOPTION_LOG_OBJCOBJECT: {future-option}@ So while I like LOGDSTR for its brevity, it doesn't scale.
Darin Adler
Comment 4
2020-02-11 16:08:35 PST
(In reply to Keith Rollin from
comment #3
)
> (In reply to Darin Adler from
comment #2
) > > Also, why not put the "%" into the macro? > > I think that leaving the "%" out of the macro follows standard macros like > PRId64.
It does. That alone doesn’t seem like reason to follow suit, though.
Keith Rollin
Comment 5
2020-02-11 19:05:19 PST
(In reply to Darin Adler from
comment #4
)
> (In reply to Keith Rollin from
comment #3
) > > (In reply to Darin Adler from
comment #2
) > > > Also, why not put the "%" into the macro? > > > > I think that leaving the "%" out of the macro follows standard macros like > > PRId64. > > It does. That alone doesn’t seem like reason to follow suit, though.
What's the reason for not following suit? Personally, I'd like to be consistent with the standard. That way I don't have to remember "OK, add the % for the standard macros, but leave it out for WebKit macros. Or is it the other way around...".
Víctor M. Jáquez L.
Comment 6
2020-02-12 02:25:45 PST
(In reply to Keith Rollin from
comment #5
)
> (In reply to Darin Adler from
comment #4
) > > (In reply to Keith Rollin from
comment #3
) > > > (In reply to Darin Adler from
comment #2
) > > > > Also, why not put the "%" into the macro? > > > > > > I think that leaving the "%" out of the macro follows standard macros like > > > PRId64. > > > > It does. That alone doesn’t seem like reason to follow suit, though. > > What's the reason for not following suit? > > Personally, I'd like to be consistent with the standard. That way I don't > have to remember "OK, add the % for the standard macros, but leave it out > for WebKit macros. Or is it the other way around...".
I do agree. It is better, IMO, to be consistent with other formatting macros.
Víctor M. Jáquez L.
Comment 7
2020-02-12 03:49:26 PST
Created
attachment 390505
[details]
Patch
Víctor M. Jáquez L.
Comment 8
2020-02-12 03:51:58 PST
(In reply to Keith Rollin from
comment #3
)
> (In reply to Darin Adler from
comment #2
) > > Also, why not put the "%" into the macro? > > I think that leaving the "%" out of the macro follows standard macros like > PRId64. > > Any naming convention should take into account other types of format > specifications that might be used. For instance: > > PUBLIC_LOG_STRING: {public}s
Done. Now this symbol is used.
> PRIVATE_LOG_STRING: {private}s > FUTUREOPTION_LOG_STRING: {future-option}s > > PUBLIC_LOG_OBJCOBJECT: {public}@ > PRIVATE_LOG_OBJCOBJECT: {private}@ > FUTUREOPTION_LOG_OBJCOBJECT: {future-option}@ > > So while I like LOGDSTR for its brevity, it doesn't scale.
Darin Adler
Comment 9
2020-02-12 15:58:34 PST
(In reply to Keith Rollin from
comment #5
)
> What's the reason for not following suit?
To me PUBLIC_LOG_STRING doesn’t seem much like PRId64. I agree that if you thought of them as similar and closely related then we’d want them to match.
> Personally, I'd like to be consistent with the standard. That way I don't > have to remember "OK, add the % for the standard macros, but leave it out > for WebKit macros. Or is it the other way around...".
OK, tastes differ, and I certainly won’t insist.
Víctor M. Jáquez L.
Comment 10
2020-02-17 05:26:59 PST
May I have r+ & q+ ? O:)
WebKit Commit Bot
Comment 11
2020-02-17 10:48:04 PST
Comment on
attachment 390505
[details]
Patch Clearing flags on attachment: 390505 Committed
r256745
: <
https://trac.webkit.org/changeset/256745
>
WebKit Commit Bot
Comment 12
2020-02-17 10:48:06 PST
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 13
2020-02-17 10:49:14 PST
<
rdar://problem/59517129
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug