svn commit: r226475 - head/lib/clang

Nali Toja nalitoja at gmail.com
Tue Oct 18 01:22:19 UTC 2011


Dimitry Andric <dim at FreeBSD.org> writes:

> Log:
>   Update llvm/clang's target triple (confusingly named LLVM_HOSTTRIPLE) to
>   $arch-unknown-freebsd10.0.
>
> Modified:
>   head/lib/clang/clang.build.mk
>
> Modified: head/lib/clang/clang.build.mk
> ==============================================================================
> --- head/lib/clang/clang.build.mk	Mon Oct 17 15:54:20 2011	(r226474)
> +++ head/lib/clang/clang.build.mk	Mon Oct 17 18:30:18 2011	(r226475)
> @@ -14,8 +14,7 @@ CFLAGS+= -O1
>  .endif
>  
>  TARGET_ARCH?=	${MACHINE_ARCH}
> -# XXX: 8.0, to keep __FreeBSD_cc_version happy
> -CFLAGS+=-DLLVM_HOSTTRIPLE=\"${TARGET_ARCH:C/amd64/x86_64/}-unknown-freebsd9.0\"
> +CFLAGS+=-DLLVM_HOSTTRIPLE=\"${TARGET_ARCH:C/amd64/x86_64/}-unknown-freebsd10.0\"

I think this results in __FreeBSD__ macro being defined as `1' and
subsequently breaking clangworld where its value is used, e.g.

  ===> lib/libarchive (all)
  In file included from /src/lib/libarchive/archive_check_magic.c:26:
  In file included from /src/lib/libarchive/archive_platform.h:81:
  In file included from /obj/src/tmp/usr/include/inttypes.h:33:
  /obj/src/tmp/usr/include/sys/stdint.h:59:21: error: redefinition of typedef 'int64_t' is invalid in C [-Wtypedef-
  redefinition]
  typedef __intmax_t              intmax_t;
                                  ^
  /src/lib/libarchive/config_freebsd.h:166:18: note: expanded from:
  #define intmax_t int64_t
                   ^
  /obj/src/tmp/usr/include/sys/_stdint.h:49:20: note: previous definition is here
  typedef __int64_t               int64_t;


More information about the svn-src-all mailing list