-
Notifications
You must be signed in to change notification settings - Fork 6k
[Impeller] Don't double-convert include path encodings in ImpellerC #37408
Conversation
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat (don't just cc him here, he won't see it! He's on Discord!). If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
@@ -127,11 +127,17 @@ Switches::Switches(const fml::CommandLine& command_line) | |||
|
|||
// fml::OpenDirectoryReadOnly for Windows doesn't handle relative paths | |||
// beginning with `../` well, so we build an absolute path. | |||
|
|||
// Get the current working directory as a utf8 encoded string. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can this be unit tested in compiler_unittests.cc?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
8fd6719
to
523e0ba
Compare
5416ac4
to
28c4982
Compare
Gold has detected about 72 new digest(s) on patchset 3. |
Golden file changes have been found for this pull request. Click here to view and triage (e.g. because this is an intentional change). If you are still iterating on this change and are not ready to resolve the images on the Flutter Gold dashboard, consider marking this PR as a draft pull request above. You will still be able to view image results on the dashboard, commenting will be silenced, and the check will not try to resolve itself until marked ready for review. |
…115025) * 6daa75ad4 Roll Skia from 0c8127b3dd7d to 6a056a26b3c5 (16 revisions) (flutter/engine#37438) * 6517ee8ee Roll Skia from 6a056a26b3c5 to 3cecb22c5827 (1 revision) (flutter/engine#37439) * c1200c44f Sdk roll failure - add facet to allowlist test_manager and other packages. (flutter/engine#37395) * 179154ec1 Revert "Sdk roll failure - add facet to allowlist test_manager and other packages. (#37395)" (flutter/engine#37449) * c171f27c4 Revert "Add rects to accumulator rather than bounds (#37435)" (flutter/engine#37444) * 583c71ce4 Clang-tidy: Fixed math on shard-id validator. (flutter/engine#37433) * d224648fc Roll Skia from 3cecb22c5827 to 94450cd1df4e (4 revisions) (flutter/engine#37445) * 5df42a87b Oops, accidentally compiled the non-null-safe platform file as null safe. (flutter/engine#37453) * 05455ac0a Roll Skia from 94450cd1df4e to 22526b55be02 (6 revisions) (flutter/engine#37455) * 9628070ee Roll Skia from 22526b55be02 to 511aa59461f3 (1 revision) (flutter/engine#37458) * fc7293441 [Impeller] Don't double-convert include path encodings in ImpellerC (flutter/engine#37408) * d82a2df8a Roll Skia from 511aa59461f3 to 790aedd91cd8 (2 revisions) (flutter/engine#37463) * be54e3ea0 Roll Skia from 790aedd91cd8 to fe143a0dc368 (3 revisions) (flutter/engine#37467) * 410f270e6 Roll Dart SDK from c15cdb978761 to 874a662f7507 (3 revisions) (flutter/engine#37466) * e778ca4e0 Roll Fuchsia Mac SDK from d4l6A1aPw6Z0YjxmA... to vEw8iuSZYmlfk1JiE... (flutter/engine#37468) * f8048be39 [Reland] Add rects to accumulator rather than bounds (#37435) (flutter/engine#37451) * 214b84137 Roll Dart SDK from 874a662f7507 to 4fcefaf03496 (1 revision) (flutter/engine#37470) * 8ecb1c913 [macOS] Remove OpenGL rendering backend (flutter/engine#37448) * 1a8888b51 Roll Skia from fe143a0dc368 to 0854badd5783 (1 revision) (flutter/engine#37471) * ca303bfd4 Roll Dart SDK from 4fcefaf03496 to fa6586382e5d (1 revision) (flutter/engine#37473) * 5d0df764b Use traingle strip for difference clip (flutter/engine#37469) * eeba9b3c8 Support HLSL ingestion in ImpellerC (flutter/engine#37461) * 5f88ee42b Use IndexError.check instead of RangeError.checkValidIndex in buffers. (flutter/engine#37450) * b65ac4ac4 Roll expat to 2.5.0 (flutter/engine#37383) * ddde8300e [sdk_roll_failure] add facet to allowlist test_manager and other packages. (flutter/engine#37479) * 62b581ee0 Roll CanvasKit to 0.37.1 (flutter/engine#37454) * aa4b3ea2f Turned on performance-unnecessary-value-param everywhere. (flutter/engine#37447)
…lutter#115025) * 6daa75ad4 Roll Skia from 0c8127b3dd7d to 6a056a26b3c5 (16 revisions) (flutter/engine#37438) * 6517ee8ee Roll Skia from 6a056a26b3c5 to 3cecb22c5827 (1 revision) (flutter/engine#37439) * c1200c44f Sdk roll failure - add facet to allowlist test_manager and other packages. (flutter/engine#37395) * 179154ec1 Revert "Sdk roll failure - add facet to allowlist test_manager and other packages. (flutter#37395)" (flutter/engine#37449) * c171f27c4 Revert "Add rects to accumulator rather than bounds (flutter#37435)" (flutter/engine#37444) * 583c71ce4 Clang-tidy: Fixed math on shard-id validator. (flutter/engine#37433) * d224648fc Roll Skia from 3cecb22c5827 to 94450cd1df4e (4 revisions) (flutter/engine#37445) * 5df42a87b Oops, accidentally compiled the non-null-safe platform file as null safe. (flutter/engine#37453) * 05455ac0a Roll Skia from 94450cd1df4e to 22526b55be02 (6 revisions) (flutter/engine#37455) * 9628070ee Roll Skia from 22526b55be02 to 511aa59461f3 (1 revision) (flutter/engine#37458) * fc7293441 [Impeller] Don't double-convert include path encodings in ImpellerC (flutter/engine#37408) * d82a2df8a Roll Skia from 511aa59461f3 to 790aedd91cd8 (2 revisions) (flutter/engine#37463) * be54e3ea0 Roll Skia from 790aedd91cd8 to fe143a0dc368 (3 revisions) (flutter/engine#37467) * 410f270e6 Roll Dart SDK from c15cdb978761 to 874a662f7507 (3 revisions) (flutter/engine#37466) * e778ca4e0 Roll Fuchsia Mac SDK from d4l6A1aPw6Z0YjxmA... to vEw8iuSZYmlfk1JiE... (flutter/engine#37468) * f8048be39 [Reland] Add rects to accumulator rather than bounds (flutter#37435) (flutter/engine#37451) * 214b84137 Roll Dart SDK from 874a662f7507 to 4fcefaf03496 (1 revision) (flutter/engine#37470) * 8ecb1c913 [macOS] Remove OpenGL rendering backend (flutter/engine#37448) * 1a8888b51 Roll Skia from fe143a0dc368 to 0854badd5783 (1 revision) (flutter/engine#37471) * ca303bfd4 Roll Dart SDK from 4fcefaf03496 to fa6586382e5d (1 revision) (flutter/engine#37473) * 5d0df764b Use traingle strip for difference clip (flutter/engine#37469) * eeba9b3c8 Support HLSL ingestion in ImpellerC (flutter/engine#37461) * 5f88ee42b Use IndexError.check instead of RangeError.checkValidIndex in buffers. (flutter/engine#37450) * b65ac4ac4 Roll expat to 2.5.0 (flutter/engine#37383) * ddde8300e [sdk_roll_failure] add facet to allowlist test_manager and other packages. (flutter/engine#37479) * 62b581ee0 Roll CanvasKit to 0.37.1 (flutter/engine#37454) * aa4b3ea2f Turned on performance-unnecessary-value-param everywhere. (flutter/engine#37447)
…lutter#115025) * 6daa75ad4 Roll Skia from 0c8127b3dd7d to 6a056a26b3c5 (16 revisions) (flutter/engine#37438) * 6517ee8ee Roll Skia from 6a056a26b3c5 to 3cecb22c5827 (1 revision) (flutter/engine#37439) * c1200c44f Sdk roll failure - add facet to allowlist test_manager and other packages. (flutter/engine#37395) * 179154ec1 Revert "Sdk roll failure - add facet to allowlist test_manager and other packages. (flutter#37395)" (flutter/engine#37449) * c171f27c4 Revert "Add rects to accumulator rather than bounds (flutter#37435)" (flutter/engine#37444) * 583c71ce4 Clang-tidy: Fixed math on shard-id validator. (flutter/engine#37433) * d224648fc Roll Skia from 3cecb22c5827 to 94450cd1df4e (4 revisions) (flutter/engine#37445) * 5df42a87b Oops, accidentally compiled the non-null-safe platform file as null safe. (flutter/engine#37453) * 05455ac0a Roll Skia from 94450cd1df4e to 22526b55be02 (6 revisions) (flutter/engine#37455) * 9628070ee Roll Skia from 22526b55be02 to 511aa59461f3 (1 revision) (flutter/engine#37458) * fc7293441 [Impeller] Don't double-convert include path encodings in ImpellerC (flutter/engine#37408) * d82a2df8a Roll Skia from 511aa59461f3 to 790aedd91cd8 (2 revisions) (flutter/engine#37463) * be54e3ea0 Roll Skia from 790aedd91cd8 to fe143a0dc368 (3 revisions) (flutter/engine#37467) * 410f270e6 Roll Dart SDK from c15cdb978761 to 874a662f7507 (3 revisions) (flutter/engine#37466) * e778ca4e0 Roll Fuchsia Mac SDK from d4l6A1aPw6Z0YjxmA... to vEw8iuSZYmlfk1JiE... (flutter/engine#37468) * f8048be39 [Reland] Add rects to accumulator rather than bounds (flutter#37435) (flutter/engine#37451) * 214b84137 Roll Dart SDK from 874a662f7507 to 4fcefaf03496 (1 revision) (flutter/engine#37470) * 8ecb1c913 [macOS] Remove OpenGL rendering backend (flutter/engine#37448) * 1a8888b51 Roll Skia from fe143a0dc368 to 0854badd5783 (1 revision) (flutter/engine#37471) * ca303bfd4 Roll Dart SDK from 4fcefaf03496 to fa6586382e5d (1 revision) (flutter/engine#37473) * 5d0df764b Use traingle strip for difference clip (flutter/engine#37469) * eeba9b3c8 Support HLSL ingestion in ImpellerC (flutter/engine#37461) * 5f88ee42b Use IndexError.check instead of RangeError.checkValidIndex in buffers. (flutter/engine#37450) * b65ac4ac4 Roll expat to 2.5.0 (flutter/engine#37383) * ddde8300e [sdk_roll_failure] add facet to allowlist test_manager and other packages. (flutter/engine#37479) * 62b581ee0 Roll CanvasKit to 0.37.1 (flutter/engine#37454) * aa4b3ea2f Turned on performance-unnecessary-value-param everywhere. (flutter/engine#37447)
Should fix the Windows-only customer test failure in flutter/flutter#114214.
It turns out that we were mangling includes with non-ascii unicode characters due to double encoding because:
fml::CommandLine
already converts utf16 paths to utf8 on Windows, andpath::u8string()
assumes the underlying path encoding is the native path encoding (and in this case it wasn't, because the paths were already encoded as utf8).