You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Allan Schrum (JIRA)" <ji...@apache.org> on 2009/08/26 21:55:59 UTC
[jira] Updated: (AXIS2C-1379) typedef done too late in special
cases - CADBBeanTemplateHeader.xsl
[ https://issues.apache.org/jira/browse/AXIS2C-1379?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Allan Schrum updated AXIS2C-1379:
---------------------------------
Attachment: CircularReference.diff
This is a duplicate of https://issues.apache.org/jira/browse/AXIS2-4432 which is probably in the wrong project.
The patch for this problem is attached.
> typedef done too late in special cases - CADBBeanTemplateHeader.xsl
> -------------------------------------------------------------------
>
> Key: AXIS2C-1379
> URL: https://issues.apache.org/jira/browse/AXIS2C-1379
> Project: Axis2-C
> Issue Type: Bug
> Components: code generation, wsdl2c tool
> Affects Versions: 1.6.0
> Environment: Windows VS2005 and gcc 3.4.4 on Windows
> Reporter: Alain Beauregard
> Attachments: CircularReference.diff
>
>
> The code generated by the "class" template in CADBBeanTemplateHeader generates code that looks like the code below.
> The problem is that the typedef sometimes occurs too late.
> This happens, I believe, when an element can include itself recursively. In this case, the compiler complains when it sees X_t.
> A simple fix is to move the typedef at the top.
> --- CADBBeanTemplateHeader.xsl ---
> /**
> * X.h
> *
> * This file was auto-generated from WSDL
> * by the Apache Axis2/Java version: ...
> */
> #include "..."
> ... more #include "..."
> #include <stdio.h>
> #include <axiom.h>
> #include <axis2_util.h>
> #include <axiom_soap.h>
> #include <axis2_client.h>
> #ifdef __cplusplus
> extern "C"
> {
> #endif
> #define ADB_DEFAULT_DIGIT_LIMIT 1024
> #define ADB_DEFAULT_NAMESPACE_PREFIX_LIMIT 64
> typedef struct X X_t;
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.