[PATCH] D12036: We shouldn't need to pass -fno-strict-aliasing when building clang with clang.

David Blaikie via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 14 11:01:18 PDT 2015


Have you tested this? I assume there are strict aliasing violations in
Clang/LLVM if we've had this turned on for a while.

(does strict aliasing still have the special case for enum type punning?
Becaues I've certainly seen (& fixed) that in a few places in Clang/LLVM)

On Fri, Aug 14, 2015 at 10:39 AM, Chris Bieneman via cfe-commits <
cfe-commits at lists.llvm.org> wrote:

> beanz created this revision.
> beanz added reviewers: bogner, echristo.
> beanz added a subscriber: cfe-commits.
>
> The code comments in the Makefile indicate this was put in place to
> support issues when building clang with GCC. Today clang's strict aliasing
> works, so we shouldn't pass -fno-strict-aliasing when building with clang.
>
> http://reviews.llvm.org/D12036
>
> Files:
>   CMakeLists.txt
>   Makefile
>
> Index: Makefile
> ===================================================================
> --- Makefile
> +++ Makefile
> @@ -67,8 +67,11 @@
>  #   http://gcc.gnu.org/PR41874
>  #   http://gcc.gnu.org/PR41838
>  #
> -# We can revisit this when LLVM/Clang support it.
> +# We don't need to do this if the host compiler is clang.
> +ifeq ($(shell cc -v 2>&1 | grep clang), "")
>  CXX.Flags += -fno-strict-aliasing
> +endif
> +
>
>  # Set up Clang's tblgen.
>  ifndef CLANG_TBLGEN
> Index: CMakeLists.txt
> ===================================================================
> --- CMakeLists.txt
> +++ CMakeLists.txt
> @@ -253,7 +253,10 @@
>
>  # Add appropriate flags for GCC
>  if (LLVM_COMPILER_IS_GCC_COMPATIBLE)
> -  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-common
> -Woverloaded-virtual -fno-strict-aliasing")
> +  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-common
> -Woverloaded-virtual")
> +  if (NOT LLVM_COMPILER_IS_CLANG)
> +    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing")
> +  endif ()
>
>    # Enable -pedantic for Clang even if it's not enabled for LLVM.
>    if (NOT LLVM_ENABLE_PEDANTIC)
>
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150814/4eac4a99/attachment.html>


More information about the cfe-commits mailing list