Feature #6780
closed
Implement CIF in Python (script and module)
Added by Evgeny Novikov almost 9 years ago.
Updated over 2 years ago.
Description
At the moment different Python tools use CIF, so, best practices should be implemented in a Python library. In addition, please see https://forge.ispras.ru/issues/9346#note-3.
BTW, it has sense to specify a list of compiler options that CIF should use for preprocessing, source code querying and instrumentation (just for C-backend!) rather than a list of compiler options that are not supported by CIF.
BTW, each plugin should provide a unique output file for CIF, e.g. some file placed into a plugin working directory, to avoid races between different plugins (CIF outputs all intermediate and output files near an output file). At the moment SA uses original output files that lead to intermediate CIF files appear near original input files.
- Subject changed from Implement AVTG common library to invoke CIF and process its output to Implement VTG common library to invoke CIF and process its output
- Category changed from *Abstract tasks generation to Tasks generation
Copied from the #8504 description:
When CIF failed, there are too many different errors in output log. But in fact, only first error is informative.
It is offered to show the first error and skip others.
- Assignee set to Alexey Polushkin
- Priority changed from Normal to Urgent
- Target version set to 1.0
- Assignee deleted (
Alexey Polushkin)
- Priority changed from Urgent to High
- Target version deleted (
1.0)
Indeed this isn't so important issue while #8504 is implemented without any common CIF library.
- Project changed from Klever to C Instrumentation Framework
- Subject changed from Implement VTG common library to invoke CIF and process its output to Implement common Python library to invoke CIF and process its output
- Description updated (diff)
- Category deleted (
Tasks generation)
- Priority changed from High to Urgent
- Blocks Bug #9346: Remove "-include" options after second stage added
- Subject changed from Implement common Python library to invoke CIF and process its output to Implement CIF in Python (sciprt and module)
- Description updated (diff)
- Subject changed from Implement CIF in Python (sciprt and module) to Implement CIF in Python (script and module)
- Category set to Core
- Assignee set to Ilya Shchepetkov
Ilya is the most appropriate developer of CIF in Python.
- Blocks deleted (Bug #9346: Remove "-include" options after second stage)
- Priority changed from Urgent to High
Although, the suggested improvement will help to several CIF users, it is not extremely important.
- Blocks deleted (Feature #6731: Pass source code just through C-backend if aspects are empty)
- Status changed from New to Closed
The preliminary implementation is in directory pycif (it was done more than 1.5 years ago). It turned out that different users of CIF run it in too different ways, so a lot of further efforts will be necessary for standardization.
Also available in: Atom
PDF