From 9ee693ee229d28bd618e8dd44bc6b12750d43a29 Mon Sep 17 00:00:00 2001 From: Volodymyr Zibarov Date: Thu, 14 May 2020 23:07:05 +0300 Subject: C++: fix built-in code model to work with shared_ptr on MSVC 2017 These changes target Find Usages feature to work with shared_ptr. Improve libs/3rdparty/cplusplus and plugins/cplusplus: parse __declspec() attribute, call to variadic function template without specified template arguments, if constexpr, c++11 attributes [[value]], function templates with default parameters, resolve order for function vs template with default parameter, template operator->() with default arguments, template specialization with numeric values, find best partial specialization, fix partial specialization for non-first specialized argument Fixes: QTCREATORBUG-7866 Fixes: QTCREATORBUG-20781 Fixes: QTCREATORBUG-22857 Fixes: QTCREATORBUG-17825 Change-Id: I31a080f7729edfb2ee9650f1aff48daeba5a673b Reviewed-by: Christian Kandeler Reviewed-by: Nikolai Kosjar --- src/libs/3rdparty/cplusplus/Symbols.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/libs/3rdparty/cplusplus/Symbols.h') diff --git a/src/libs/3rdparty/cplusplus/Symbols.h b/src/libs/3rdparty/cplusplus/Symbols.h index 71a076ac80..a5e833696c 100644 --- a/src/libs/3rdparty/cplusplus/Symbols.h +++ b/src/libs/3rdparty/cplusplus/Symbols.h @@ -346,6 +346,9 @@ public: bool isVariadic() const; void setVariadic(bool isVariadic); + bool isVariadicTemplate() const; + void setVariadicTemplate(bool isVariadicTemplate); + bool isConst() const; void setConst(bool isConst); @@ -397,6 +400,7 @@ private: unsigned _isOverride: 1; unsigned _isFinal: 1; unsigned _isVariadic: 1; + unsigned _isVariadicTemplate: 1; unsigned _isPureVirtual: 1; unsigned _isConst: 1; unsigned _isVolatile: 1; -- cgit v1.2.1