Bug 254520 - storage class specifiers for c and cpp function parameters not supported by PDOM
Summary: storage class specifiers for c and cpp function parameters not supported by PDOM
Status: RESOLVED FIXED
Alias: None
Product: CDT
Classification: Tools
Component: cdt-core (show other bugs)
Version: 6.0   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 6.0   Edit
Assignee: Markus Schorn CLA
QA Contact:
URL:
Whiteboard:
Keywords: contributed
Depends on:
Blocks:
 
Reported: 2008-11-06 16:17 EST by Missing name Mising name CLA
Modified: 2008-11-11 07:44 EST (History)
0 users

See Also:


Attachments
patch as described for isAuto, isRegister (13.62 KB, patch)
2008-11-06 16:19 EST, Missing name Mising name CLA
mschorn.eclipse: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Missing name Mising name CLA 2008-11-06 16:17:22 EST
C99 ISO/IEC 9899: 6.7.5.3.2 supports the 'register' keyword for function parameters while ISO/IEC 14882:2003 7.1.1.2 supports 'register' and 'auto' keywords for function parameters (both in addition to objects in block scope)

Despite being recognized in the ast, these don't make it to the pdom db; the corresponding methods throw a PDOMNotImplementedError

Attached patch has a look at addressing this. Points to note:
1. chose to add extra byte to PDOMCPPParameter even though the FLAGS byte could have been reused; better for maintenance
2. fixed bugs in CParameter and CPPParameter hasStorageClass(1) where they'd find wrong declarator for param
3. change to PDOM.java pending until 1. is agreed upon
Comment 1 Missing name Mising name CLA 2008-11-06 16:19:04 EST
Created attachment 117262 [details]
patch as described for isAuto, isRegister
Comment 2 Markus Schorn CLA 2008-11-11 07:40:00 EST
Thanks, patch looks good. I'll correct PDOMCPPParameter.RECORD_SIZE.
Comment 3 Markus Schorn CLA 2008-11-11 07:44:42 EST
I have applied the patch and updated the PDOM version,
fixed in 6.0 > 20081111.