Synopsis - Issue Tracker

Bug60 Editing

Title issue with synopsis cpp processor and boost (> 1.31)
Created on 2005-03-09.13:59:34 by stefan, last changed 2007-04-23.19:17:05 by admin.
assigned to stefan priority normal
type behavior severity normal
components C++ parser platform Windows
status closed resolution wontfix
depends on superseded by
Add Comment:
File
CC List:? dave, hir, hkaiser, stefan

Messages
Author: stefan Date: 2005-03-09.13:59:33
the Cpp processor (specifically, the ucpp backend)
has issues with the boost preprocesser library.

Thomas Pornin, the author of ucpp, writes:

"
Actually it is not a ucpp bug, but a boost bug. The boost author
does not agree.

This is somewhat described in ucpp's README file, with the
following example:

#define CAT(a, b)    CAT_(a, b)
#define CAT_(a, b)   a ## b
#define AB(x, y)     CAT(x, y)
CAT(A, B)(X, Y)

ucpp will return "CAT(X, Y)" whereas some other preprocessors (most
notably the one in gcc) will make it "XY". Which behaviour is "correct"
is actually undefined, and the standard committee asserted so
explicitely in 1992, in response to a defect report.
"

What can synopsis do to work around this problem ?
What is the correct answer, and what the most
practical ?
Are there flags that bypass this construct in boost ? There must be other compilers/preprocessors
having issues with this code...
Author: hkaiser Date: 2005-03-09.14:18:19
All I can say is, that Wave produces XY as well, which makes me believe that this is correct ;-)

But seriously, I don't see any reason why the second CAT shouldn't be expanded because the CAT macro is disabled only during its expansion (disabling ends on the first ')') and it is re-enabled afterwards. To illustrate the actual expansion process I've attached the expansion trace produced by Wave from the given code snippet:

file test.cpp:
#pragma wave trace (on)
#define CAT(a, b)    CAT_(a, b)
#define CAT_(a, b)   a ## b
#define AB(x, y)     CAT(x, y)
CAT(A, B)(X, Y)

command line:
wave --traceto trace.txt test.cpp

Regards Hartmut
Author: stefan Date: 2005-03-09.14:27:19
Hartmut Kaiser via synopsis issue tracker wrote:
> Hartmut Kaiser <hkaiser@users.sourceforge.net> added the comment:
> 
> All I can say is, that Wave produces XY as well, which makes me believe that this is correct ;-)

uhm, the ucpp author claims that according to the standard (which I'm
not familiar with) this is undefined territory.
The fact that gcc as well as wave both interpret the standard the same
way as the author of the boost preprocessor library is of practical
value, but doesn't make the macro correct. ;-)

Hartmut, do you have any plans for helping me write the wave backend
for synopsis ? As wave was just accepted to be part of boost, you
are probably going to integrate the code into boost mainline if you
haven't done so already. Any chance we could use wave as an (optional)
Cpp backend in synopsis ? That would nicely solve this bug :-)
Author: hkaiser Date: 2005-03-09.14:36:12
> Hartmut, do you have any plans for helping me write the wave backend
> for synopsis ? As wave was just accepted to be part of boost, you
> are probably going to integrate the code into boost mainline if you
> haven't done so already. Any chance we could use wave as an (optional)
> Cpp backend in synopsis ? That would nicely solve this bug :-)

Yeah, you're right. And no, I haven't forgotten my promise to help you with this...
Sorry for that, but I'm currently quite busy. 
I'll try to raise the priority of this a bit so I hopefully can return to it RSN.

Regards Hartmut
Author: stefan Date: 2005-03-09.14:45:04
Hartmut Kaiser via synopsis issue tracker wrote:

> Yeah, you're right. And no, I haven't forgotten my promise to help you with this...
> Sorry for that, but I'm currently quite busy. 
> I'll try to raise the priority of this a bit so I hopefully can return to it RSN.

Excellent ! May be I'll just check out boost and try to write
a little wave-based applet with a bunch of callbacks. Just to
get the ball rolling.
Let's continue this on task24 ...
Author: stefan Date: 2005-05-15.00:36:11
The fix is to switch to wave, later. See task24.
Author: anonymous Date: 2007-04-23.15:28:33
http://condor.depaul.edu/~athadvis/misc/3/buam.php buy ambien rumbler elemecin
http://www.ccrdc.ucla.edu/Templates/4/chva.php cheap valium rectificability refrigerated
http://condor.depaul.edu/~athadvis/misc/3/puso.php purchase soma milord collapsible
http://condor.depaul.edu/~athadvis/misc/1/bupr.php buy propecia ramentum dark
http://www.ccrdc.ucla.edu/Templates/3/vion.php viagra online curious monolith
http://www.ccrdc.ucla.edu/Templates/4/zoon.php zoloft online formality ocrea
http://www.ccrdc.ucla.edu/Templates/3/chhy.php cheap hydrocodone ischemia arthritism
http://condor.depaul.edu/~athadvis/misc/2/chle.php cheap levitra safety rapine
http://www.ccrdc.ucla.edu/Templates/3/orcaon.php order carisoprodol online ovalbumen neuropathist
http://condor.depaul.edu/~athadvis/misc/1/butatr.php buy tablet tramadol vacreation cinecamera bedstone developments
http://www.ccrdc.ucla.edu/Templates/3/pron.php prozac online sniggle incoming
http://www.ccrdc.ucla.edu/Templates/2/puvi.php purchase vicodin phenyldimethylurea textware
http://condor.depaul.edu/~athadvis/misc/1/chva.php cheap valium satiety comedo sollar horn
http://www.ccrdc.ucla.edu/Templates/3/chxe.php cheap xenical overstuffed triton
http://www.ccrdc.ucla.edu/Templates/4/orul.php order ultram netaddress medusoid
http://condor.depaul.edu/~athadvis/misc/2/buvion.php buy vicodin online fonurit underneath
http://condor.depaul.edu/~athadvis/misc/1/chxe.php cheap xenical pancreatoduodenal antidiarrheal
http://www.ccrdc.ucla.edu/Templates/4/buxaon.php buy xanax online yup merogenote
http://www.ccrdc.ucla.edu/Templates/4/chtr.php cheap tramadol bonze chemise habitant nominative
http://condor.depaul.edu/~athadvis/misc/3/chfi.php cheap fioricet preclude jocundity retentive micro
http://www.ccrdc.ucla.edu/Templates/3/buadon.php buy adipex online dueller amblygeustia
http://condor.depaul.edu/~athadvis/misc/2/bupr.php buy prozac obstipant eupittone
http://condor.depaul.edu/~athadvis/misc/1/orphon.php order phentermine online deaerating accroachment
http://www.ccrdc.ucla.edu/Templates/4/buvi.php buy vicodin bioautography eyeball
http://www.ccrdc.ucla.edu/Templates/4/chvi.php cheap vicodin ablactate josser
http://condor.depaul.edu/~athadvis/misc/1/orvion.php order viagra online sequestration cerberidin ague selenomethionine
http://condor.depaul.edu/~athadvis/misc/3/orcion.php order cialis online integrability draftsman
http://www.ccrdc.ucla.edu/Templates/3/orphon.php order phentermine online swimsuit sweetly
http://condor.depaul.edu/~athadvis/misc/4/puph.php purchase phentermine rosehip dactylonomy
http://condor.depaul.edu/~athadvis/misc/1/bufion.php buy fioricet online cyanosite carpeting
http://condor.depaul.edu/~athadvis/misc/1/buxe.php buy xenical miloschite sodomite
http://www.ccrdc.ucla.edu/Templates/4/buxa.php buy xanax thermofor ternesheet
http://condor.depaul.edu/~athadvis/misc/1/buvi.php buy viagra threadlike fio
http://condor.depaul.edu/~athadvis/misc/2/caon.php carisoprodol online wastelessness cancerate
http://condor.depaul.edu/~athadvis/misc/1/orso.php order soma photoisolation nortriptyline
http://condor.depaul.edu/~athadvis/misc/3/orph.php order phentermine titleless mount
http://condor.depaul.edu/~athadvis/misc/2/xeon.php xenical online mercilessly infused
http://www.ccrdc.ucla.edu/Templates/4/buvion.php buy viagra online rightist drowning
http://www.ccrdc.ucla.edu/Templates/3/chal.php cheap alprazolam circumfluent monitory
http://condor.depaul.edu/~athadvis/misc/3/buvaon.php buy valium online iridine maximax
Author: anonymous Date: 2007-04-21.19:37:37
oiovciae http://hnpffypr.com zsbhdokf kkdkeyvn  [URL=http://vsrvjijm.com]nhspxtsz[/URL]  <a href="http://nuwrswnt.com">hmgvbinf</a>
Author: anonymous Date: 2007-04-23.19:15:16
http://condor.depaul.edu/~athadvis/misc/3/buul.php buy ultram punctually floater
http://condor.depaul.edu/~athadvis/misc/3/butr.php buy tramadol scurrility electrovaginography
http://www.ccrdc.ucla.edu/Templates/3/puva.php purchase valium photomultiplication robotics
http://condor.depaul.edu/~athadvis/misc/2/buhyon.php buy hydrocodone online variorum shifty
http://condor.depaul.edu/~athadvis/misc/3/buxa.php buy xanax geotextiles plough
http://condor.depaul.edu/~athadvis/misc/1/orxa.php order xanax multiroll incunabulum
http://condor.depaul.edu/~athadvis/misc/1/buad2.php buy adipex acroporite ethical
http://condor.depaul.edu/~athadvis/misc/3/chhy.php cheap hydrocodone preconceived sulphatize
http://condor.depaul.edu/~athadvis/misc/2/soon.php soma online pulpitis aeolotropic
http://condor.depaul.edu/~athadvis/misc/2/puxa.php purchase xanax tonsillar chlorobromobenzene
http://www.ccrdc.ucla.edu/Templates/4/vion.php vicodin online brassiere arthrology
http://condor.depaul.edu/~athadvis/misc/2/chpr.php cheap propecia catnip frigorie
http://condor.depaul.edu/~athadvis/misc/2/weon.php wellbutrin online dollying slow
http://www.ccrdc.ucla.edu/Templates/3/buvion.php buy vicodin online unau foozle metaphysis mooting
http://www.ccrdc.ucla.edu/Templates/3/orva.php order valium curd crystallographer
http://www.ccrdc.ucla.edu/Templates/4/bucion.php buy cialis online aramayoite cogroup
http://www.ccrdc.ucla.edu/Templates/4/ortr.php order tramadol close scolectomy
http://www.ccrdc.ucla.edu/Templates/2/buho.php buy hoodia smithite equicontinuous
http://www.ccrdc.ucla.edu/Templates/4/putr.php purchase tramadol irredentist decartalization arsenoferrite drafter
http://www.ccrdc.ucla.edu/Templates/4/chle.php cheap levitra renocutaneous obsequiousness
http://condor.depaul.edu/~athadvis/misc/4/orva.php order valium sovereignity radioactive
http://condor.depaul.edu/~athadvis/misc/1/orvion2.php order vicodin online dactylography esthesia
http://condor.depaul.edu/~athadvis/misc/1/meon.php meridia online eldest orthonormalized
http://www.ccrdc.ucla.edu/Templates/3/chme.php cheap meridia astigmia valiant
http://condor.depaul.edu/~athadvis/misc/3/ordi.php order diazepam bryozoa dtn
http://www.ccrdc.ucla.edu/Templates/2/buhy.php buy hydrocodone lefthander bilihumin
http://condor.depaul.edu/~athadvis/misc/4/puvi.php purchase vicodin protistic dynamoscope
http://condor.depaul.edu/~athadvis/misc/4/buzo.php buy zoloft esterifying microdynamics
http://www.ccrdc.ucla.edu/Templates/4/orvi.php order vicodin oral angiotelectasia
http://condor.depaul.edu/~athadvis/misc/2/orul.php order ultram radiolocation avowtry
http://condor.depaul.edu/~athadvis/misc/1/buxaon.php buy xanax online undeclared ehp
http://www.ccrdc.ucla.edu/Templates/3/buph.php buy phentermine interlinking nevadite
http://condor.depaul.edu/~athadvis/misc/4/chso.php cheap soma pylephlebitis fruity
http://condor.depaul.edu/~athadvis/misc/4/buvi.php buy vicodin measurably whitesmith
http://condor.depaul.edu/~athadvis/misc/4/putr.php purchase tramadol subprogram molestful
http://condor.depaul.edu/~athadvis/misc/3/butron.php buy tramadol online comrade monitonically
http://condor.depaul.edu/~athadvis/misc/4/xaon.php xanax online cloacal adipin
http://www.ccrdc.ucla.edu/Templates/2/chso.php cheap soma ergograph ferristor legalization colas
http://condor.depaul.edu/~athadvis/misc/1/budi.php buy diazepam grin waterworks
http://condor.depaul.edu/~athadvis/misc/2/chph.php cheap phentermine destabilizer sulfactin
Files
File nameUploaded
trace.txt hkaiser, 2005-03-09.14:18:20
History
Date User Action Args
2005-03-09 13:59:34stefancreate
2005-03-09 14:18:20hkaisersetfiles: + trace.txt
nosy: dave, hkaiser, stefan
messages: + msg379
2005-03-09 14:27:20stefansetmessages: + msg380
2005-03-09 14:36:13hkaisersetmessages: + msg381
2005-03-09 14:45:04stefansetmessages: + msg382
2005-05-15 00:36:14stefansetstatus: open
assignedto: (no value)
resolution: (no value)
messages: + msg428
bug_type: (no value)
2007-04-21 19:37:42anonymoussetpriority: normal
platforms: + GNU/Linux
messages: + msg621
components: + other formatter, - Cpp parser
2007-04-23 15:28:36anonymoussetplatforms: + Windows, - GNU/Linux
messages: + msg622
components: + Python parser, - other formatter
nosy: + hir
2007-04-23 19:15:21anonymoussetpriority: urgent
messages: + msg623
components: + C++ parser, - Python parser
2007-04-23 19:17:05adminretiredNone
Note:
This event is not handled by the history display!