Summary: | KDevelop doesn't properly parse va_arg | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | Marat Radchenko <marat> |
Component: | Language Support: CPP (old) | Assignee: | kdevelop-bugs-null |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | armin, kfunk, marat, nalvarez |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/kdevelop/6f54bcb4da0fd2911a0ee909b75ef6b42c6a7cd9 | Version Fixed In: | |
Sentry Crash Report: |
Description
Marat Radchenko
2010-01-20 17:39:28 UTC
On my system, va_arg is defined as: #define va_arg(v,l) __builtin_va_arg(v,l) __builtin_va_arg is a gcc builtin, not declared in any header, so KDevelop doesn't know about it. How to solve this? Add support for __builtin_va_arg, or override va_arg? Or maybe both; add our own set of __builtin*s, like a compiler would, and override the macros to ensure they are defined to point at the builtins, like a compiler's bundled headers would? I'd say KDevelop should explicitely 'know' how va_arg works since it is a builtin (and special) thing in C. *** Bug 200289 has been marked as a duplicate of this bug. *** Git commit 6f54bcb4da0fd2911a0ee909b75ef6b42c6a7cd9 by Olivier JG. Committed on 08/12/2012 at 19:16. Pushed by olivierjg into branch 'master'. Add simple definition for __builtin_va_arg to allow the declaration builder to get the correct types and create declarations. Add tests. M +11 -0 languages/cpp/setuphelpers.cpp A +40 -0 languages/cpp/tests/cpptestfiles/va_arg.cpp [License: LGPL (v2)] http://commits.kde.org/kdevelop/6f54bcb4da0fd2911a0ee909b75ef6b42c6a7cd9 |