Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HPCC-9975 Evaluate(module) does not like enum #4856

Merged
merged 1 commit into from Sep 25, 2013

Conversation

jamienoss
Copy link
Collaborator

Added switch case to hqlutil.cpp to ignore exported enumerated type deffinitions
when declared within a module listed as an output parameter.

Signed-off-by: jamienoss james.noss@lexisnexis.com

@hpcc-jirabot
Copy link

Jira updated

@jamienoss
Copy link
Collaborator Author

@ghalliday These are the main differences from the regression test:

diff -I golden -I issue9975 -I hash -I master golden/minherite1.ecl.log issue9975/minherite1.ecl.log

< minherite1.ecl(26,7): error C3101: Module definition contain an illegal cycle/recursive definition f

minherite1.ecl(26,7): error C3101: Module definition contain an illegal cycle/recursive definition value

diff -I golden -I issue9975 -I hash -I master golden/minherite2.ecl.log issue9975/minherite2.ecl.log

< minherite2.ecl(26,7): error C3101: Module definition contain an illegal cycle/recursive definition f

minherite2.ecl(26,7): error C3101: Module definition contain an illegal cycle/recursive definition value

@@ -4206,6 +4206,9 @@ IHqlExpression * ModuleExpander::createExpanded(IHqlExpression * scopeExpr, IHql
case no_typedef:
op = no_none;
break;
case no_enum:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is fine. It would be more normal C++ convention to combine the cases:

case no_typedef:
case no_enum:
    op = no_none;

since both cases are doing the same thing - stopping the entry from being generated.

@ghalliday
Copy link
Member

Those differences are because the order the definitions get processed isn't deterministic, and the error is reported on whichever is processed first.
It should be fixed really (a separate issue).

Added switch case to hqlutil.cpp to ignore exported enumerated type deffinitions
when declared within a module listed as an output parameter.

Signed-off-by: jamienoss <james.noss@lexisnexis.com>
ghalliday added a commit that referenced this pull request Sep 25, 2013
HPCC-9975 Evaluate(module) does not like enum

Reviewed-by: Gavin Halliday <ghalliday@hpccsystems.com>
@ghalliday ghalliday merged commit d1edc6a into hpcc-systems:master Sep 25, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants