Bug 73102

Summary: KDevelop parser parses a c++ function that is a try block wrongly
Product: [Applications] kdevelop Reporter: Uri Juhasz <rossdally>
Component: Language Support: CPP (old)Assignee: KDevelop Developers <kdevelop-devel>
Status: RESOLVED FIXED    
Severity: normal CC: david.nolden.kde, flik
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Uri Juhasz 2004-01-21 05:01:43 UTC
Version:           3.0.0r1 (using KDE KDE 3.1.4)
Installed from:    Compiled From Sources
Compiler:          gcc 3.3.2 
OS:          Linux

When a c++ function is declared as a try block :
   void f()
   try{
      int a;
      ...
   }catch(...){}

The class view shows all it's local variables as global - apparently it does not parse the body as a body.
Comment 1 Martin Pärtel 2004-04-21 19:54:55 UTC
Same here in 3.0.2.
Comment 2 Andreas Pakulat 2007-06-02 12:44:06 UTC
*** Bug 146282 has been marked as a duplicate of this bug. ***
Comment 3 Prashant Jois 2007-10-04 23:12:15 UTC
Confirmed in KDevelop 3.4.1 (KDE 3.5.1)
Comment 4 Andreas Pakulat 2008-07-05 21:18:41 UTC
Still valid in KDEvelop4 :(
Comment 5 Andreas Pakulat 2008-07-05 21:31:33 UTC
putting our main C++ developer on the cc list, maybe he gets around to this after SoC.
Comment 6 Hamish Rodda 2008-07-06 03:30:33 UTC
SVN commit 828497 by rodda:

Fix function try blocks
eg. void f() try {} catch {}

Remove unimplemented skip function body code (not needed)

BUG:73102


 M  +0 -2      control.cpp  
 M  +0 -4      control.h  
 M  +44 -55    parser.cpp  
 M  +3 -6      parser.h  
 M  +21 -22    tests/test_parser.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=828497
Comment 7 Aleix Pol 2013-03-31 00:49:49 UTC
Moving all the bugs from the CPP Parser. It was not well defined the difference between it and C++ Language Support and people kept reporting in both places indistinctively