Skip to content

operator==( error_code, error_code ) is suboptimal #106

@pdimov

Description

@pdimov

There's room for improvement both when the RHS is unknown (https://godbolt.org/z/sK3G6j3e6) and when it's known (https://godbolt.org/z/6M9qd4dqa). (GCC does best here; Clang is even worse.)

Fixing this would probably require switching from interop_category to unknown_category (and retaining the original code value) as mentioned in #95. Also, the

        bool s1 = lhs.lc_flags_ == 1;
        bool s2 = rhs.lc_flags_ == 1;

logic should probably be changed to an explicit if tree.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions