Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • O openapi-generator
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,476
    • Issues 3,476
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 402
    • Merge requests 402
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OpenAPI Tools
  • openapi-generator
  • Merge requests
  • !5125

[C++][Pistache] Add neutral discards to supress a potential -Wunused-parameter warning

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Administrator requested to merge github/fork/kuzkry/unused-parameters-empty-model-structs into master Jan 27, 2020
  • Overview 0
  • Commits 2
  • Pipelines 0
  • Changes 1

Created by: kuzkry

Note: this is dependent on #5124, so there is only one commit in this PR.

When useStructModel=true is set and a model specifies no properties and assuming no compilation errors, then a generated struct will not produce -Wunused-parameter warnings.

Unfortunately, I didn't find a nice and clean solution. My ideas include:

  • (void) argument or static_cast<void>(argument)
  • conditionally specify only type like const NoProperties& instead of const NoProperties& o, however that means a messier template
  • __attribute__((unused)) but this isn't standard
  • [[maybe_unused]] but it's C++17 so I guess it's a no-go
  • template <typename T> void ignore(T) {}

So I decided to use the first option as it's a noop for compilers but I dunno. If you have any better idea, let me know.

PR checklist

  • Read the contribution guidelines.
  • If contributing template-only or documentation-only changes which will change sample output, build the project before.
  • Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).
  • File the PR against the correct branch: master, 4.3.x, 5.0.x. Default: master.
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

@ravinikam @stkrwork @etherealjoy @MartinDelille @muttleyxd

P.S. I still 😉 refuse to run bin/openapi3/cpp-pistache-server-petstore.sh since the changes I get seem to be unrelated.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/kuzkry/unused-parameters-empty-model-structs