Project

General

Profile

Actions

Bug #3920

closed

Matching for typedef names any parameters wildcard works incorrectly sometimes

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

Status:
Closed
Priority:
High
Category:
-
Start date:
02/06/2013
Due date:
% Done:

0%

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

Description

During reimplementing of 43_1a model after #3802 implementation it was noticed that a new version of model doesn't work. In fact this is due to incorrect matching for any parameters wildcard with typedef names. The minimal example I could obtain is
test4.c:

typedef short S;
typedef int I;
static inline void *func(S a, I b)
{
  return a ? &a : &b;
}

test4.aspect:
before: execution(static inline void * func(.., I arg2, ..))
{
  return 0;
}

(it is important that function argument types are typedefs and there is trailing '..' at the end of function signature in pointcut).


Related issues 1 (0 open1 closed)

Blocks C Instrumentation Framework - Feature #3802: Add ability to refer to function argument by its name specified in aspect fileClosedEvgeny Novikov12/14/2012

Actions
Actions #1

Updated by Evgeny Novikov over 11 years ago

  • Status changed from Open to Resolved

Fixed in 41f1440 of the CIF master branch and merge to the LDV tools master branch in commit b1e6d1b. Wait for QA testing results.

Actions #2

Updated by Evgeny Novikov over 11 years ago

  • Subject changed from Matching for any parameters wildcard works incorrectly sometimes to Matching for typedef names any parameters wildcard works incorrectly sometimes

I forgot to add that before typedef names coming from source and aspect file weren't compared at all. So that was the primary source of the given issue.

Another issue is that trailing '..' wildcard wasn't truncated and then considered as usual parameter.

Actions #3

Updated by Evgeny Novikov over 11 years ago

  • Status changed from Resolved to Closed

Tests passed.

Actions

Also available in: Atom PDF