aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/cc/compile-rule.cxx
AgeCommit message (Expand)AuthorFilesLines
2023-11-29Add rule for extracting C and C++ predefsBoris Kolpackov1-0/+6
2023-11-29Minor cleanups in cc::compile_ruleBoris Kolpackov1-6/+3
2023-11-29Complete earlier fix for modules support in ClangBoris Kolpackov1-5/+2
2023-11-27Fix minor incompatibility with C++14Boris Kolpackov1-1/+1
2023-11-27Tweak module name from file name guessing logicBoris Kolpackov1-2/+41
2023-11-22Deal with lack of module information due to deferred failureBoris Kolpackov1-9/+17
2023-11-22Fix incorrect _LIBCPP_VERSION macro name in commentsBoris Kolpackov1-1/+1
2023-11-22Add support for `import std` in Clang 17 or later with libc++Boris Kolpackov1-110/+208
2023-11-16Extend comment on Clang's -fmodules-embed-all-files useBoris Kolpackov1-0/+6
2023-11-15Switch from two-step module compilation to -fmodule-output for ClangBoris Kolpackov1-0/+35
2023-11-14Fix module sidebuild logic for ClangBoris Kolpackov1-10/+16
2023-11-09Fix more issues with C++20 named modules support in ClangBoris Kolpackov1-20/+10
2023-11-06Fix basic issues with C++20 named modules support in ClangBoris Kolpackov1-12/+5
2023-11-01Fix incorrect fsdir_rule::perform_update_direct() callsBoris Kolpackov1-1/+1
2023-09-11Invoke Clang to produce object files for module partitions similar to interfacesSwat SomeBug1-2/+7
2023-08-22Consider *_inc{} target types as headers for rule match purposesBoris Kolpackov1-4/+4
2023-06-22Omit -Wno-gnu-line-marker for Apple Clang 14.0.3Boris Kolpackov1-2/+9
2023-06-14Use dry_run_option instead of dry_run during matchBoris Kolpackov1-1/+1
2023-06-13Disable -Wgnu-line-marker in Clang 15 triggered by -frewrite-includesBoris Kolpackov1-6/+43
2023-06-07Implement GCC module mapper protocol quoting/escaping (GH issues #203, #228)Boris Kolpackov1-14/+223
2023-06-05Remap Clang -Wunqualified-std-cast-call warning to -Wextra (GH issue #259)Boris Kolpackov1-0/+40
2023-06-02Fix another race in library metadata protocol logicBoris Kolpackov1-0/+8
2023-04-18Add support for Assembler with C Preprocessor (.S) compilationBoris Kolpackov1-31/+42
2023-04-10Fix inconsistent /usr/local/{include,lib} searchBoris Kolpackov1-6/+7
2023-04-05Allow creating context with bare minimum of initializationsBoris Kolpackov1-4/+4
2022-12-09Enable diagnostics color in GCC and ClangBoris Kolpackov1-2/+24
2022-11-25Fix diag buffer opining logic in cc::compile_ruleBoris Kolpackov1-5/+11
2022-11-23Rework diag_buffer interface to facilitate correct destruction orderBoris Kolpackov1-21/+24
2022-11-22Add support for Objective-C/C++ compilation in cc moduleBoris Kolpackov1-22/+32
2022-11-16Initial low verbosity diagnostics reworkBoris Kolpackov1-1/+1
2022-11-08Make process exit diagnostics consistentBoris Kolpackov1-4/+4
2022-11-08Work around suspected GCC 12 mis-compilation (bug #107555)Boris Kolpackov1-14/+22
2022-11-08Allow passing fail diag record to diag_buffer::close()Boris Kolpackov1-11/+4
2022-11-08Tighten args const-ness in the run*() function familyBoris Kolpackov1-4/+0
2022-11-08Rework header dependency extraction with diagnostics bufferingBoris Kolpackov1-245/+412
2022-11-08More work on child process diagnostics bufferingBoris Kolpackov1-5/+4
2022-10-27Suppress (potential) bogus GCC 12 -Wrestrict warningsBoris Kolpackov1-3/+3
2022-10-27Initial work on child process diagnostics bufferingBoris Kolpackov1-36/+55
2022-10-10Preparatory work for public/private variable distinctionBoris Kolpackov1-0/+4
2022-10-05Check for `-`-spelled cl.exe options in addition to `/`-spelledBoris Kolpackov1-19/+29
2022-07-26Remove unused codeBoris Kolpackov1-66/+0
2022-06-24Add ability to control -I translation in $x.lib_poptions()Boris Kolpackov1-5/+5
2022-06-24Add ability to get common interface options via $x.lib_poptions()Boris Kolpackov1-10/+25
2022-05-06Minor terminology fix in diagnostics and commentsBoris Kolpackov1-1/+1
2022-04-24Omit ignorable change detection for header unitsBoris Kolpackov1-1/+9
2022-04-19Use target recipe for auxiliary data storage during match-applyBoris Kolpackov1-15/+26
2022-04-19Switch to using std::function for target::data_padBoris Kolpackov1-3/+0
2022-04-19Optimize header cache some more by storing hash in keyBoris Kolpackov1-3/+19
2022-04-19Skip find() inside target_set::insert*() if target is unlikely to be thereBoris Kolpackov1-2/+4
2022-04-14Add header cache to cc::compile_rule::enter_header()Boris Kolpackov1-28/+175