Skip to content

Extracted presence conditions use invalid operator symbol  #3

@AlexanderSchultheiss

Description

@AlexanderSchultheiss

Description

The extracted presence conditions contain the correct terms, but the individual terms are combined with logical OR instead of AND (i.e., || instead of &&).

Example

// Something
#ifdef A
    int x = 0;
    #ifdef B
        x++;
    #endif
#endif

In this example, x++; has the presence condition A && B. However, due to the bug, the extracted presence condition would be A || B.

Reproduce

  1. Clean files in extraction-results
  2. Build Docker image
  3. Run extraction for one commit of BusyBox, e.g., 9b6eb2a8ef4f1cfeeea821e270d49ef9c6ae4503
  4. The presence conditions in each code-variability file are the result of combining the block and file conditions with OR

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions