thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James E. King, III (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (THRIFT-4165) C++ build has many warnings under c++03 due to recent changes, cmake needs better platform-independent language level control
Date Tue, 04 Apr 2017 18:44:41 GMT

     [ https://issues.apache.org/jira/browse/THRIFT-4165?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

James E. King, III updated THRIFT-4165:
---------------------------------------
    Description: 
When not using -std=c++11 there are a number of build warnings coming out of gcc-4.6.x.  These
can be turned off specifically if C++11 support is not enabled for the compiler, but the compiler
allows some C99 extensions (with warning).

To better support C++ language levels, I propose changing the minimum required cmake version
to 3.1 to get access to CMAKE_CXX_STANDARD.  

# In DefineCmakeDefaults.cmake if it isn't set, set it to 11 allowing for decay, and disabling
compiler-specific language extensions.
# Add to the DefineOptions table output showing the language level
# Add some command-line options to disable common warnings that occur if you use an older
compiler, like "long long is a C99 thing" and "variadic macros are a C99 thing" and "register
keyword is deprecated and will be removed in c++1z" (note: register is only used in flex/bison
output right now).
# Update docker files as necessary to support new cmake minimum version.  Ubuntu and debian
need to change, centos6 is not used with cmake builds in CI, centos7 already has an adequate
version of cmake.

  was:When not using -std=c++11 there are a number of build warnings coming out of gcc-4.6.x.
 These can be turned off specifically if C++11 support is not enabled for the compiler, but
the compiler allows some C99 extensions (with warning).


> C++ build has many warnings under c++03 due to recent changes, cmake needs better platform-independent
language level control
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: THRIFT-4165
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4165
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.11.0
>         Environment: Ubuntu 14.04 with gcc-4.6 (c++03)
>            Reporter: James E. King, III
>            Assignee: James E. King, III
>            Priority: Minor
>
> When not using -std=c++11 there are a number of build warnings coming out of gcc-4.6.x.
 These can be turned off specifically if C++11 support is not enabled for the compiler, but
the compiler allows some C99 extensions (with warning).
> To better support C++ language levels, I propose changing the minimum required cmake
version to 3.1 to get access to CMAKE_CXX_STANDARD.  
> # In DefineCmakeDefaults.cmake if it isn't set, set it to 11 allowing for decay, and
disabling compiler-specific language extensions.
> # Add to the DefineOptions table output showing the language level
> # Add some command-line options to disable common warnings that occur if you use an older
compiler, like "long long is a C99 thing" and "variadic macros are a C99 thing" and "register
keyword is deprecated and will be removed in c++1z" (note: register is only used in flex/bison
output right now).
> # Update docker files as necessary to support new cmake minimum version.  Ubuntu and
debian need to change, centos6 is not used with cmake builds in CI, centos7 already has an
adequate version of cmake.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message