-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Attribute of typedef dropped, leads to failure of extraction. #68
Comments
Confirmed. We may need to patch |
@giulianobelinassi Hi! I found a new case that will make the extraction fail, can you have a look at it? typedef long long __m64 __attribute__((__vector_size__(8), __aligned__(8)));
typedef int __v2si __attribute__((__vector_size__(8)));
static __inline__ __m64
__attribute__((__always_inline__, __nodebug__, __target__("mmx,no-evex512"),
__min_vector_width__(64)))
_mm_cmpgt_pi32(__m64 __m1, __m64 __m2) {
return (__m64)__builtin_ia32_pcmpgtd((__v2si)__m1, (__v2si)__m2);
}
It seems that this is also because of the dropped attribute of typedef. But why is that of
|
Reopening this. I will take a look at it tomorrow. |
It looks like some attributes are not stored in the
Hence we also need to analyze the QualTypes for the attributes. |
@giulianobelinassi The previous testcase is fixed. But when I test it on other functions in the same project, there seems to be lots of other cases.
For example, the typedef of |
And here is another case:
where the definition of |
So it turns out that
And this escapes the Closure computation because of that. I will submit a patch to it soon. |
@giulianobelinassi Thanks! The solution works well for the scenarios we've discussed previously. However, I've encountered a new situation where |
Minimal example to check this:
extract with the following command
The original source should have been compiled with clang, examine the dumpped pass, the
__attribute__((__transparent_union__))
is dropped:The text was updated successfully, but these errors were encountered: