Summary: | [Scanner] Macro expansion of "#define a b(a)" causes stack overflow | ||||||
---|---|---|---|---|---|---|---|
Product: | [Tools] CDT | Reporter: | Mas Yokota <myokota> | ||||
Component: | cdt-parser | Assignee: | John Camelon <john.camelon> | ||||
Status: | RESOLVED FIXED | QA Contact: | |||||
Severity: | major | ||||||
Priority: | P2 | ||||||
Version: | 2.0 | ||||||
Target Milestone: | 2.0 | ||||||
Hardware: | PC | ||||||
OS: | Windows 2000 | ||||||
Whiteboard: | |||||||
Bug Depends on: | |||||||
Bug Blocks: | 62571 | ||||||
Attachments: |
|
Description
Mas Yokota
2004-05-12 14:47:16 EDT
Created attachment 10561 [details]
test case
The problem is that subScanner's have their own context stack and thus have no idea about whether or not they are circularly recursing. As I fix this defect, I shall remove the subscanners, making the system more performant and scalable. Dave has submitted the work to remove the subscanners. This problem is now fixed as a result. JUnit test cases have been added to validate this in the scanner, QuickParser and CompleteParser. |