[umbrello] [Bug 338649] Extend C++ import for C++11

2021-09-09 Thread Oliver Kellogg
https://bugs.kde.org/show_bug.cgi?id=338649

--- Comment #24 from Oliver Kellogg  ---
Git commit 0372f89d7995a5fbc557e6c6090208bc54950e88 by Oliver Kellogg.
Committed on 10/09/2021 at 05:51.
Pushed by okellogg into branch 'master'.

Fix for "C++ importer does not recognize 'noexcept' keyword" :

lib/cppparser/keywords.h
- Align INSERT calls as table. Add INSERT("noexcept", Token_noexcept).

lib/cppparser/lexer.h
- In enum Type add Token_noexcept.

lib/cppparser/parser.cpp
- In functions skipUntilDeclaration, skipUntilStatement while-loop
  switch add case Token_noexcept.
- In function parseExceptionSpecification handle the case
  (m_lexer->lookAhead(0) == Token_noexcept).

test/import/cxx/const-methods.h
- Rename file to const-noexcept-methods.h.

test/import/cxx/const-noexcept-methods.h
- Rename class to ConstNoexceptMethodClass.
- Add NoexceptMethod with trailing noexcept.
- Add ConstNoexceptMethod with const noexcept and implementation.
Related: bug 442134

M  +84   -83   lib/cppparser/keywords.h
M  +1-0lib/cppparser/lexer.h
M  +15   -2lib/cppparser/parser.cpp
D  +0-3test/import/cxx/const-methods.h
A  +5-0test/import/cxx/const-noexcept-methods.h  *

The files marked with a * at the end have a non valid license. Please read:
https://community.kde.org/Policies/Licensing_Policy and use the headers which
are listed at that page.


https://invent.kde.org/sdk/umbrello/commit/0372f89d7995a5fbc557e6c6090208bc54950e88

-- 
You are receiving this mail because:
You are watching all bug changes.

[umbrello] [Bug 338649] Extend C++ import for C++11

2021-05-13 Thread Oliver Kellogg
https://bugs.kde.org/show_bug.cgi?id=338649

--- Comment #23 from Oliver Kellogg  ---
Git commit 3041141b10361aedb3c8c06c9ba36b5d25ac6f9a by Oliver Kellogg.
Committed on 13/05/2021 at 16:49.
Pushed by okellogg into branch 'release/21.04'.

lib/cppparser/lexer.{h,cpp} followup to commit 7d3eb05,
> Fix crash [...] related to multiple calls of m_source.unicode() where
> the calls return different address values.
> The solution is to call m_source.unicode() only once: [...]

As detailed by jeremy_k at https://forum.qt.io/post/659243,
the above change does not remove the root cause:
- m_ptr is initially set to m_source.unicode()
- During the import, m_source is modified (e.g. by calls to function
  insertCurrent).
- These modifications invalidate the unicode buffer which is pointed to
  by m_ptr / m_endPtr.
Generally I do not see a significant advantage in using the unicode
buffer in this context.

Changes in class Lexer:
- Remove public functions
  - const CHARTYPE* offset(int offset) const;
  - int getOffset(const QChar* p) const.
- Remove private function
  void setEndPtr(const QChar* c).
- Remove private members m_src, m_ptr, m_endPtr of type `const QChar*`.
- Add private members m_idx, m_endIdx of type int.
  These are used as indexes into m_source.

M  +26   -56   lib/cppparser/lexer.cpp
M  +2-14   lib/cppparser/lexer.h

https://invent.kde.org/sdk/umbrello/commit/3041141b10361aedb3c8c06c9ba36b5d25ac6f9a

-- 
You are receiving this mail because:
You are watching all bug changes.

[umbrello] [Bug 338649] Extend C++ import for C++11

2021-05-09 Thread Oliver Kellogg
https://bugs.kde.org/show_bug.cgi?id=338649

--- Comment #22 from Oliver Kellogg  ---
Git commit 7d3eb053739413a0eef8c111e0c9a41843227cf2 by Oliver Kellogg.
Committed on 09/05/2021 at 15:47.
Pushed by okellogg into branch 'release/21.04'.

Fix crash reported in https://bugs.kde.org/show_bug.cgi?id=338649#c20
related to multiple calls of m_source.unicode() where the calls return
different address values.
The solution is to call m_source.unicode() only once:

lib/cppparser/lexer.h
- In class Lexer add private member m_src of type const QChar*.

lib/cppparser/lexer.cpp
- In function Lexer::setSource,
  - assign m_source.unicode() to m_src;
  - if m_source.isEmpty() returns true then return without calling
tokenize().
- In function Lexer::reset initialize m_src to null pointer.
- In function Lexer::offset return m_src + offset.
- In function Lexer::getOffset use m_src in lieu of src.
  This avoids the second call to m_source.unicode() which on newer Qt5
  versions may return a different buffer.

M  +8-7lib/cppparser/lexer.cpp
M  +1-0lib/cppparser/lexer.h

https://invent.kde.org/sdk/umbrello/commit/7d3eb053739413a0eef8c111e0c9a41843227cf2

-- 
You are receiving this mail because:
You are watching all bug changes.

[umbrello] [Bug 338649] Extend C++ import for C++11

2021-05-04 Thread Oliver Kellogg
https://bugs.kde.org/show_bug.cgi?id=338649

--- Comment #21 from Oliver Kellogg  ---
(In reply to Oliver Kellogg from comment #20)
> (In reply to milasudril from comment #18)
> > Any update on this task?
> 
> A added support for C++11 "enum class" and it is working in a Qt4 based
> build.
> However, on trying to import
> https://invent.kde.org/sdk/umbrello/-/blob/master/test/import/cxx/cxx11-
> strongly-typed-enumerations.h
> in a Qt5 based build I get a crash:
> [...]

I hereby revoke the crash report, it turned out to be a hardware glitch on the
build machine.
I tried again on a Windows machine with Cygwin/Qt5/KF5 and the file was
imported fine.

-- 
You are receiving this mail because:
You are watching all bug changes.

[umbrello] [Bug 338649] Extend C++ import for C++11

2021-05-02 Thread Oliver Kellogg
https://bugs.kde.org/show_bug.cgi?id=338649

--- Comment #20 from Oliver Kellogg  ---
(In reply to milasudril from comment #18)
> Any update on this task?

A added support for C++11 "enum class" and it is working in a Qt4 based build.
However, on trying to import
https://invent.kde.org/sdk/umbrello/-/blob/master/test/import/cxx/cxx11-strongly-typed-enumerations.h
in a Qt5 based build I get a crash:

Application: Umbrello UML Modeller (umbrello5), signal: Aborted
Content of s_kcrashErrorMessage: [Current thread is 1 (Thread 0x7fc078f12e80
(LWP 9736))]
[KCrash Handler]
#6  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
#7  0x7fc07c02c864 in __GI_abort () at abort.c:79
#8  0x7fc07c60b10b in qt_message_fatal (message=...,
context=...) at global/qlogging.cpp:1914
#9  QMessageLogger::fatal(char const*, ...) const
(this=this@entry=0x7fff14653b78, msg=msg@entry=0x7fc07c90aea0 "ASSERT: \"%s\"
in file 
%s, line %d") at global/qlogging.cpp:893
#10 0x7fc07c60a558 in qt_assert(char const*, char const*, int)
(assertion=, file=, line=) at global/qglobal.cpp:3358
#11 0x007b9354 in Lexer::getOffset(QChar const*) const
(this=0x7fff14654468, p=0x1852138) at /tools/umbrello-master/lib/cppparse
r/lexer.h:265
#12 0x007bb835 in Lexer::currentPosition() const (this=0x7fff14654468)
at /tools/umbrello-master/lib/cppparser/lexer.h:853
#13 0x007b4845 in Lexer::nextToken(Token&, bool) (this=0x7fff14654468,
tk=..., stopOnNewline=false) at /tools/umbrello-master/li
b/cppparser/lexer.cpp:255
#14 0x007b660e in Lexer::tokenize() (this=0x7fff14654468) at
/tools/umbrello-master/lib/cppparser/lexer.cpp:497
#15 0x007b3e93 in Lexer::setSource(QString const&)
(this=0x7fff14654468, source=...) at /tools/umbrello-master/lib/cppparser/lex
er.cpp:143
#16 0x007ab000 in Driver::ParseHelper::ParseHelper(QString const&,
bool, Driver*, bool, QString) (this=0x7fff14654420, fileName=
..., force=false, driver=0x10c0260, reportMessages=true, includedFrom=...) at
/tools/umbrello-master/lib/cppparser/driver.cpp:321
#17 0x007a0ebc in Driver::parseFile(QString const&, bool, bool, bool)
(this=0x10c0260, fileName=..., onlyPreProcess=false, force
=false, macrosGlobal=false) at
/tools/umbrello-master/lib/cppparser/driver.cpp:555
#18 0x00777b8e in CppImport::parseFile(QString const&) (this=0x15e51d0,
fileName=...) at /tools/umbrello-master/umbrello/codeimp
ort/cppimport.cpp:145
#19 0x00776edd in ClassImport::importFile(QString const&)
(this=0x15e51d0, fileName=...) at /tools/umbrello-master/umbrello/code
import/classimport.cpp:120
#20 0x0050c44c in CodeImpThread::run() (this=0x10cb250) at
/tools/umbrello-master/umbrello/codeimpwizard/codeimpthread.cpp:62
#21 0x00509d8d in CodeImpStatusPage::importCodeFile(bool)
(this=0x7fc07000d050, noError=true) at /tools/umbrello-master/umbrello
/codeimpwizard/codeimpstatuspage.cpp:192
#22 0x005098a9 in CodeImpStatusPage::importCode() (this=0x7fc07000d050)
at /tools/umbrello-master/umbrello/codeimpwizard/codeimp
statuspage.cpp:161
#23 0x00479103 in CodeImpStatusPage::qt_static_metacall(QObject*,
QMetaObject::Call, int, void**) (_o=0x7fc07000d050, _c=QMetaOb
ject::InvokeMetaMethod, _id=0, _a=0x7fff14654a40) at
/tools/umbrello-master/build/umbrello/libumbrello_autogen/6MVZBMHENV/moc_codeimpsta
tuspage.cpp:114
#24 0x7fc07c85fc50 in doActivate(QObject*, int, void**)
(sender=0x1734400, signal_index=9, argv=argv@entry=0x7fff14654a40) at
 kernel/qobject.cpp:3898
#25 0x7fc07c858f60 in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (sender=sender@entry=0x1734400, m=m@entry=0x7
fc07d99f4e0 ,
local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7fff14654a40)
at kerne
l/qobject.cpp:3946
#26 0x7fc07d5736a2 in QAbstractButton::clicked(bool)
(this=this@entry=0x1734400, _t1=) at .moc/moc_qabstractbutton.cp
p:308
#27 0x7fc07d57391a in QAbstractButtonPrivate::emitClicked()
(this=0x1734440) at widgets/qabstractbutton.cpp:415
#28 0x7fc07d575970 in QAbstractButtonPrivate::click() (this=0x1734440) at
widgets/qabstractbutton.cpp:408
#29 0x7fc07d575b91 in QAbstractButton::mouseReleaseEvent(QMouseEvent*)
(this=0x1734400, e=0x7fff14654fc0) at widgets/qabstractbutton
.cpp:1044
#30 0x7fc07d4c1b4e in QWidget::event(QEvent*) (this=0x1734400,
event=0x7fff14654fc0) at kernel/qwidget.cpp:9019
#31 0x7fc07d47faff in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=this@entry=0xbbfc00, receiver=receiver@entry=0x173
4400, e=e@entry=0x7fff14654fc0) at kernel/qapplication.cpp:3632
#32 0x7fc07d4870cb in QApplication::notify(QObject*, QEvent*)
(this=0x7fff14654cf0, receiver=0x1734400, e=0x7fff14654fc0) at kernel/
qapplication.cpp:3076
#33 0x7fc07c82913a in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=0x1734400, event=0x7fff14654fc0) at kernel/qcor
eapplication.cpp:1063
#34 0x7fc07d486103 in 

[umbrello] [Bug 338649] Extend C++ import for C++11

2021-04-30 Thread Oliver Kellogg
https://bugs.kde.org/show_bug.cgi?id=338649

--- Comment #19 from Oliver Kellogg  ---
Git commit 464c7132349e4cf10a84fc9e6f3792087a934158 by Oliver Kellogg.
Committed on 30/04/2021 at 19:11.
Pushed by okellogg into branch 'release/21.04'.

Support C++11 "enum class" in C++ Import:

lib/cppparser/ast.{h,cpp} class EnumSpecifierAST
- Add functions setClass, isClass accessing new member m_isClass of type
  bool.
- Add functions setEnumBase, enumBase accessing new member m_enumBase
  of type TypeSpecifierAST::Node.

lib/cppparser/parser.cpp function parseEnumSpecifier
- Add bool isClass initialized to false.
- After consuming Token_enum add int tk initialized to
  m_lexer->lookAhead(0).
- If tk is Token_class or Token_struct then set isClass true and call
  nextToken().
- After call to parseName(name) add variable enumBase of type
  TypeSpecifierAST::Node.
- If m_lexer->lookAhead(0) is ':' then call nextToken() followed by
  parseSimpleTypeSpecifier(enumBase).
- Reassign tk from m_lexer->lookAhead(0) and permit only ';' or '{' as
  its value.
- Remove call to nextToken(), it is postponed to after the assignments
  to `ast'.
- At assignments to `ast' call ast->setClass(isClass) and
  ast->setEnumBase(enumBase).

test/import/cxx/cxx11-strongly-typed-enumerations.h
- Rename second definition of Enum2,Enum3 to Enum4,Enum5 to avoid
  overlap.

M  +12   -0lib/cppparser/ast.cpp
M  +12   -0lib/cppparser/ast.h
M  +40   -20   lib/cppparser/parser.cpp
M  +5-4test/import/cxx/cxx11-strongly-typed-enumerations.h

https://invent.kde.org/sdk/umbrello/commit/464c7132349e4cf10a84fc9e6f3792087a934158

-- 
You are receiving this mail because:
You are watching all bug changes.

[umbrello] [Bug 338649] Extend C++ import for C++11

2021-04-06 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=338649

--- Comment #18 from milasud...@gmail.com ---
Any update on this task?

-- 
You are receiving this mail because:
You are watching all bug changes.

[umbrello] [Bug 338649] Extend C++ import for C++11

2016-09-11 Thread Ralf Habacker via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=338649

Ralf Habacker  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 Status|UNCONFIRMED |CONFIRMED

--- Comment #17 from Ralf Habacker  ---
umbrello's git master branch got several c++11 related test cases. If someone
has interest in umbrello having c++11 support feel free to extend the c++
parser and send patches one by one to this bug or kde review board.  

The parser is located at lib/cppparser/parser.cpp|h. If it is required to add
additional abstract syntax tree classes, see  lib/cppparser/ast.cpp|h. After
parsing it may be required to assign the newly parsed elements to related uml
objects in umbrello/codeimport/kdevcppparser/cpptree2uml.cpp|h

-- 
You are receiving this mail because:
You are watching all bug changes.


[umbrello] [Bug 338649] Extend C++ import for C++11

2016-09-08 Thread Ralf Habacker via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=338649

--- Comment #16 from Ralf Habacker  ---
Git commit 13a513d629e86e8cc98d750f1d9e5741bbc8791a by Ralf Habacker.
Committed on 09/09/2016 at 05:34.
Pushed by habacker into branch 'master'.

Add c++11 code import test cases.

A  +14   -0test/import/cxx/cxx11-alternative-function-syntax.h
[License: UNKNOWN]  *
A  +1-0test/import/cxx/cxx11-constexpr.cpp [License: Trivial file]
A  +9-0test/import/cxx/cxx11-constexpr.h [License: UNKNOWN]  *
A  +24   -0test/import/cxx/cxx11-explicit-overrides-and-final.h
[License: UNKNOWN]  *
A  +4-0test/import/cxx/cxx11-extern-template.h [License: UNKNOWN] 
*
A  +21   -0test/import/cxx/cxx11-initializer-lists.h [License: UNKNOWN]
 *
A  +4-0test/import/cxx/cxx11-lambda-functions-and-expressions.h
[License: UNKNOWN]  *
A  +9-0test/import/cxx/cxx11-null-pointer-constant.h [License:
UNKNOWN]  *
A  +32   -0test/import/cxx/cxx11-object-construction-improvement.h
[License: UNKNOWN]  *
A  +12   -0test/import/cxx/cxx11-range-based-for-loop.h [License:
UNKNOWN]  *
A  +22   -0test/import/cxx/cxx11-strongly-typed-enumerations.h
[License: UNKNOWN]  *
A  +29   -0test/import/cxx/cxx11-type-inference.h [License: UNKNOWN]  *
A  +31   -0test/import/cxx/cxx11-uniform-initialization.h [License:
UNKNOWN]  *

The files marked with a * at the end have a non valid license. Please read:
http://techbase.kde.org/Policies/Licensing_Policy and use the headers which are
listed at that page.


http://commits.kde.org/umbrello/13a513d629e86e8cc98d750f1d9e5741bbc8791a

-- 
You are receiving this mail because:
You are watching all bug changes.


[umbrello] [Bug 338649] Extend C++ import for C++11

2016-05-30 Thread Ralf Habacker via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=338649

--- Comment #15 from Ralf Habacker  ---
Git commit d14553de1c33f9f087baa0d59d41223738eaa5d7 by Ralf Habacker.
Committed on 30/05/2016 at 21:30.
Pushed by habacker into branch 'master'.

Add missing license header.

M  +19   -0unittests/TEST_llvm.cpp

http://commits.kde.org/umbrello/d14553de1c33f9f087baa0d59d41223738eaa5d7

-- 
You are receiving this mail because:
You are watching all bug changes.


[umbrello] [Bug 338649] Extend C++ import for C++11

2016-05-28 Thread Ralf Habacker via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=338649

--- Comment #14 from Ralf Habacker  ---
Git commit 2de8b562409f8d502d0efe27c316e6ca4e2df1c8 by Ralf Habacker.
Committed on 28/05/2016 at 12:52.
Pushed by habacker into branch 'master'.

Add llvm test case.

M  +19   -0unittests/CMakeLists.txt
A  +29   -0unittests/TEST_llvm.cpp [License: UNKNOWN]  *

The files marked with a * at the end have a non valid license. Please read:
http://techbase.kde.org/Policies/Licensing_Policy and use the headers which are
listed at that page.


http://commits.kde.org/umbrello/2de8b562409f8d502d0efe27c316e6ca4e2df1c8

-- 
You are receiving this mail because:
You are watching all bug changes.


[umbrello] [Bug 338649] Extend C++ import for C++11

2016-04-29 Thread via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=338649

--- Comment #13 from milasud...@gmail.com ---
Doxygen has an option for CLANG_ASSISTED_PARSING since version 1.8.4.

-- 
You are receiving this mail because:
You are watching all bug changes.


[umbrello] [Bug 338649] Extend C++ import for C++11

2016-01-26 Thread Ralf Habacker via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=338649

--- Comment #12 from Ralf Habacker  ---
(In reply to Patric Schmitz from comment #10)
> >> If this is a basic limitation to using clang, is this really the way the 
> >> project should go? 
> 
> Probably the most reasonable way to go about it after all?

For now yes

-- 
You are receiving this mail because:
You are watching all bug changes.


[umbrello] [Bug 338649] Extend C++ import for C++11

2016-01-18 Thread Ralf Habacker via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=338649

--- Comment #7 from Ralf Habacker  ---
(In reply to Ralf Habacker from comment #6)
> 3. The recently used parser is very tolerant against incomplete c++ code,
> which is not the case for clang, which needs to be called similar to a
> compiler building the related source code. Incomplete code may come from
> missing include pathes or defines only available inside the build system of
> the imported source code files. This may require to run the parser similar
> to the coverity scan tools, which runs on top of a configured build system.

If someone will give it a try: For cmake based projects on linux the following
receipt can be used to get an AST (based on the hints at
http://clang.llvm.org/docs/LibTooling.html)
1. unpack  umbrello source into 
2. mkdir 
3. cd 
4. CC=/usr/bin/clang CXX=/usr/bin/clang++ cmake
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON  
5. run clang-check -ast-dump -p $PWD
/umbrello/umlscene.cpp
TranslationUnitDecl 0xf54940 <>
|-TypedefDecl 0xf54e80 <> __int128_t '__int128'
|-TypedefDecl 0xf54ee0 <> __uint128_t 'unsigned __int128'
|-TypedefDecl 0xf552a0 <> __builtin_va_list '__va_list_tag [1]'
|-TypedefDecl 0xf55390  ptrdiff_t 'long'
|-TypedefDecl 0xf553f0  size_t 'unsigned long'
|-TypedefDecl 0xf55450  qint8
'signed char'
.

-- 
You are receiving this mail because:
You are watching all bug changes.


[umbrello] [Bug 338649] Extend C++ import for C++11

2016-01-18 Thread Patric Schmitz via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=338649

--- Comment #8 from Patric Schmitz  ---
On 01/03/2016 01:01 AM, Ralf Habacker via KDE Bugzilla wrote:
> ...clang, which needs to be called similar to a compiler
> building the related source code

I actually see this as a major problem. Requiring people to have a full build
set up would severely limed the usefulness of the tool. I might not even have
complete sourcetree available, but just get a bunch of related cpp files from
"somewhere" (a collaborator, some old project which no longer builds, ...) and
want to import the classes into umbrello.

If this is a basic limitation to using clang, is this really the way the
project should go? Maybe it is possible to separate only the parser parts
without the whole semantics and error checking from clang? I have no idea about
clang internals I must say.

An alternative could be using some parser generator such as antlr or bison to
get a syntax tree? I looked around (for maybe half an hour) some weeks ago but
it seemed there is nothing yet which would properly parse c++11/14 syntax..

-- 
You are receiving this mail because:
You are watching all bug changes.


[umbrello] [Bug 338649] Extend C++ import for C++11

2016-01-02 Thread Ralf Habacker via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=338649

--- Comment #6 from Ralf Habacker  ---
(In reply to milasudril from comment #5)
> I thought libclang would be usable. This way, new features would already be 
> implemented there.
It may be usable, but noone has opened a working branch and tried to implement
this until now.
Umbrello always used a copy of the kdevelop c++ parser in the past and it seem
to be the easiest to also reuse the clang based c++ language plugin from
kdevelop (see
https://techbase.kde.org/Projects/KDevelop4/ClangRoadmap#Why_Clang) 

Some of the Issues which need to be solved are:
1. umbrello needs to be refactored for running kdevelop clang language plugin
2. clang AST is completly different from kdevelop's c++ parser AST, which
requires a rewrite of the AST to uml model binding (currently cpp2uml.cpp)
3. The recently used parser is very tolerant against incomplete c++ code, which
is not the case for clang, which needs to be called similar to a compiler
building the related source code. Incomplete code may come from missing include
pathes or defines only available inside the build system of the imported source
code files. This may require to run the parser similar to the coverity scan
tools, which runs on top of a configured build system.

Links:
http://milianw.de/blog/katekdevelop-sprint-2014-let-there-be-clang
http://llvm.org/devmtg/2015-04/slides/Funk_Libclang_Integration_KDevelop.pdf

-- 
You are receiving this mail because:
You are watching all bug changes.


[umbrello] [Bug 338649] Extend C++ import for C++11

2016-01-01 Thread via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=338649

milasud...@gmail.com changed:

   What|Removed |Added

 CC||milasud...@gmail.com

--- Comment #4 from milasud...@gmail.com ---
*** Bug 357372 has been marked as a duplicate of this bug. ***

-- 
You are receiving this mail because:
You are watching all bug changes.


[umbrello] [Bug 338649] Extend C++ import for C++11

2016-01-01 Thread via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=338649

--- Comment #5 from milasud...@gmail.com ---
I thought libclang would be usable. This way, new features would already be
implemented there.

-- 
You are receiving this mail because:
You are watching all bug changes.