From nobody@FreeBSD.org  Fri Sep 27 12:04:10 2013
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by hub.freebsd.org (Postfix) with ESMTP id D0F5967D
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 27 Sep 2013 12:04:10 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from oldred.freebsd.org (oldred.freebsd.org [8.8.178.121])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mx1.freebsd.org (Postfix) with ESMTPS id A495526F4
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 27 Sep 2013 12:04:10 +0000 (UTC)
Received: from oldred.freebsd.org ([127.0.1.6])
	by oldred.freebsd.org (8.14.5/8.14.7) with ESMTP id r8RC49Eb065937
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 27 Sep 2013 12:04:09 GMT
	(envelope-from nobody@oldred.freebsd.org)
Received: (from nobody@localhost)
	by oldred.freebsd.org (8.14.5/8.14.5/Submit) id r8RC49PJ065932;
	Fri, 27 Sep 2013 12:04:09 GMT
	(envelope-from nobody)
Message-Id: <201309271204.r8RC49PJ065932@oldred.freebsd.org>
Date: Fri, 27 Sep 2013 12:04:09 GMT
From: Jan Beich <jbeich@tormail.org>
To: freebsd-gnats-submit@FreeBSD.org
Subject: [regression][patch] 'CC' (clang) binary is invoked in C mode, not C++; breaks devel/cmake
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         182442
>Category:       bin
>Synopsis:       [regression][patch] cc(1): 'CC' (clang) binary is invoked in C mode, not C++; breaks devel/cmake
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Sep 27 12:10:01 UTC 2013
>Closed-Date:    Sun Feb 23 15:06:44 UTC 2014
>Last-Modified:  Sun Feb 23 15:06:44 UTC 2014
>Originator:     Jan Beich
>Release:        FreeBSD 10.0-CURRENT amd64
>Organization:
>Environment:
CC was a hardlink to g++ before r242624 

>Description:

>How-To-Repeat:
$ cat CMakeLists.txt
project(foo)
cmake_minimum_required(VERSION 2.8)
include(CheckCXXSourceCompiles)
CHECK_CXX_SOURCE_COMPILES("
  #include <cmath>
  int main() {
    std::isnan(5);
    return 0;
  }
" STD_ISNAN_ACCEPTS_INTEGER)

$ cmake .
-- The C compiler identification is Clang 3.3.0
-- The CXX compiler identification is Clang 3.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/CC
-- Check for working CXX compiler: /usr/bin/CC -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Performing Test STD_ISNAN_ACCEPTS_INTEGER
-- Performing Test STD_ISNAN_ACCEPTS_INTEGER - Failed
-- Configuring done
-- Generating done
-- Build files have been written to: /path/to/cwd

>Fix:
--- invoke_in_cxx_mode.diff begins here ---
Index: contrib/llvm/tools/clang/tools/driver/driver.cpp
===================================================================
--- contrib/llvm/tools/clang/tools/driver/driver.cpp	(revision 255808)
+++ contrib/llvm/tools/clang/tools/driver/driver.cpp	(working copy)
@@ -284,11 +284,13 @@ static void ParseProgName(SmallVectorImpl<const ch
   } suffixes [] = {
     { "clang", false, false },
     { "clang++", true, false },
+    { "clang-CC", true, false },
     { "clang-c++", true, false },
     { "clang-cc", false, false },
     { "clang-cpp", false, true },
     { "clang-g++", true, false },
     { "clang-gcc", false, false },
+    { "CC", true, false },
     { "cc", false, false },
     { "cpp", false, true },
     { "++", true, false },
--- invoke_in_cxx_mode.diff ends here ---


>Release-Note:
>Audit-Trail:

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: bin/182442: commit references a PR
Date: Fri, 25 Oct 2013 09:09:07 +0000 (UTC)

 Author: smh
 Date: Fri Oct 25 09:09:00 2013
 New Revision: 257109
 URL: http://svnweb.freebsd.org/changeset/base/257109
 
 Log:
   Add clang-CC and CC to list of hints allowing clang to identify its operating
   mode as c++ instead of defaulting to c for the binary names CC and clang-CC.
   
   This fixes builds that use cmake, which automatically sets CXX to
   /usr/bin/CC by default.
   
   PR:		bin/182442
   Reviewed by:	dwhite, wca
   MFC after:	2 days
 
 Modified:
   head/contrib/llvm/tools/clang/tools/driver/driver.cpp
 
 Modified: head/contrib/llvm/tools/clang/tools/driver/driver.cpp
 ==============================================================================
 --- head/contrib/llvm/tools/clang/tools/driver/driver.cpp	Fri Oct 25 08:41:36 2013	(r257108)
 +++ head/contrib/llvm/tools/clang/tools/driver/driver.cpp	Fri Oct 25 09:09:00 2013	(r257109)
 @@ -284,11 +284,13 @@ static void ParseProgName(SmallVectorImp
    } suffixes [] = {
      { "clang", false, false },
      { "clang++", true, false },
 +    { "clang-CC", true, false },
      { "clang-c++", true, false },
      { "clang-cc", false, false },
      { "clang-cpp", false, true },
      { "clang-g++", true, false },
      { "clang-gcc", false, false },
 +    { "CC", true, false },
      { "cc", false, false },
      { "cpp", false, true },
      { "++", true, false },
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: bin/182442: commit references a PR
Date: Tue, 29 Oct 2013 11:36:39 +0000 (UTC)

 Author: smh
 Date: Tue Oct 29 11:36:31 2013
 New Revision: 257327
 URL: http://svnweb.freebsd.org/changeset/base/257327
 
 Log:
   MFC r257109:
   Add clang-CC and CC to list of hints allowing clang to identify its operating
   mode as c++ instead of defaulting to c for the binary names CC and clang-CC.
   
   This fixes builds that use cmake which automatically sets CXX to
   /usr/bin/CC by default.
   
   PR:		bin/182442
   Approved by:	re (glebius)
 
 Modified:
   stable/10/contrib/llvm/tools/clang/tools/driver/driver.cpp
 Directory Properties:
   stable/10/contrib/llvm/tools/clang/   (props changed)
 
 Modified: stable/10/contrib/llvm/tools/clang/tools/driver/driver.cpp
 ==============================================================================
 --- stable/10/contrib/llvm/tools/clang/tools/driver/driver.cpp	Tue Oct 29 11:28:11 2013	(r257326)
 +++ stable/10/contrib/llvm/tools/clang/tools/driver/driver.cpp	Tue Oct 29 11:36:31 2013	(r257327)
 @@ -284,11 +284,13 @@ static void ParseProgName(SmallVectorImp
    } suffixes [] = {
      { "clang", false, false },
      { "clang++", true, false },
 +    { "clang-CC", true, false },
      { "clang-c++", true, false },
      { "clang-cc", false, false },
      { "clang-cpp", false, true },
      { "clang-g++", true, false },
      { "clang-gcc", false, false },
 +    { "CC", true, false },
      { "cc", false, false },
      { "cpp", false, true },
      { "++", true, false },
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: bin/182442: commit references a PR
Date: Thu,  5 Dec 2013 21:52:00 +0000 (UTC)

 Author: dim
 Date: Thu Dec  5 21:51:53 2013
 New Revision: 259012
 URL: http://svnweb.freebsd.org/changeset/base/259012
 
 Log:
   MFC r257109:
   
   Add clang-CC and CC to list of hints allowing clang to identify its operating
   mode as c++ instead of defaulting to c for the binary names CC and clang-CC.
   
   This fixes builds that use cmake, which automatically sets CXX to
   /usr/bin/CC by default.
   
   PR:		bin/182442
   Reviewed by:	dwhite, wca
 
 Modified:
   stable/9/contrib/llvm/tools/clang/tools/driver/driver.cpp
 Directory Properties:
   stable/9/contrib/llvm/   (props changed)
   stable/9/contrib/llvm/tools/clang/   (props changed)
 
 Modified: stable/9/contrib/llvm/tools/clang/tools/driver/driver.cpp
 ==============================================================================
 --- stable/9/contrib/llvm/tools/clang/tools/driver/driver.cpp	Thu Dec  5 21:49:41 2013	(r259011)
 +++ stable/9/contrib/llvm/tools/clang/tools/driver/driver.cpp	Thu Dec  5 21:51:53 2013	(r259012)
 @@ -284,11 +284,13 @@ static void ParseProgName(SmallVectorImp
    } suffixes [] = {
      { "clang", false, false },
      { "clang++", true, false },
 +    { "clang-CC", true, false },
      { "clang-c++", true, false },
      { "clang-cc", false, false },
      { "clang-cpp", false, true },
      { "clang-g++", true, false },
      { "clang-gcc", false, false },
 +    { "CC", true, false },
      { "cc", false, false },
      { "cpp", false, true },
      { "++", true, false },
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: open->closed 
State-Changed-By: antoine 
State-Changed-When: Sun Feb 23 15:06:12 UTC 2014 
State-Changed-Why:  
The patch was merged to all branches with clang. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=182442 
>Unformatted:
