Skip to content
  • Adam Strzelecki's avatar
    C++: Basic support for C++11 user-defined literals · 42581129
    Adam Strzelecki authored
    
    
    1. Extends lexer so digit or string can be followed by underscore '_' and
       alphanumeric defining literal.
    
    2. Extends parser so it accepts operator"" _abc(...) user-defined literal
       definition.
    
    3. Adds Token::Flags.userDefinedLiteral bool flag field representing if token
       carries user-defined literal.
    
    4. Adds C++11 auto tests case with: 12_km, 0.5_Pa, 'c'_X, "abd"_L, u"xyz"_M
    
    5. All optional suffix scanning methods now return boolean if the suffix was
       found.
    
    6. Adds C++ Lexer tests for user-defined literals with C++11 feature enabled.
    
    This change however does not make QtCreator understand user-defined literal
    semantics, e.g. properly resolve type when applying custom literal operator.
    
    Change-Id: I30e62f025ec9fb11c39261985ea4d772b1a80949
    Reviewed-by: default avatarNikolai Kosjar <nikolai.kosjar@theqtcompany.com>
    42581129