Skip to content

Commit 146c1b5

Browse files
committed
Enum tests
1 parent e9cf8ab commit 146c1b5

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

integration_tests/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -758,8 +758,8 @@ RUN(NAME structs_35 LABELS cpython llvm llvm_jit)
758758
# EXTRAFILES sizeof_01b.c)
759759
# RUN(NAME sizeof_02 LABELS cpython llvm llvm_jit c)
760760
# RUN(NAME enum_01 LABELS cpython llvm llvm_jit c NOFAST)
761-
# RUN(NAME enum_02 LABELS cpython llvm llvm_jit NOFAST) # post sync
762-
# RUN(NAME enum_03 LABELS cpython llvm llvm_jit c NOFAST) # post sync
761+
RUN(NAME enum_02 LABELS cpython llvm llvm_jit NOFAST)
762+
RUN(NAME enum_03 LABELS cpython llvm llvm_jit c NOFAST)
763763
# RUN(NAME enum_04 LABELS cpython llvm llvm_jit c NOFAST)
764764
RUN(NAME enum_05 LABELS llvm c
765765
EXTRAFILES enum_05b.c NOFAST)

src/lpython/semantics/python_ast_to_asr.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6534,9 +6534,9 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
65346534
} else if( attr_name == "name" ) {
65356535

65366536
ASR::expr_t* a_len = ASRUtils::EXPR(ASR::make_IntegerConstant_t(al,
6537-
loc, -2, ASRUtils::TYPE(ASR::make_Integer_t(al, loc, 4))));
6537+
loc, std::string(enum_type->m_name).size(), ASRUtils::TYPE(ASR::make_Integer_t(al, loc, 4))));
65386538
ASR::ttype_t* char_type = ASRUtils::TYPE(ASR::make_String_t(
6539-
al, loc, 1, a_len, ASR::string_length_kindType::DeferredLength, ASR::string_physical_typeType::DescriptorString));
6539+
al, loc, 1, a_len, ASR::string_length_kindType::ExpressionLength, ASR::string_physical_typeType::DescriptorString));
65406540
tmp = ASR::make_EnumName_t(al, loc, t_mem, type, char_type, nullptr);
65416541
}
65426542
} else if (ASR::is_a<ASR::UnionType_t>(*type)) {
@@ -6677,7 +6677,7 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
66776677
ASR::expr_t* a_len = ASRUtils::EXPR(ASR::make_IntegerConstant_t(al, x.base.base.loc,
66786678
std::string(s).size(), ASRUtils::TYPE(ASR::make_Integer_t(al, x.base.base.loc, 8))));
66796679
enum_ref_type = ASRUtils::TYPE(ASR::make_String_t(
6680-
al, x.base.base.loc, 1, a_len, ASR::string_length_kindType::DeferredLength,
6680+
al, x.base.base.loc, 1, a_len, ASR::string_length_kindType::ExpressionLength,
66816681
ASR::string_physical_typeType::DescriptorString));
66826682
enum_ref_value = ASRUtils::EXPR(ASR::make_StringConstant_t(al, x.base.base.loc,
66836683
s, enum_ref_type));

0 commit comments

Comments
 (0)