[Cmake-commits] CMake branch, next, updated. v3.5.0-571-g235feb1

Brad King brad.king at kitware.com
Mon Mar 21 10:52:15 EDT 2016


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  235feb1ece8d676a8597429c8461036ddf8f6732 (commit)
       via  53c0dc2dd2216b7927787e6d819a9a734be2c0eb (commit)
      from  94df6f753ecbf286f8798eecb2f1f3c25f8893fc (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=235feb1ece8d676a8597429c8461036ddf8f6732
commit 235feb1ece8d676a8597429c8461036ddf8f6732
Merge: 94df6f7 53c0dc2
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Mar 21 10:52:14 2016 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Mar 21 10:52:14 2016 -0400

    Merge topic 'add-bruce-c' into next
    
    53c0dc2d Add support for Bruce C Compiler (BCC)


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=53c0dc2dd2216b7927787e6d819a9a734be2c0eb
commit 53c0dc2dd2216b7927787e6d819a9a734be2c0eb
Author:     Paweł Stankowski <aambitny at gmail.com>
AuthorDate: Sun Mar 20 10:42:19 2016 +0100
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Mar 21 10:51:50 2016 -0400

    Add support for Bruce C Compiler (BCC)
    
    Revise C compiler detection code to be K&R compatible.

diff --git a/Help/release/dev/add-bruce-c.rst b/Help/release/dev/add-bruce-c.rst
new file mode 100644
index 0000000..9e47900
--- /dev/null
+++ b/Help/release/dev/add-bruce-c.rst
@@ -0,0 +1,4 @@
+add-bruce-c
+-----------
+
+* Support was added for the Bruce C Compiler with compiler id ``Bruce``.
diff --git a/Help/variable/CMAKE_LANG_COMPILER_ID.rst b/Help/variable/CMAKE_LANG_COMPILER_ID.rst
index 81976a9..ebd616e 100644
--- a/Help/variable/CMAKE_LANG_COMPILER_ID.rst
+++ b/Help/variable/CMAKE_LANG_COMPILER_ID.rst
@@ -12,6 +12,7 @@ include:
   ADSP = Analog VisualDSP++ (analog.com)
   AppleClang = Apple Clang (apple.com)
   ARMCC = ARM Compiler (arm.com)
+  Bruce = Bruce C Compiler
   CCur = Concurrent Fortran (ccur.com)
   Clang = LLVM Clang (clang.llvm.org)
   Cray = Cray Compiler (cray.com)
diff --git a/Modules/CMakeCCompilerId.c.in b/Modules/CMakeCCompilerId.c.in
index 5bfe0fd..c107dfd 100644
--- a/Modules/CMakeCCompilerId.c.in
+++ b/Modules/CMakeCCompilerId.c.in
@@ -5,6 +5,11 @@
 #if defined(__18CXX)
 # define ID_VOID_MAIN
 #endif
+#if defined(__CLASSIC_C__)
+/* cv-qualifiers did not exist in K&R C */
+# define const
+# define volatile
+#endif
 
 @CMAKE_C_COMPILER_ID_CONTENT@
 
@@ -28,23 +33,28 @@ char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
 @CMAKE_C_COMPILER_ID_PLATFORM_CONTENT@
 @CMAKE_C_COMPILER_ID_ERROR_FOR_TEST@
 
-const char* info_language_dialect_default = "INFO" ":" "dialect_default["
-#if !defined(__STDC_VERSION__)
-  "90"
+#if !defined(__STDC__)
+# define C_DIALECT
 #elif __STDC_VERSION__ >= 201000L
-  "11"
+# define C_DIALECT "11"
 #elif __STDC_VERSION__ >= 199901L
-  "99"
+# define C_DIALECT "99"
 #else
+# define C_DIALECT "90"
 #endif
-"]";
+const char* info_language_dialect_default =
+  "INFO" ":" "dialect_default[" C_DIALECT "]";
 
 /*--------------------------------------------------------------------------*/
 
 #ifdef ID_VOID_MAIN
 void main() {}
 #else
+# if defined(__CLASSIC_C__)
+int main(argc, argv) int argc; char *argv[];
+# else
 int main(int argc, char* argv[])
+# endif
 {
   int require = 0;
   require += info_compiler[argc];
diff --git a/Modules/CMakeCompilerIdDetection.cmake b/Modules/CMakeCompilerIdDetection.cmake
index cbc0055..1d341e5 100644
--- a/Modules/CMakeCompilerIdDetection.cmake
+++ b/Modules/CMakeCompilerIdDetection.cmake
@@ -79,6 +79,7 @@ function(compiler_id_detection outvar lang)
     if (lang STREQUAL C)
       list(APPEND ordered_compilers
         TinyCC
+        Bruce
       )
     endif()
     list(APPEND ordered_compilers
diff --git a/Modules/CMakeDetermineCCompiler.cmake b/Modules/CMakeDetermineCCompiler.cmake
index e0b5468..f8c6303 100644
--- a/Modules/CMakeDetermineCCompiler.cmake
+++ b/Modules/CMakeDetermineCCompiler.cmake
@@ -87,6 +87,9 @@ else()
 
     # Try enabling ANSI mode on HP.
     "-Aa"
+
+    # Try compiling K&R-compatible code (needed by Bruce C Compiler).
+    "-D__CLASSIC_C__"
     )
 endif()
 
diff --git a/Modules/CMakePlatformId.h.in b/Modules/CMakePlatformId.h.in
index da99b9e..47eb00a 100644
--- a/Modules/CMakePlatformId.h.in
+++ b/Modules/CMakePlatformId.h.in
@@ -91,11 +91,11 @@
 #  define PLATFORM_ID "Windows3x"
 
 # else /* unknown platform */
-#  define PLATFORM_ID ""
+#  define PLATFORM_ID
 # endif
 
 #else /* unknown platform */
-# define PLATFORM_ID ""
+# define PLATFORM_ID
 
 #endif
 
@@ -145,7 +145,7 @@
 # endif
 
 #else
-#  define ARCHITECTURE_ID ""
+#  define ARCHITECTURE_ID
 #endif
 
 /* Convert integer to decimal digit literals.  */
diff --git a/Modules/Compiler/Bruce-C-DetermineCompiler.cmake b/Modules/Compiler/Bruce-C-DetermineCompiler.cmake
new file mode 100644
index 0000000..bb9f4b9
--- /dev/null
+++ b/Modules/Compiler/Bruce-C-DetermineCompiler.cmake
@@ -0,0 +1 @@
+set(_compiler_id_pp_test "defined(__BCC__)")
diff --git a/Modules/Compiler/Bruce-C.cmake b/Modules/Compiler/Bruce-C.cmake
new file mode 100644
index 0000000..23676ec
--- /dev/null
+++ b/Modules/Compiler/Bruce-C.cmake
@@ -0,0 +1,7 @@
+# Bruce C Compiler ignores "-g" flag and optimization cannot be
+# enabled here (it is implemented only for 8086 target).
+set (CMAKE_C_FLAGS_INIT "-D__CLASSIC_C__")
+set (CMAKE_C_FLAGS_DEBUG_INIT "-g")
+set (CMAKE_C_FLAGS_MINSIZEREL_INIT "-DNDEBUG")
+set (CMAKE_C_FLAGS_RELEASE_INIT "-DNDEBUG")
+set (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-g -DNDEBUG")

-----------------------------------------------------------------------

Summary of changes:
 Help/release/dev/add-bruce-c.rst                   |    4 ++++
 Help/variable/CMAKE_LANG_COMPILER_ID.rst           |    1 +
 Modules/CMakeCCompilerId.c.in                      |   22 ++++++++++++++------
 Modules/CMakeCompilerIdDetection.cmake             |    1 +
 Modules/CMakeDetermineCCompiler.cmake              |    3 +++
 Modules/CMakePlatformId.h.in                       |    6 +++---
 Modules/Compiler/Bruce-C-DetermineCompiler.cmake   |    1 +
 Modules/Compiler/{TinyCC-C.cmake => Bruce-C.cmake} |    7 +++----
 8 files changed, 32 insertions(+), 13 deletions(-)
 create mode 100644 Help/release/dev/add-bruce-c.rst
 create mode 100644 Modules/Compiler/Bruce-C-DetermineCompiler.cmake
 copy Modules/Compiler/{TinyCC-C.cmake => Bruce-C.cmake} (52%)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list