Project

General

Profile

Actions

Bug #367

closed

Incorrect implemenation with void type matching

Added by Evgeny Novikov over 14 years ago. Updated about 12 years ago.

Status:
Closed
Priority:
Normal
Category:
-
Start date:
08/05/2010
Due date:
% Done:

0%

Estimated time:
Detected in build:
old bug
Platform:
Published in build:

Description

At the moment aspectator weaver declare variables inside auxiliary functions bodies having the same type as functions return type. This fails with void type, since void var = ... is incorrect construction in C.
Possible workaround for this case is to use around advices instead of before/after like this (from new 0008 model aspect):

around: execution(static inline void module_put(..)) || call(extern void module_put(..))
{
  ldv_module_put();
}

For the full simulation use around + $proceed. Like this:
around: execution(static inline void __module_get(..))
{
  ldv_module_get();
  $proceed;
}

But of course it must be fixed in future!


Related issues 1 (0 open1 closed)

Is duplicate of C Instrumentation Framework - Bug #347: Aspectator fails with extern functions calls processingClosedEvgeny Novikov08/05/2010

Actions
Actions

Also available in: Atom PDF