27.06.2012, 17:17, "Konstantin Tokarev" <[email protected]>:
> 24.06.2012, 15:02, "Konstantin Tokarev" <[email protected]>:
>
>>  Hi all,
>>
>>  As you may know, there is a clang-based tool "Include What You Use" [1]. I 
>> think similar approach could be useful in C-Reduce to remove whole header 
>> files instead of separate lines. Though I'm not sure it's feasible without 
>> non-preprocessed source file and compilation command line available.
>>
>>  I can imagine the next algorithm of reduction:
>>
>>  1. Reduce only the last section of translation unit corresponding to 
>> original source file without #includes using all available passes.
>>  2. Try to remove sections corresponding to "unused" headers
>>  3. Move to section N-1 and proceed.
>
> Algorithm without file-level logic:
>
> 0. Remove empty lines
> 1. Reduce part of translation unit after last line starting with '#' using 
> all available passes.
> 2. Aggressively eliminate / replace with forward declaration any unused 
> function / classes.

And, most important, unused templates.

> 3. Move to the next non-empty section between lines starting with '#'


-- 
Regards,
Konstantin

Reply via email to