Changeset 822332e for src/AST


Ignore:
Timestamp:
May 30, 2024, 2:36:08 PM (8 months ago)
Author:
Andrew Beach <ajbeach@…>
Branches:
master
Children:
0f5e8cd
Parents:
91b9e10
Message:

It seems clang uses different scoping rules for the trailing return of a scoped runction declaration. This form seems compatable with clang and gcc. Since I switched over to clang for testing I also cleaned up all errors that clang or gcc mentioned.

Location:
src/AST
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Pass.hpp

    r91b9e10 r822332e  
    352352
    353353        template< typename core_t >
    354         friend auto __pass::make_value_guard( core_t & core, int ) -> decltype( value_guard( core.at_cleanup ) );
     354        friend auto __pass::make_value_guard( core_t & core, int )
     355                -> decltype( __pass::value_guard( core.at_cleanup ) );
    355356public:
    356357
  • src/AST/Pass.proto.hpp

    r91b9e10 r822332e  
    326326template< typename core_t >
    327327static inline auto make_value_guard( core_t & core, int )
    328                 -> decltype( value_guard( core.at_cleanup ) ) {
     328                -> decltype( __pass::value_guard( core.at_cleanup ) ) {
    329329        // Requires guaranteed copy elision:
    330330        return value_guard( core.at_cleanup );
  • src/AST/Print.cpp

    r91b9e10 r822332e  
    103103        }
    104104
    105         static const char* Names[];
    106 
    107105        void print( const std::vector<ast::Label> & labels ) {
    108106                if ( labels.empty() ) return;
Note: See TracChangeset for help on using the changeset viewer.