Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bsls_platform: Updated Clang GCC version selection #142

Conversation

apaprocki
Copy link
Member

Clang, by default, defines pre-processor macros that indicate the
compiler is GCC and that it is specifically version 4.2.1. BDE
already previously overrode this selection to indicate version
4.4.0 because Clang supports features found in the latest version(s)
of GCC. This change makes Clang >= 3.3 mimic GCC 4.8.1, as both
compilers were the first versions to be C++ compliant in terms of
compiler features. This will make Clang >= 3.3 compilation correctly
include GCC atomic intrinsics that are present only in GCC >= 4.7.

@kpfleming
Copy link
Contributor

Please be sure not to refer to this as 'full C++11 support' in anything that is committed; GCC 4.8.x only provides full C++11 language support, not full library support.

Clang, by default, defines pre-processor macros that indicate the
compiler is GCC and that it is specifically version 4.2.1.  BDE
already previously overrode this selection to indicate version
4.4.0 because Clang supports features found in the latest version(s)
of GCC.  This change makes Clang >= 3.3 mimic GCC 4.8.1, as both
compilers were the first versions to be C++ compliant in terms of
compiler features.  This will make Clang >= 3.3 compilation correctly
include GCC atomic intrinsics that are present only in GCC >= 4.7.
@apaprocki apaprocki force-pushed the bsls-platform-clang-cmp-version branch from 8be3cfc to f65fd4f Compare November 10, 2014 23:12
@apaprocki
Copy link
Member Author

@kpfleming I updated the comment to be more diplomatic :)

@RMGiroux
Copy link
Contributor

Tracked along with bloomberg/bde-tools#6 as internal issue #58997308

@gstrauss
Copy link
Contributor

#169 and #169 are alternative to this pull request and more aggressive in treating Clang as an independent compiler, whereas this commit masquerades as a more recent version of GCC.

bloomberg/bde-tools#6 is still relevant to either choice.

@gstrauss
Copy link
Contributor

#169 has been merged, taking an alternative appoarch to this pull request. Can this pull request be closed?

@che2 che2 closed this Feb 25, 2015
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.

5 participants