(root)/
gcc-13.2.0/
gcc/
objcp/
lang-specs.h
       1  /* Definitions for specs for Objective-C++.
       2     Copyright (C) 2005-2023 Free Software Foundation, Inc.
       3     Contributed by Ziemowit Laski  <zlaski@apple.com>
       4  
       5  This file is part of GCC.
       6  
       7  GCC is free software; you can redistribute it and/or modify
       8  it under the terms of the GNU General Public License as published by
       9  the Free Software Foundation; either version 3, or (at your option)
      10  any later version.
      11  
      12  GCC is distributed in the hope that it will be useful,
      13  but WITHOUT ANY WARRANTY; without even the implied warranty of
      14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      15  GNU General Public License for more details.
      16  
      17  You should have received a copy of the GNU General Public License
      18  along with GCC; see the file COPYING3.  If not see
      19  <http://www.gnu.org/licenses/>.  */
      20  
      21  
      22  /* This is the contribution to the `default_compilers' array in gcc.cc for
      23     obj-c++.  It is based on -- and should be kept in sync with -- the g++
      24     spec (found in cp/lang-specs.h).  */
      25  
      26  #ifndef CPLUSPLUS_CPP_SPEC
      27  #define CPLUSPLUS_CPP_SPEC 0
      28  #endif
      29  
      30    {".mm",  "@objective-c++", 0, 0, 0},
      31    {".M",   "@objective-c++", 0, 0, 0},
      32    {"@objective-c++-header",
      33      "%{E|M|MM:cc1objplus -E %(cpp_options) %2 %(cpp_debug_options)}\
      34       %{!E:%{!M:%{!MM:\
      35         %{save-temps*|no-integrated-cpp:cc1objplus -E\
      36  		%(cpp_options) %2 -o %{save-temps*:%b.mii} %{!save-temps*:%g.mii} \n}\
      37        cc1objplus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.mii} %{!save-temps*:%g.mii}}\
      38  	      %{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\
      39  	%(cc1_options) %2\
      40          -o %g.s %{!o*:--output-pch %i.gch} %W{o*:--output-pch %*}%V}}}",
      41       CPLUSPLUS_CPP_SPEC, 0, 0},
      42    {"@objective-c++",
      43      "%{E|M|MM:cc1objplus -E %(cpp_options) %2 %(cpp_debug_options)}\
      44       %{!E:%{!M:%{!MM:\
      45         %{save-temps*|no-integrated-cpp:cc1objplus -E\
      46  		%(cpp_options) %2 -o %{save-temps*:%b.mii} %{!save-temps*:%g.mii} \n}\
      47        cc1objplus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.mii} %{!save-temps*:%g.mii}}\
      48  	      %{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\
      49  	%(cc1_options) %2\
      50         %{!fsyntax-only:%(invoke_as)}}}}",
      51       CPLUSPLUS_CPP_SPEC, 0, 0},
      52    {".mii", "@objective-c++-cpp-output", 0, 0, 0},
      53    {"@objective-c++-cpp-output",
      54     "%{!M:%{!MM:%{!E:\
      55      cc1objplus -fpreprocessed %i %(cc1_options) %2\
      56      %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
      57    {"@objc++-cpp-output",
      58     "%nobjc++-cpp-output is deprecated; please use objective-c++-cpp-output instead\n\
      59      %{!M:%{!MM:%{!E:\
      60      cc1objplus -fpreprocessed %i %(cc1_options) %2\
      61      %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},