commit | 480bec3ea652886f46d4afad0d7446542d2fbf05 | [log] [tgz] |
---|---|---|
author | Fredrik Roubert <roubert@google.com> | Wed May 22 13:16:39 2019 -0700 |
committer | Fredrik Roubert <fredrik@roubert.name> | Thu Aug 15 19:17:25 2019 +0200 |
tree | 40a5d4ee1a7dbf922ee4517670e33ccfa0074e44 | |
parent | d8f14e22df79f3eaf72218118ae1274b0b7cbf47 [diff] |
ICU-20601 Wrap public ICU API compound macros in do { } while. This is the normal way of making compound macros behave like statements and allowing macro invocations that look like function calls to work just like if they were function calls. Before ICU 65, function-like, multi-statement ICU macros were just defined as series of statements wrapped in { } blocks and the caller could choose to either treat them as if they were actual functions and end the invocation with a trailing ; creating an empty statement after the block or else omit this trailing ; using the knowledge that the macro would expand to { }. To continue supporting code that depends on that old behaviour, on being able to omit the trailing ; when invoking one of these macros, the new surrounding do { } while is done through preprocessor defines that can easily be overridden at compile time, when needed.
This is the repository for the International Components for Unicode. The ICU project is under the stewardship of The Unicode Consortium.
Build | Status |
---|---|
TravisCI | |
Win x64 Release | |
Win x86 Release |
icu4c/
ICU for C/C++icu4j/
ICU for Javatools/
Toolsvendor/
Vendor dependenciesPlease see ./icu4c/LICENSE (C and J are under an identical license file.)
Copyright © 2016 and later Unicode, Inc. and others. All Rights Reserved. Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries. Terms of Use and License