Menu

#159 Troubleshoot parser doesn't like macros

Version 4.0 RC1
assigned
None
Build
trivial
trunk
defect
2016-05-15
2009-06-12
No

The troubleshoot page parser does not like macro functions with other statements afterwards. e.g., overhead_line.cpp used to have:

if (config->phase##ph##_conductor && \

!gl_object_isa(config->phase##ph##_conductor, "overhead_line_conductor")) \

throw "invalid conductor for phase " #ph " of overhead line"; \
/ TROUBLESHOOT The conductor specified for the indicated phase is not necessarily an overhead line conductor, it may be an underground or triplex-line only conductor / \

else if ((!config->phase##ph##conductor) && has_phase(PHASE##ph)) \

throw "missing conductor for phase " #ph " of overhead line";
/ TROUBLESHOOT
The conductor specified for the indicated phase for the overhead line is missing
or invalid.
/

as code to check the phases. When the troubleshoot parser came through, it found the first TROUBLESHOOT message, but then proceeded to include the else if and second TROUBLESHOOT as part of the actual troubleshooting message (for the first throw). This problem is no longer an issue in overhead_line.cpp (via functions), but still may pop up in the future.

Discussion

  • Teresa Carlon

    Teresa Carlon - 2009-06-15
    • status changed from new to assigned
     
  • Matthew Hauer

    Matthew Hauer - 2009-07-23
    • owner changed from mhauer to dchassin
    • milestone set to Release win32-2_0_0
     
  • David P. Chassin

    • milestone changed from Release win32-2_0_0 to Release src-2_0_0
     
  • David P. Chassin

    • version changed from 2.0 to trunk
    • milestone changed from Release src-2_0_0 to Unscheduled
     
  • Jason Fuller

    Jason Fuller - 2013-01-04
    • owner changed from dchassin to natet
     
  • David P. Chassin

    • Milestone: Unscheduled --> Version 4.0 RC1