Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generator fixes for Qt 6.7 (#224) #225

Merged
merged 17 commits into from
Jun 28, 2024
Merged

Generator fixes for Qt 6.7 (#224) #225

merged 17 commits into from
Jun 28, 2024

Commits on Jun 27, 2024

  1. Fix a problem with character after comment always added to macro defi…

    …nition
    
    This was especially problematic if the line ended with the comment,
    since then the next line would be added, too, even though the current
    one didn't end with a '\'
    usiems committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    cd7ec0a View commit details
    Browse the repository at this point in the history
  2. Fix comma being dropped from macro varargs argument

    This prevented QT6_DECL_NEW_OVERLOAD_TAIL from being expanded correctly
    usiems committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    15e0ad0 View commit details
    Browse the repository at this point in the history
  3. Also move friend function definitions to top-level scope if...

    they don't have an implementation.
    
    Often the friend definitions are the only definition there is, and we
    translate these definitions (currently always operators) to wrapper
    members then.
    usiems committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    5b0ecba View commit details
    Browse the repository at this point in the history
  4. Skip attributes that can occur after the enum identifier

    (this fixes some parser errors)
    usiems committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    de4c838 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    75f745e View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    66a1469 View commit details
    Browse the repository at this point in the history
  7. Qt 6.7 introduced macros to define comparison operators

    that might use the "spaceship" operator for C++20 and onwards.
    
    The generator had trouble to parse these. Simply replace the definitions
    with something that works for the generator.
    usiems committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    338e9d5 View commit details
    Browse the repository at this point in the history
  8. Qt sometimes uses the Qt::Disambiguated_t parameter (with a default v…

    …alue)
    
    to differentiate new methods with a different return value from the old,
    deprecated ones.
    usiems committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    d2d19a2 View commit details
    Browse the repository at this point in the history
  9. decltype can contain a comma-expression

    (this fixes some parser errors)
    usiems committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    949e944 View commit details
    Browse the repository at this point in the history
  10. Correctly parse string literals with a prefix (e.g. raw string: R"...")

    (this fixes some parser errors)
    usiems committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    611fe39 View commit details
    Browse the repository at this point in the history
  11. Ignore Q_GADGET_EXPORT for now, it doesn't help us

    (this fixes some parser errors)
    usiems committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    ef257b5 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    04dabfe View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    4eac84e View commit details
    Browse the repository at this point in the history
  14. Introduce alias names for types

    Add an entry "aliases" to a type entry in the type database, these types
    will automatically be changed to the main type in the generated code.
    
    This fixes the problem that in Qt 6.7 QAudio enums are used under the
    QtAudio alias. These enum names are now automatically mapped to the
    QAudio name with the right alias entries in the type database.
    
    This doesn't make QAudio available as QtAudio in Python, though.
    usiems committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    c9e2799 View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2024

  1. Configuration menu
    Copy the full SHA
    e66848a View commit details
    Browse the repository at this point in the history
  2. Better diagnostic output

    Print the place in the code where the (ambiguous) parser error was
    emitted (currently only for GCC and MSVC)
    usiems committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    35c65df View commit details
    Browse the repository at this point in the history
  3. Check for duplicates at one more place

    (should fix compare methods generated twice for Qt 5.12/5.15)
    usiems committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    ecce9b8 View commit details
    Browse the repository at this point in the history