Ignore:
Timestamp:
Dec 21, 2023, 10:21:28 AM (7 months ago)
Author:
Andrew Beach <ajbeach@…>
Branches:
master
Children:
116d7e2
Parents:
523e300
Message:

Reorganization of Linkage::Spec. is_mangled represented two properties with is_gcc_builtin separating them in one case. The second property is_overloadable which replaces is_gcc_builtin.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/SymbolTable.cpp

    r523e300 rc7ebbec  
    644644                // new definition shadows the autogenerated one, even at the same scope
    645645                return false;
    646         } else if ( existing.id->linkage.is_mangled
     646        } else if ( existing.id->linkage.is_overloadable
    647647                        || ResolvExpr::typesCompatible(
    648648                                added->get_type(), existing.id->get_type() ) ) {
     
    719719        // this ensures that no two declarations with the same unmangled name at the same scope
    720720        // both have C linkage
    721         if ( decl->linkage.is_mangled ) {
     721        if ( decl->linkage.is_overloadable ) {
    722722                // Check that a Cforall declaration doesn't override any C declaration
    723723                if ( hasCompatibleCDecl( name, mangleName ) ) {
     
    812812                if ( decl.second.scope != scope ) continue;
    813813                // check for C decl with compatible type (by mangleName)
    814                 if ( ! decl.second.id->linkage.is_mangled && decl.first == mangleName ) return true;
     814                if ( !decl.second.id->linkage.is_overloadable && decl.first == mangleName ) return true;
    815815        }
    816816
     
    829829                if ( decl.second.scope != scope ) continue;
    830830                // check for C decl with incompatible type (by manglename)
    831                 if ( ! decl.second.id->linkage.is_mangled && decl.first != mangleName ) return true;
     831                if ( !decl.second.id->linkage.is_overloadable && decl.first != mangleName ) return true;
    832832        }
    833833
Note: See TracChangeset for help on using the changeset viewer.