[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-08-10 Thread Nico Weber via Phabricator via cfe-commits
thakis added a comment. In https://reviews.llvm.org/D46652#1174220, @mikerice wrote: > In https://reviews.llvm.org/D46652#1164010, @thakis wrote: > > > Also, were you planning on also adding support for the (filename-less > > version of) hdrstop pragma? After this change, that should probably

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-07-24 Thread Mike Rice via Phabricator via cfe-commits
mikerice added a comment. In https://reviews.llvm.org/D46652#1164010, @thakis wrote: > Also, were you planning on also adding support for the (filename-less version > of) hdrstop pragma? After this change, that should probably be fairly > straightforward. Thanks for taking a look. I'll be

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-07-18 Thread Nico Weber via Phabricator via cfe-commits
thakis added a comment. In https://reviews.llvm.org/D46652#1164016, @thakis wrote: > And finally (sorry about all the mails), this should probably be mentioned in > the release notes (docs/ReleaseNotes.rst in the clang repo) since it's a > notable new feature :-) I added this to releasenotes

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-07-16 Thread Nico Weber via Phabricator via cfe-commits
thakis added a comment. And finally (sorry about all the mails), this should probably be mentioned in the release notes (docs/ReleaseNotes.rst in the clang repo) since it's a notable new feature :-) Repository: rC Clang https://reviews.llvm.org/D46652

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-07-16 Thread Nico Weber via Phabricator via cfe-commits
thakis added a comment. Also, were you planning on also adding support for the (filename-less version of) hdrstop pragma? After this change, that should probably be fairly straightforward. Repository: rC Clang https://reviews.llvm.org/D46652

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-07-16 Thread Nico Weber via Phabricator via cfe-commits
thakis added a comment. Sorry about missing this. Looks great, thanks for doing this. This was a pretty big omission, glad to see it's done now :-) I always imagined we might reuse the precompiled preamble stuff (Lexer::ComputePreamble() etc), but it's pretty clear as-is. Repository: rC

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-07-05 Thread Erich Keane via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL336379: [clang-cl, PCH] Implement support for MS-style PCH through headers (authored by erichkeane, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit:

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-07-05 Thread Erich Keane via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC336379: [clang-cl, PCH] Implement support for MS-style PCH through headers (authored by erichkeane, committed by ). Changed prior to commit: https://reviews.llvm.org/D46652?vs=153067=154265#toc

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-07-05 Thread Mike Rice via Phabricator via cfe-commits
mikerice added inline comments. Comment at: include/clang/Driver/CC1Options.td:604 + HelpText<"When creating a pch stop at this file. When using a pch start " + "after this file.">; def fno_pch_timestamp : Flag<["-"], "fno-pch-timestamp">, hans

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-06-29 Thread Hans Wennborg via Phabricator via cfe-commits
hans accepted this revision. hans added a comment. This revision is now accepted and ready to land. This looks good to me. Comment at: include/clang/Driver/CC1Options.td:604 + HelpText<"When creating a pch stop at this file. When using a pch start " + "after this

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-06-27 Thread Mike Rice via Phabricator via cfe-commits
mikerice added inline comments. Comment at: include/clang/Driver/CC1Options.td:604 + HelpText<"When creating a pch stop at this file. When using a pch start " + "after this file.">; def fno_pch_timestamp : Flag<["-"], "fno-pch-timestamp">, hans

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-06-27 Thread Mike Rice via Phabricator via cfe-commits
mikerice updated this revision to Diff 153067. mikerice marked 8 inline comments as done. mikerice added a comment. Thanks for the review. Updated based on comments. https://reviews.llvm.org/D46652 Files: include/clang/Basic/DiagnosticLexKinds.td include/clang/Driver/CC1Options.td

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-06-26 Thread Hans Wennborg via Phabricator via cfe-commits
hans added a comment. This looks reasonable to me as far as I can tell. Thanks! I think the expert on the driver side for this stuff is Nico, so hopefully he can take a look as well. Comment at: include/clang/Basic/DiagnosticLexKinds.td:412 + "%select{create|use}1

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-06-21 Thread Hans Wennborg via Phabricator via cfe-commits
hans added a comment. In https://reviews.llvm.org/D46652#1138375, @rnk wrote: > @hans, think you'll have time to look at this with your recent dllexport PCH > experimentation? Yes, I mean to look at it, marked it unread in my inbox and everything. https://reviews.llvm.org/D46652

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-06-20 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added a comment. @hans, think you'll have time to look at this with your recent dllexport PCH experimentation? https://reviews.llvm.org/D46652 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-06-18 Thread Mike Rice via Phabricator via cfe-commits
mikerice added a comment. Ping. This can significantly improve compile time for projects that use the common /Yc /Yu PCH mechanism. https://reviews.llvm.org/D46652 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-05-23 Thread Mike Rice via Phabricator via cfe-commits
mikerice added a comment. Ping. Still looking for a reviewer, mostly Lex and clang-cl driver changes. https://reviews.llvm.org/D46652 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-05-17 Thread Kim Gräsman via Phabricator via cfe-commits
kimgr added a comment. >> Can you test what happens when you do clang-cl.exe /Yc stdafx.h /Tp >> stdafx.h, i.e. compile the header > > directly as C++ code and generate .pch from it? The normal MSVC modus > operandi is to have stdafx.h > > included in all source files (with /Yu) and

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-05-16 Thread Mike Rice via Phabricator via cfe-commits
mikerice added a comment. In https://reviews.llvm.org/D46652#1101952, @kimgr wrote: > > - Can you test what happens when you do `clang-cl.exe /Yc stdafx.h /Tp > stdafx.h`, i.e. compile the header directly as C++ code and generate .pch > from it? The normal MSVC modus operandi is to have

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-05-16 Thread Kim Gräsman via Phabricator via cfe-commits
kimgr added a comment. I've done some terrible things with MSVC PCHs over the years, so I'll pile on some more questions: - Can you test what happens when you do `clang-cl.exe /Yc stdafx.h /Tp stdafx.h`, i.e. compile the header directly as C++ code and generate .pch from it? The normal MSVC

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-05-16 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added a comment. @hans @thakis, do you remember how these flags are supposed to work? I've forgotten anything I ever knew about them... https://reviews.llvm.org/D46652 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-05-13 Thread Mike Rice via Phabricator via cfe-commits
mikerice updated this revision to Diff 146513. mikerice added a comment. Added warning when macro is defined when skipping. Also fixed skipping so directives are completely ignored expect for #include and #define. https://reviews.llvm.org/D46652 Files:

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-05-13 Thread Mike Rice via Phabricator via cfe-commits
mikerice added a comment. Thanks for taking a look at the patch. I added a warning as suggested. I also fixed skipping so it ignores all directives except #include and now #define. Repository: rC Clang https://reviews.llvm.org/D46652 ___

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-05-11 Thread Kim Gräsman via Phabricator via cfe-commits
kimgr added a comment. > When using a PCH, tokens are skipped until after the through header is seen. I know this is what MSVC does (though in their case I think it's an artifact of their implementation), but I remember this being a source of mysterious bugs: #define MY_SYMBOL 1 #include

[PATCH] D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers

2018-05-09 Thread Mike Rice via Phabricator via cfe-commits
mikerice created this revision. mikerice added reviewers: rnk, thakis, erichkeane, cfe-commits. Implement support for MS-style PCH through headers. This enables support for /Yc and /Yu where the through header is either on the command line or included in the source. It replaces the current