Ignore:
Timestamp:
May 24, 2024, 2:22:10 PM (6 months ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
master
Children:
bfcd3af
Parents:
cad8c88 (diff), 2c8946b (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/FunctionSpec.hpp

    rcad8c88 rdc74231  
    2222namespace Function {
    2323
    24         /// Bitflags for function specifiers
    25         enum {
    26                 Inline   = 1 << 0,
    27                 Noreturn = 1 << 1,
    28                 Fortran  = 1 << 2,
    29                 NumSpecs      = 3
     24/// Bitflags for function specifiers
     25enum {
     26        Inline   = 1 << 0,
     27        Noreturn = 1 << 1,
     28        Fortran  = 1 << 2,
     29};
     30
     31/// Bitflag type for storage classes
     32struct spec_flags {
     33        union {
     34                unsigned int val;
     35                struct {
     36                        bool is_inline   : 1;
     37                        bool is_noreturn : 1;
     38                        bool is_fortran  : 1;
     39                };
    3040        };
    3141
    32         /// Bitflag type for storage classes
    33         struct spec_flags {
    34                 union {
    35                         unsigned int val;
    36                         struct {
    37                                 bool is_inline   : 1;
    38                                 bool is_noreturn : 1;
    39                                 bool is_fortran  : 1;
    40                         };
     42        constexpr spec_flags( unsigned int val = 0 ) : val(val) {}
     43};
    4144
    42                         // MakeBitfieldPrint( NumSpecs )
    43                 };
     45using Specs = bitfield<spec_flags>;
    4446
    45                 constexpr spec_flags( unsigned int val = 0 ) : val(val) {}
    46         };
     47}
    4748
    48         using Specs = bitfield<spec_flags>;
    49 }
    5049}
    5150
Note: See TracChangeset for help on using the changeset viewer.