Project

General

Profile

Actions

Feature #6780

closed

Implement CIF in Python (script and module)

Added by Evgeny Novikov about 8 years ago. Updated almost 2 years ago.

Status:
Closed
Priority:
High
Category:
Core
Start date:
02/03/2016
Due date:
% Done:

0%

Estimated time:
Published in build:

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.


Related issues 3 (2 open1 closed)

Related to C Instrumentation Framework - Feature #6829: Make CIF to look like GCCOpenEvgeny Novikov02/09/2016

Actions
Blocked by Klever - Bug #6769: External commands failures are not included into unknown reportsClosedEvgeny Novikov02/03/2016

Actions
Blocks Klever - Feature #6644: Debug CIF just when debuggingNew01/29/2016

Actions
Actions #1

Updated by Evgeny Novikov almost 8 years ago

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.

Actions #2

Updated by Evgeny Novikov over 6 years ago

  • 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
Actions #3

Updated by Evgeny Novikov over 6 years ago

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.

Actions #4

Updated by Ilja Zakharov over 6 years ago

  • Assignee set to Alexey Polushkin
  • Priority changed from Normal to Urgent
  • Target version set to 1.0
Actions #5

Updated by Evgeny Novikov over 6 years ago

  • 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.

Actions #6

Updated by Evgeny Novikov over 5 years ago

  • 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
Actions #7

Updated by Evgeny Novikov over 5 years ago

  • Blocks Bug #9346: Remove "-include" options after second stage added
Actions #8

Updated by Evgeny Novikov over 5 years ago

  • 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)
Actions #9

Updated by Evgeny Novikov over 5 years ago

  • Subject changed from Implement CIF in Python (sciprt and module) to Implement CIF in Python (script and module)
Actions #10

Updated by Evgeny Novikov over 5 years ago

  • Category set to Core
  • Assignee set to Ilya Shchepetkov

Ilya is the most appropriate developer of CIF in Python.

Actions #11

Updated by Evgeny Novikov almost 5 years ago

  • Blocks deleted (Bug #9346: Remove "-include" options after second stage)
Actions #12

Updated by Evgeny Novikov almost 5 years ago

  • Priority changed from Urgent to High

Although, the suggested improvement will help to several CIF users, it is not extremely important.

Actions #13

Updated by Ilya Shchepetkov almost 5 years ago

Actions #14

Updated by Evgeny Novikov about 4 years ago

  • Blocks deleted (Feature #6731: Pass source code just through C-backend if aspects are empty)
Actions #15

Updated by Evgeny Novikov almost 2 years ago

  • 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.

Actions

Also available in: Atom PDF