Skip to content

Conversation

roubert
Copy link
Member

@roubert roubert commented May 10, 2024

This was originally added in the year 2004 for ICU-3854 but is no longer needed with contemporary versions of MinGW where it instead as of GCC 14 causes this problem:

__STRICT_ANSI__ seems to have been undefined; this is not supported.

Checklist
  • Required: Issue filed: https://unicode-org.atlassian.net/browse/ICU-22721
  • Required: The PR title must be prefixed with a JIRA Issue number.
  • Required: The PR description must include the link to the Jira Issue, for example by completing the URL in the first checklist item
  • Required: Each commit message must be prefixed with a JIRA Issue number.
  • Issue accepted (done by Technical Committee after discussion)
  • Tests included, if applicable
  • API docs and/or User Guide docs changed or added, if applicable

This was originally added in the year 2004 for ICU-3854 but is no longer
needed with contemporary versions of MinGW where it instead as of GCC 14
causes this problem:

__STRICT_ANSI__ seems to have been undefined; this is not supported.
@roubert roubert marked this pull request as draft May 10, 2024 19:58
@roubert roubert changed the title ICU-22721 Delete obsolete __STRICT_ANSI__ workaround for MinGW. ICU-22721 Delete obsolete __STRICT_ANSI__ workaround for MinGW May 10, 2024
@roubert roubert marked this pull request as ready for review May 10, 2024 20:28
Copy link
Member

@markusicu markusicu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!

@markusicu markusicu merged commit 564c92d into unicode-org:main May 10, 2024
@roubert roubert deleted the mingw branch May 13, 2024 10:28
lazka added a commit to lazka/MINGW-packages that referenced this pull request Jun 20, 2024
icu is built without gnu extensions but in various places undefs
__STRICT_ANSI__ which enables code in the libstdc++ that depends on
gnu extensions.

We worked around this by enabling the specific extensions this required
but this upstream patch is better, to not touch __STRICT_ANSI__ in the
first place:

unicode-org/icu#3003
lazka added a commit to lazka/MINGW-packages that referenced this pull request Jun 20, 2024
icu is built without gnu extensions but in various places undefs
__STRICT_ANSI__ which enables code in the libstdc++ that depends on
gnu extensions.

We worked around this by enabling the specific extensions this required
but this upstream patch is better, to not touch __STRICT_ANSI__ in the
first place:

unicode-org/icu#3003
Mytherin added a commit to duckdb/duckdb that referenced this pull request Oct 3, 2024
… builds (#14154)

These two changes fix builds that don't use cmake unity described in
issue #14151

1. Remove header inclusion guard in windows_undefs.hpp to insure certain
Win32 macros are always undefined - this is okay because all these
#undef are guarded by `#ifdef WIN32`

2. Copy deletion of ICU undefine of `__STRICT_ANSI__` from ICU upstream
that conflicts with GCC-14 header files - this duplicates
unicode-org/icu#3003 - it would be better to
pull the latest ICU in but ICU is used in a customized way that would
require more effort - also looks like fix won't be released till ICU
75.2 which is not yet released -
https://unicode-org.atlassian.net/browse/ICU-22721
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants