Type-Name conflict when using Axis2C in combination with VisualStudio/VC98 
XMemory and Utility
----------------------------------------------------------------------------------------------

                 Key: AXIS2C-1256
                 URL: https://issues.apache.org/jira/browse/AXIS2C-1256
             Project: Axis2-C
          Issue Type: Bug
    Affects Versions: 1.5.0
         Environment: Windows XP Service Pack 2
Microsoft Visual C++ 6.0
Axis2c 1.5.0
            Reporter: Schmidt
            Priority: Minor


Hi, 

I had a problem compiling a project in Visual C++ 6.0 as there is a name 
conflict within several files.
The included files ...VC98/includes/xmemory.h and ...VC98/includes/utility.h 
define template classes of name "allocator", "iterator" and "map".
As the exact naming is also used in some Axis header files as parameter 
attribute names, several compiler errors occur (parameter name is interpreted 
as class of type allocator/iterator/map).

I'm not sure, if this could be considered as a bug in Axis (cause the real 
problem is the blundering naming of the classes in Visual Studio). I do also 
not know how this is handled by newer versions of Visual Studio, as I have no 
possibilities to test this on my machine.

I fixed the problem on my local machine by adding a suffix to all affected 
parameters in the Axis header files. After that everything was compiling just 
fine. See attached log file excerpt gives an overview of affected header files.

----- Log File Excerpt -----
d:\axis2c-bin-1.5.0-win32\include\axutil_allocator.h(130) : error C2955: 
'allocator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_allocator.h(140) : error C2955: 
'allocator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_allocator.h(154) : error C2955: 
'allocator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_allocator.h(168) : error C2955: 
'allocator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_log.h(196) : error C2955: 'allocator' 
: use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_thread.h(77) : error C2955: 
'allocator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_thread.h(99) : error C2955: 
'allocator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_thread.h(111) : error C2955: 
'allocator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_thread.h(124) : error C2955: 
'allocator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_thread.h(149) : error C2955: 
'allocator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_thread.h(197) : error C2955: 
'allocator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_thread_pool.h(102) : error C2955: 
'allocator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_env.h(90) : error C2955: 'allocator' : 
use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_env.h(114) : error C2955: 'allocator' 
: use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_env.h(127) : error C2955: 'allocator' 
: use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_env.h(142) : error C2955: 'allocator' 
: use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axis2_ctx.h(139) : error C2955: 'map' : use 
of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\map(140) : see 
declaration of 'map'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_iterator.h(62) : error C2955: 
'iterator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\utility(71) : see 
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_iterator.h(76) : error C2955: 
'iterator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\utility(71) : see 
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_iterator.h(89) : error C2955: 
'iterator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\utility(71) : see 
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_iterator.h(100) : error C2955: 
'iterator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\utility(71) : see 
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_iterator.h(112) : error C2955: 
'iterator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\utility(71) : see 
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_qname_iterator.h(58) : error 
C2955: 'iterator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\utility(71) : see 
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_qname_iterator.h(73) : error 
C2955: 'iterator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\utility(71) : see 
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_qname_iterator.h(87) : error 
C2955: 'iterator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\utility(71) : see 
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_qname_iterator.h(97) : error 
C2955: 'iterator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\utility(71) : see 
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_child_element_iterator.h(52) : error 
C2955: 'iterator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\utility(71) : see 
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_child_element_iterator.h(67) : error 
C2955: 'iterator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\utility(71) : see 
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_child_element_iterator.h(80) : error 
C2955: 'iterator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\utility(71) : see 
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_child_element_iterator.h(91) : error 
C2955: 'iterator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\utility(71) : see 
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\platforms\windows\axutil_thread_windows.h(58) 
: error C2955: 'allocator' : use of class template requires template argument 
list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\platforms\windows\axutil_thread_windows.h(82) 
: error C2955: 'allocator' : use of class template requires template argument 
list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\platforms\windows\axutil_thread_windows.h(90) 
: error C2955: 'allocator' : use of class template requires template argument 
list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\platforms\windows\axutil_thread_windows.h(116)
 : error C2955: 'allocator' : use of class template requires template argument 
list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_log_default.h(47) : error C2955: 
'allocator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_log_default.h(56) : error C2955: 
'allocator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_error_default.h(44) : error C2955: 
'allocator' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see 
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_with_specific_attribute_iterator.h(52)
 : error C2955: 'iterator' : use of class template requires template argument 
list
        c:\program files\microsoft visual studio\vc98\include\utility(71) : see 
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_with_specific_attribute_iterator.h(66)
 : error C2955: 'iterator' : use of class template requires template argument 
list
        c:\program files\microsoft visual studio\vc98\include\utility(71) : see 
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_with_specific_attribute_iterator.h(79)
 : error C2955: 'iterator' : use of class template requires template argument 
list
        c:\program files\microsoft visual studio\vc98\include\utility(71) : see 
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_with_specific_attribute_iterator.h(90)
 : error C2955: 'iterator' : use of class template requires template argument 
list
        c:\program files\microsoft visual studio\vc98\include\utility(71) : see 
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_soap_builder.h(189) : error C2955: 
'map' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\include\map(140) : see 
declaration of 'map'

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to