Bug 160302

Summary: Remove unused check-for-exit-time-destructors, check-for-global-initializers scripts and deploy -Wexit-time-destructors, -Wglobal-constructors clang switches consistently
Product: WebKit Reporter: David Kilzer (:ddkilzer) <ddkilzer>
Component: Tools / TestsAssignee: David Kilzer (:ddkilzer) <ddkilzer>
Status: NEW ---    
Severity: Normal CC: andersca, ap, commit-queue, darin, dbates, ddkilzer, dino, enrica, graouts, kondapallykalyan, lforschler, thorton
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=22316
https://bugs.webkit.org/show_bug.cgi?id=22061
https://bugs.webkit.org/show_bug.cgi?id=160195
https://bugs.webkit.org/show_bug.cgi?id=83342
https://bugs.webkit.org/show_bug.cgi?id=22314
https://bugs.webkit.org/show_bug.cgi?id=22315
Bug Depends on: 160332    
Bug Blocks:    
Attachments:
Description Flags
Patch v1
none
Patch v2
none
Patch v3 none

Description David Kilzer (:ddkilzer) 2016-07-28 10:49:29 PDT
Anders replaced the check-for-exit-time-destructors script with the -Wexit-time-destructors compiler flag and the check-for-global-initializers with the -Wglobal-constructors consistently a while ago.

Now that clang on all supported platforms also supports -Wexit-time-destructors and -Wglobal-constructors, we can remove the scripts.
Comment 1 David Kilzer (:ddkilzer) 2016-07-28 11:06:47 PDT
FYI:

check-for-global-initializers was added in r13539:  <https://trac.webkit.org/r13539>
check-for-exit-time-destructors was added in r38100:  <https://trac.webkit.org/r38100>
Comment 2 David Kilzer (:ddkilzer) 2016-07-28 11:29:55 PDT
Created attachment 284796 [details]
Patch v1
Comment 3 David Kilzer (:ddkilzer) 2016-07-28 11:30:38 PDT
Comment on attachment 284796 [details]
Patch v1

I'm assuming the new warning flags won't cause build failures, but let's check.
Comment 4 WebKit Commit Bot 2016-07-28 11:31:04 PDT
Note that there are important steps to take when updating ANGLE. See http://trac.webkit.org/wiki/UpdatingANGLE
Comment 5 David Kilzer (:ddkilzer) 2016-07-28 11:32:13 PDT
(In reply to comment #3)
> Comment on attachment 284796 [details]
> Patch v1
> 
> I'm assuming the new warning flags won't cause build failures, but let's
> check.

And I was wrong!
Comment 6 David Kilzer (:ddkilzer) 2016-07-28 13:00:11 PDT
(In reply to comment #4)
> Note that there are important steps to take when updating ANGLE. See
> http://trac.webkit.org/wiki/UpdatingANGLE

I'm going to break the ANGLE fixes out into a separate bug.
Comment 7 David Kilzer (:ddkilzer) 2016-07-28 22:10:19 PDT
(In reply to comment #6)
> (In reply to comment #4)
> > Note that there are important steps to take when updating ANGLE. See
> > http://trac.webkit.org/wiki/UpdatingANGLE
> 
> I'm going to break the ANGLE fixes out into a separate bug.

Bug 160332: ANGLE: Fix global constructors and exit-time destructors
Comment 8 David Kilzer (:ddkilzer) 2016-07-29 21:22:50 PDT
Created attachment 284937 [details]
Patch v2
Comment 9 David Kilzer (:ddkilzer) 2017-01-13 19:23:55 PST
Created attachment 298831 [details]
Patch v3
Comment 10 Darin Adler 2017-01-13 19:42:18 PST
/Volumes/Data/EWS/WebKit/Tools/DumpRenderTree/mac/DumpRenderTree.mm:180:20: error: declaration requires an exit-time destructor [-Werror,-Wexit-time-destructors]
RefPtr<TestRunner> gTestRunner;
/Volumes/Data/EWS/WebKit/Tools/DumpRenderTree/mac/DumpRenderTree.mm:216:31: error: declaration requires an exit-time destructor [-Werror,-Wexit-time-destructors]
static RetainPtr<CFStringRef> persistentUserStyleSheetLocation;
/Volumes/Data/EWS/WebKit/Tools/DumpRenderTree/mac/DumpRenderTree.mm:217:30: error: declaration requires an exit-time destructor [-Werror,-Wexit-time-destructors]
static std::set<std::string> allowedHosts;