Opened 15 years ago

Closed 13 years ago

#1500 closed Bugs (fixed)

[Spirit/Phoenix] C4512 Compiler warnings from VC8

Reported by: Richard Webb <richard.webb@…> Owned by: Joel de Guzman
Milestone: To Be Determined Component: spirit
Version: Boost Development Trunk Severity: Cosmetic
Keywords: Cc:

Description

I have a project that uses Spirit/Phoenix, and when building in VC8Sp1 with warnings set to level 4, i get a lot of C4512 (assignment operator could not be generated) warnings from various Spirit and Phoenix header files. For example:

e:\development\safemail32\external\boost\boost\spirit\phoenix\tuples.hpp(591) : warning C4512: 'phoenix::tuple<A,B,C,D,E,F,NU>' : assignment operator could not be generated
e:\development\safemail32\external\boost\boost\spirit\phoenix\primitives.hpp(217) : warning C4512: 'phoenix::variable<T>' : assignment operator could not be generated
e:\development\safemail32\external\boost\boost\spirit\phoenix\actor.hpp(272) : warning C4512: 'phoenix::actor<BaseT>' : assignment operator could not be generated
e:\development\safemail32\external\boost\boost\spirit\phoenix\composite.hpp(286) : warning C4512: 'phoenix::composite<OperationT,A,B,C,D,E,F>' : assignment operator could not be generated

Is there any interest in silencing these?

I could see about producing some patches if needed.

Attachments (2)

numerics.patch (1.1 KB ) - added by Richard Webb <richard.webb@…> 15 years ago.
'conditional expression is constant' warning
spirit.patch (12.2 KB ) - added by Richard Webb <richard.webb@…> 15 years ago.
'assignment operator could not be generated' warnings

Download all attachments as: .zip

Change History (4)

by Richard Webb <richard.webb@…>, 15 years ago

Attachment: numerics.patch added

'conditional expression is constant' warning

by Richard Webb <richard.webb@…>, 15 years ago

Attachment: spirit.patch added

'assignment operator could not be generated' warnings

comment:1 by Richard Webb <richard.webb@…>, 15 years ago

Patch to silence various warnings attached.

On a similar note, including both bind and phoenix headers results in a number C6244 warnings:

boost\spirit\phoenix\operators.hpp(1031) : warning C6244: Local declaration of '_1' hides previous declaration at line '42' of 'e:\development\boostsvn\boost\bind\placeholders.hpp'

boost\spirit\phoenix\composite.hpp(1378) : warning C6244: Local declaration of '_1' hides previous declaration at line '42' of 'e:\development\boostsvn\boost\bind\placeholders.hpp'

boost\spirit\phoenix\operators.hpp(1023) : warning C6244: Local declaration of '_1' hides previous declaration at line '42' of 'e:\development\boostsvn\boost\bind\placeholders.hpp'

comment:2 by Joel de Guzman, 13 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.