Duncan P. N. Exon Smith
60fa28882e
Modules: Use hash of PCM content for SIGNATURE
...
Change ASTFileSignature from a random 32-bit number to the hash of the
PCM content.
- Move definition ASTFileSignature to Basic/Module.h so Module and
ASTSourceDescriptor can use it.
- Change the signature from uint64_t to std::array<uint32_t,5>.
- Stop using (saving/reading) the size and modification time of PCM
files when there is a valid SIGNATURE.
- Add UNHASHED_CONTROL_BLOCK, and use it to store the SIGNATURE record
and other records that shouldn't affect the hash. Because implicit
modules reuses the same file for multiple levels of -Werror, this
includes DIAGNOSTIC_OPTIONS and DIAG_PRAGMA_MAPPINGS.
This helps to solve a PCH + implicit Modules dependency issue: PCH files
are handled by the external build system, whereas implicit modules are
handled by internal compiler build system. This prevents invalidating a
PCH when the compiler overwrites a PCM file with the same content
(modulo the diagnostic differences).
Design and original patch by Manman Ren!
llvm-svn: 297655
2017-03-13 18:45:08 +00:00
..
2017-03-08 23:00:26 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2017-01-26 23:07:59 +00:00
2015-06-16 00:08:24 +00:00
2015-08-17 16:39:30 +00:00
2015-11-17 23:32:01 +00:00
2015-06-16 00:08:24 +00:00
2015-11-13 19:08:07 +00:00
2015-08-17 16:39:30 +00:00
2015-06-16 00:08:24 +00:00
2017-01-11 02:14:51 +00:00
2016-02-04 00:55:24 +00:00
2017-02-08 20:51:11 +00:00
2017-02-08 20:51:11 +00:00
2015-08-07 01:59:56 +00:00
2015-07-08 01:00:30 +00:00
2016-10-31 08:21:54 +00:00
2016-10-31 08:21:54 +00:00
2015-06-16 00:08:24 +00:00
2016-12-06 00:40:17 +00:00
2015-06-16 00:08:24 +00:00
2016-12-11 04:27:31 +00:00
2016-12-12 19:28:25 +00:00
2016-12-22 07:06:03 +00:00
2016-12-09 03:11:48 +00:00
2016-12-09 03:11:48 +00:00
2016-12-09 03:11:48 +00:00
2016-12-09 03:11:48 +00:00
2016-12-09 03:11:48 +00:00
2016-12-09 03:11:48 +00:00
2016-12-09 03:11:48 +00:00
2016-05-16 16:46:01 +00:00
2015-06-16 00:08:24 +00:00
2016-10-26 01:08:55 +00:00
2017-03-08 23:00:26 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2016-12-23 00:23:01 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2017-01-09 23:54:33 +00:00
2015-06-16 00:08:24 +00:00
2015-08-13 17:13:33 +00:00
2016-05-03 23:06:40 +00:00
2016-05-03 23:06:40 +00:00
2015-10-08 04:24:12 +00:00
2016-05-03 23:06:40 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-11-12 22:19:45 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2017-03-10 19:34:15 +00:00
2017-03-10 19:34:15 +00:00
2015-07-08 01:00:30 +00:00
2015-08-09 04:46:57 +00:00
2015-08-09 04:46:57 +00:00
2015-08-13 18:30:25 +00:00
2015-06-16 00:08:24 +00:00
2017-01-26 01:01:01 +00:00
2017-03-13 18:45:08 +00:00
2015-07-14 02:06:01 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-29 17:29:50 +00:00
2015-06-16 00:08:24 +00:00
2015-12-11 22:05:13 +00:00
2016-02-06 02:06:43 +00:00
2016-07-21 21:07:47 +00:00
2016-10-20 23:11:45 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2016-10-20 23:11:45 +00:00
2016-06-23 15:07:32 +00:00
2016-04-12 20:20:33 +00:00
2015-08-18 23:42:50 +00:00
2015-06-23 09:26:37 +00:00
2015-06-16 00:08:24 +00:00
2016-08-29 20:46:59 +00:00
2015-06-16 00:08:24 +00:00
2016-09-13 01:13:19 +00:00
2016-09-13 01:13:19 +00:00
2015-11-03 18:33:07 +00:00
2015-06-16 00:08:24 +00:00
2015-10-13 00:39:40 +00:00
2015-08-09 08:48:41 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-07-02 13:19:48 +00:00
2016-05-03 23:06:40 +00:00
2015-06-16 00:08:24 +00:00
2016-09-01 20:15:25 +00:00
2017-03-06 17:47:57 +00:00
2015-06-16 00:08:24 +00:00
2015-12-18 22:19:11 +00:00
2017-01-26 23:07:59 +00:00
2015-06-16 00:08:24 +00:00
2016-04-06 23:28:26 +00:00
2016-02-11 18:54:02 +00:00
2017-01-18 20:34:44 +00:00
2016-02-19 22:25:36 +00:00
2017-01-11 02:14:51 +00:00
2017-01-11 02:14:51 +00:00
2015-06-16 00:08:24 +00:00
2016-03-14 17:52:37 +00:00
2015-06-16 00:08:24 +00:00
2016-10-21 23:27:37 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-11-03 03:13:11 +00:00
2017-02-07 21:54:57 +00:00
2015-06-16 00:08:24 +00:00
2015-07-08 01:00:30 +00:00
2016-08-25 00:34:00 +00:00
2016-10-21 01:41:56 +00:00
2015-11-04 19:26:32 +00:00
2015-07-21 23:54:07 +00:00
2015-07-14 20:08:49 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2016-09-09 23:48:27 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-09-16 00:55:50 +00:00
2015-09-19 05:32:57 +00:00
2015-06-16 00:08:24 +00:00
2015-06-25 21:42:33 +00:00
2016-04-08 19:57:40 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-11-12 22:19:45 +00:00
2016-09-08 20:34:41 +00:00
2015-06-16 00:08:24 +00:00
2017-01-26 23:07:59 +00:00
2015-06-16 00:08:24 +00:00
2017-01-26 22:39:55 +00:00
2015-06-16 00:08:24 +00:00
2015-11-05 00:54:55 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2016-10-17 13:00:44 +00:00
2016-10-06 20:30:51 +00:00
2015-06-16 00:08:24 +00:00
2017-03-01 17:55:03 +00:00
2016-10-19 11:19:30 +00:00
2015-06-16 00:08:24 +00:00
2016-04-29 19:04:05 +00:00
2015-06-16 00:08:24 +00:00
2016-02-05 19:03:40 +00:00
2015-09-19 05:32:57 +00:00
2015-09-19 05:32:57 +00:00
2015-09-19 05:32:57 +00:00
2015-09-19 05:32:57 +00:00
2015-09-19 05:32:57 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2016-01-08 22:36:45 +00:00
2017-03-13 18:45:08 +00:00
2017-03-09 00:58:22 +00:00
2015-06-23 18:20:18 +00:00
2016-10-21 23:35:03 +00:00
2017-01-11 18:47:38 +00:00
2015-09-02 20:16:09 +00:00
2015-11-12 22:19:45 +00:00
2016-10-20 23:11:45 +00:00
2016-10-20 23:11:45 +00:00
2015-06-16 00:08:24 +00:00
2016-08-22 22:30:34 +00:00
2015-06-23 08:37:21 +00:00
2015-10-30 16:30:27 +00:00
2015-07-10 22:27:17 +00:00
2015-06-16 00:08:24 +00:00
2016-03-21 19:06:06 +00:00
2015-06-16 00:08:24 +00:00
2015-11-17 03:02:41 +00:00
2016-08-03 06:10:15 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2017-02-22 23:18:49 +00:00
2016-09-09 23:48:27 +00:00
2016-09-09 23:48:27 +00:00
2016-09-09 23:48:27 +00:00
2016-10-11 21:18:20 +00:00
2016-10-14 18:55:44 +00:00
2016-10-03 21:26:46 +00:00
2017-03-10 15:04:58 +00:00
2016-07-20 19:10:16 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2017-02-24 02:49:47 +00:00
2016-03-06 04:20:05 +00:00
2015-07-17 01:19:54 +00:00
2016-05-31 18:19:32 +00:00
2015-06-29 17:29:50 +00:00
2017-01-09 19:20:18 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2016-03-30 22:22:50 +00:00
2015-06-16 00:08:24 +00:00
2016-03-16 11:17:04 +00:00
2016-04-08 20:53:26 +00:00
2016-03-30 22:18:29 +00:00
2016-01-22 19:03:27 +00:00
2016-03-30 20:16:03 +00:00
2016-04-06 20:58:12 +00:00
2016-04-28 14:13:28 +00:00
2016-04-26 23:40:43 +00:00
2016-07-22 20:49:31 +00:00
2016-05-24 12:10:36 +00:00
2016-05-17 22:44:15 +00:00
2016-06-20 15:10:40 +00:00
2016-07-22 21:08:24 +00:00
2016-08-18 06:15:19 +00:00
2016-10-14 21:41:24 +00:00
2016-10-26 10:24:29 +00:00
2017-01-12 09:16:26 +00:00
2016-08-19 05:25:26 +00:00
2016-04-08 01:23:59 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-11-05 15:24:47 +00:00
2016-10-20 23:11:45 +00:00
2017-03-13 18:45:08 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2016-12-06 00:14:22 +00:00
2015-08-13 23:47:44 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2016-08-30 21:25:42 +00:00
2015-07-13 19:48:52 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-07-08 01:00:30 +00:00
2016-01-08 22:36:45 +00:00
2016-10-20 23:11:45 +00:00
2016-09-13 01:20:40 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-08-09 01:05:31 +00:00
2016-11-17 18:41:18 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-11-12 22:19:45 +00:00
2015-11-13 05:14:45 +00:00
2016-07-15 20:53:25 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2016-04-27 21:57:05 +00:00
2015-10-08 06:31:22 +00:00
2015-06-16 00:08:24 +00:00
2016-01-11 22:41:53 +00:00
2016-01-09 06:58:48 +00:00
2015-08-07 01:59:56 +00:00
2015-09-11 22:39:35 +00:00
2015-06-16 00:08:24 +00:00
2015-07-08 01:00:30 +00:00
2016-10-26 02:31:56 +00:00
2017-01-12 19:15:33 +00:00
2015-06-16 00:08:24 +00:00
2015-08-12 02:17:52 +00:00
2015-11-14 03:26:14 +00:00
2016-05-04 00:53:13 +00:00
2016-10-28 02:37:04 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2016-07-20 19:10:16 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2016-05-17 02:15:12 +00:00
2016-01-12 20:34:32 +00:00
2015-11-12 21:55:58 +00:00
2015-10-13 00:23:25 +00:00
2015-07-08 01:00:30 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 17:32:45 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-06-16 00:08:24 +00:00
2015-07-31 00:58:32 +00:00