Merge lp://qastaging/~vanvugt/mir/deprecate-without-pragmas into lp://qastaging/mir
Status: | Work in progress |
---|---|
Proposed branch: | lp://qastaging/~vanvugt/mir/deprecate-without-pragmas |
Merge into: | lp://qastaging/mir |
Diff against target: |
362 lines (+29/-40) 17 files modified
include/client/mir/events/event_builders.h (+9/-9) include/client/mir_toolkit/client_types.h (+1/-1) include/client/mir_toolkit/events/event.h (+2/-2) include/client/mir_toolkit/events/input_configuration_event.h (+3/-3) include/client/mir_toolkit/events/keymap_event.h (+1/-1) include/client/mir_toolkit/mir_buffer_stream.h (+1/-1) include/client/mir_toolkit/mir_surface.h (+1/-1) include/core/mir_toolkit/common.h (+6/-0) src/client/CMakeLists.txt (+1/-0) src/client/event.cpp (+0/-6) src/client/event_printer.cpp (+0/-3) src/common/CMakeLists.txt (+1/-0) src/common/events/event.cpp (+0/-6) src/include/common/mir/events/input_configuration_event.h (+1/-1) tests/CMakeLists.txt (+2/-0) tests/acceptance-tests/test_client_surface_events.cpp (+0/-3) tests/acceptance-tests/test_client_surfaces.cpp (+0/-3) |
To merge this branch: | bzr merge lp://qastaging/~vanvugt/mir/deprecate-without-pragmas |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Cemil Azizoglu (community) | Abstain | ||
Andreas Pokorny (community) | Disapprove | ||
Mir CI Bot | continuous-integration | Approve | |
Brandon Schaefer (community) | Disapprove | ||
Alan Griffiths | Disapprove | ||
Review via email:
|
Commit message
Demonstrate how to deprecate functions without requiring pragmas
where we still refer to them internally.
At present only src/client and tests/ are allowed to use deprecated
features. Anywhere else in the tree (or outside the tree) using them
will trigger a compiler error.
Description of the change
This solves the scaling problem of:
https:/
PROS:
* Less code, less diff required when deprecating functions.
* Easier to read.
* Portable to other compilers (by not using GCC extensions).
* No pragmas.
* Quicker and easier to verify a whole subdirectory is free from deprecated functionality.
CONS:
* Can only override deprecation per subdirectory or per file, not per-function within a file.
Unmerged revisions
- 3795. By Daniel van Vugt
-
Fix build failure
- 3794. By Daniel van Vugt
-
Convert deprecations that landed yesterday
- 3793. By Daniel van Vugt
-
Merge latest trunk
- 3792. By Daniel van Vugt
-
Merge latest trunk
- 3791. By Daniel van Vugt
-
Remove more pragmas
- 3790. By Daniel van Vugt
-
Demonstrate how to deprecate functions without requiring pragmas
where we still refer to them internally.This solves the scaling problem of:
https://code.launchpad .net/~mir- team/mir/ pragma- deprecated- functions/ +merge/ 309523
PASSED: Continuous integration, rev:3791 /mir-jenkins. ubuntu. com/job/ mir-ci/ 2075/ /mir-jenkins. ubuntu. com/job/ build-mir/ 2662 /mir-jenkins. ubuntu. com/job/ build-0- fetch/2725 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= vivid+overlay/ 2717 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= xenial+ overlay/ 2717 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= yakkety/ 2717 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= yakkety/ 2691 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= yakkety/ 2691/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= xenial+ overlay/ 2691 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= xenial+ overlay/ 2691/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= yakkety/ 2691 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= yakkety/ 2691/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= android, release= vivid+overlay/ 2691 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= android, release= vivid+overlay/ 2691/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= android, release= vivid+overlay/ 2691 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= android, release= vivid+overlay/ 2691/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= mesa,release= xenial+ overlay/ 2691 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= mesa,release= xenial+ overlay/ 2691/artifact/ output/ *zip*/output. zip
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild: /mir-jenkins. ubuntu. com/job/ mir-ci/ 2075/rebuild
https:/