Project

General

Profile

Actions

Bug #9534

closed

Incorrect printing of Linux BUILD_BUG_ON

Added by Evgeny Novikov over 5 years ago. Updated over 5 years ago.

Status:
Rejected
Priority:
Urgent
Assignee:
-
Category:
C back-end
Start date:
03/13/2019
Due date:
% Done:

0%

Estimated time:
Detected in build:
svn
Platform:
Published in build:

Description

At the moment C back-end prints:

void __kfree_rcu(struct rcu_head *head, unsigned long offset)
{
...
((void)sizeof(char[1 - 2*!!(!__builtin_constant_p(offset))]));
...
}

as:
void __kfree_rcu(struct rcu_head *head, long unsigned int offset)
{
  ...
  __builtin_constant_p ( offset ) == 0 ? -1 : 1, ( void ) ( long unsigned int ) ( __builtin_constant_p ( offset ) == 0 ? -1 : 1 );
  ...
}

This is definitely wrong.


Related issues 2 (0 open2 closed)

Related to Deductive Verification Tools for Linux Kernel - Bug #9546: Frama-C (CIL) for GCC does not behave like GCC when casting ternary operatorsClosedMikhail Mandrykin03/15/2019

Actions
Is duplicate of C Instrumentation Framework - Bug #5407: Duplicated labels are generatedClosedEvgeny Novikov11/05/2014

Actions
Actions

Also available in: Atom PDF