Ignore:
Timestamp:
Mar 13, 2023, 6:25:27 PM (16 months ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, ast-experimental, master
Children:
02b1ac6
Parents:
1cdc052
Message:

add test for problem with anonymous naming across compilation units

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tests/linking/mangling/lib.cfa

    r1cdc052 r85a95cc  
    33name_but_a_typedefed_t a_typedefed_global;
    44
    5 struct {
    6         int some_int;
    7         int some_other_int;
    8 } a_global_with_no_type;
     5// Must be extern C to prevent name mangling.
     6extern "C" {
     7        // This declaration is necessary to create an instance of a_global_with_no_type.
     8        // typeof is a trick to get a_global_with_no_type's type because its type is anonymous.
     9        // Otherwise C generates conflicting types for a_global_with_no_type in .h and .c
     10        // because C uses name equivalence and the two anonymous types cannot have the same name.
     11        typeof(a_global_with_no_type) a_global_with_no_type;
     12}
Note: See TracChangeset for help on using the changeset viewer.