Граф коммитов

18 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey f9285c1941 Bug 1618760 - Remove MSVC-specific include hacks in header wrappers. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D64708

--HG--
extra : moz-landing-system : lando
2020-02-28 21:41:18 +00:00
Justin Wood baa089903e Bug 1559975 - Make config/ lint with 'py2' and 'py3' r=catlee
Depends on D36091

Differential Revision: https://phabricator.services.mozilla.com/D36092

--HG--
extra : moz-landing-system : lando
2019-07-08 17:30:34 +00:00
Nika Layzell 568787b95f Bug 1448426 - Wrap windows.h to avoid problematic define statements, r=froydnj,glandium
By default, windows.h exposes a large number of problematic define statements
which are UpperCamelCase, such as a define from `CreateWindow` to
`CreateWindow{A,W}`.

As many of these names are generic (e.g. CreateFile, CreateWindow), they can
mess up Gecko code that may legitimately have its own methods with the same
names.

The header also defines some traditional SCREAMING_SNAKE_CASE defines which
can mess up our code by conflicting with local values.

This patch adds a simple code generator which generates wrappers for these
defines, and uses them to wrap the windows.h wrapper using the `stl_wrappers`
mechanism, allowing us to use windows.h in more places.

Differential Revision: https://phabricator.services.mozilla.com/D10932
2018-11-28 12:56:20 -05:00
arthur.iakab af07f9b9d4 Backed out 13 changesets (bug 1500948, bug 1509362, bug 1509591, bug 1448426, bug 1500949, bug 1487249, bug 1509930, bug 1500950, bug 1500944) for causing crashes and assertion failures on PBackgroundParent.cpp:696 CLOSED TREE
Backed out changeset c3fe435e473a (bug 1509362)
Backed out changeset 6494840edc17 (bug 1509591)
Backed out changeset 123b5d5a3637 (bug 1509591)
Backed out changeset bce195f98895 (bug 1509930)
Backed out changeset 66db13126408 (bug 1500950)
Backed out changeset 3b5fffae2d2b (bug 1500949)
Backed out changeset 71c3b3677db8 (bug 1500948)
Backed out changeset 784b3b56e2ab (bug 1500944)
Backed out changeset 0bad27401ddb (bug 1500944)
Backed out changeset e0f95dd96d54 (bug 1448426)
Backed out changeset c60fa11538db (bug 1487249)
Backed out changeset 0190d4ffa54f (bug 1487249)
Backed out changeset 3cd10aba9130 (bug 1487249)
2018-11-28 02:57:32 +02:00
Nika Layzell 9f648dce32 Bug 1448426 - Wrap windows.h to avoid problematic define statements, r=froydnj,glandium
By default, windows.h exposes a large number of problematic define statements
which are UpperCamelCase, such as a define from `CreateWindow` to
`CreateWindow{A,W}`.

As many of these names are generic (e.g. CreateFile, CreateWindow), they can
mess up Gecko code that may legitimately have its own methods with the same
names.

The header also defines some traditional SCREAMING_SNAKE_CASE defines which
can mess up our code by conflicting with local values.

This patch adds a simple code generator which generates wrappers for these
defines, and uses them to wrap the windows.h wrapper using the `stl_wrappers`
mechanism, allowing us to use windows.h in more places.

Differential Revision: https://phabricator.services.mozilla.com/D10932
2018-11-27 18:09:33 -05:00
Sylvestre Ledru a80feff40b bug 1463425 - Fix flake8/pep8 issue by hand in config/ r=gps
MozReview-Commit-ID: 6B60uh4n2nY

--HG--
extra : rebase_source : 4fd44789a9ee6376c72bae1132f73c81dd1eacbc
2018-05-22 06:22:46 -07:00
Sylvestre Ledru 3d085810e5 bug 1463425 - autopep8 on config/ r=gps
MozReview-Commit-ID: EaTAhH2CAee

--HG--
extra : rebase_source : f278cd9fc6e8f9db720c1430121ba91e0417c9b9
2018-05-22 00:01:01 +02:00
Mike Shal 523accbeb6 Bug 1407432 - Move stl wrapper generation into moz.build; r=froydnj
This is fairly straightforward to represent as a GENERATED_FILES, though
we have to take some care to construct the outputs tuple correctly. This
script needs to run during export, and unfortunately none of the STL
headers have proper file extensions, so the 'new' header is
special-cased in the recursive make backend to serve as a marker for
running it in the correct tier.

We can't remove the stl-headers file yet because it is still used for
the system header generation.

MozReview-Commit-ID: 3tQTOY0LAsQ

--HG--
extra : source : 828d43ec1b16edaac69c42f15561f26e209051f1
2017-11-08 17:42:27 -05:00
Phil Ringnalda 8ccc4ff982 Backed out 6 changesets (bug 1407432) on (wild) suspicion of causing failures in browser_sanitize-timespans.js, somehow
CLOSED TREE

Backed out changeset 86302df0b38a (bug 1407432)
Backed out changeset 5a967cc85e28 (bug 1407432)
Backed out changeset 828d43ec1b16 (bug 1407432)
Backed out changeset bacf04be0a48 (bug 1407432)
Backed out changeset 8d770908a5b9 (bug 1407432)
Backed out changeset ffe9aed0944f (bug 1407432)

MozReview-Commit-ID: 7D50rKeXLrn
2017-11-09 22:07:46 -08:00
Mike Shal 2fea117ba2 Bug 1407432 - Move stl wrapper generation into moz.build; r=froydnj
This is fairly straightforward to represent as a GENERATED_FILES, though
we have to take some care to construct the outputs tuple correctly. This
script needs to run during export, and unfortunately none of the STL
headers have proper file extensions, so the 'new' header is
special-cased in the recursive make backend to serve as a marker for
running it in the correct tier.

We can't remove the stl-headers file yet because it is still used for
the system header generation.

MozReview-Commit-ID: 3tQTOY0LAsQ

--HG--
extra : rebase_source : bd9f00e45a7bce4daaa0e1c16e22b28536658e37
2017-11-08 17:42:27 -05:00
Mike Hommey 8855262939 Bug 1269171 - Change how mozalloc.h is hooked in STL wrappers. r=froydnj
Since the introduction of the STL wrappers, they have included
mozalloc.h, and multiple times, we've hit header reentrancy problems,
and worked around them as best as we could.

Taking a step back, all mozalloc.h does is:
- declare moz_* allocator functions.
- define inline implementations of various operator new/delete variants.

The first only requires the functions to be declared before they are used,
so mozalloc.h only needs to be included before anything that would use
those functions.

The second doesn't actually require a specific order, as long as the
declaration for those functions comes before their use, and they are
either declared in <new> or implicitly by the C++ compiler.

So all in all, it doesn't matter that mozalloc.h is included before the
wrapped STL headers. What matters is that it's included when STL headers
are included. So arrange things such that mozalloc.h is included after
the first wrapped STL header is fully preprocessed (and all its includes
have been included).
2016-05-22 08:32:40 +09:00
Mike Hommey da1162a5e8 Bug 913005 - Avoid overwriting unchanged stl_wrappers. r=ted 2013-09-06 09:22:39 +09:00
Yati Sagade 999eeb2111 Bug 812179 - Removed hacks for Python < 2.6 from config/ [r=ted] 2013-02-27 22:30:56 +05:30
Gervase Markham 82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Chris Jones ce99d8226f Bug 557060: Interpose _Throw() on MSVC and centralize pseudo-throw code in mozalloc. r=ehsan sr=bsmedberg 2010-04-20 15:12:02 -05:00
Chris Jones a8c5a07cbb Bug 551254: Allow reviewed+approved STL headers to be included through <foo>. (<algorithm> and <vector> are provisionally in the list because of their use in libpr0n, but need to be reviewed in followup bug 556700 and bug 556701). r=ehsan,ted,zwol 2010-04-02 12:58:11 -05:00
Chris Jones d17ed699f3 Backed out changeset cec7b12eb5e3 2010-04-02 13:20:22 -05:00
Chris Jones f4b0fe954c Bug 551254: Allow reviewed+approved STL headers to be included through <foo>. (<algorithm> and <vector> are provisionally in the list because of their use in libpr0n, but need to be reviewed in followup bug 556700 and bug 556701). r=ehsan,ted,zwol 2010-04-02 12:58:11 -05:00