1 /* Definitions for specs for C++. 2 Copyright (C) 1995-2019 Free Software Foundation, Inc. 3 4 This file is part of GCC. 5 6 GCC is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 3, or (at your option) 9 any later version. 10 11 GCC is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GCC; see the file COPYING3. If not see 18 <http://www.gnu.org/licenses/>. */ 19 20 /* This is the contribution to the `default_compilers' array in gcc.c for 21 g++. */ 22 23 #ifndef CPLUSPLUS_CPP_SPEC 24 #define CPLUSPLUS_CPP_SPEC 0 25 #endif 26 27 {".cc", "@c++", 0, 0, 0}, 28 {".cp", "@c++", 0, 0, 0}, 29 {".cxx", "@c++", 0, 0, 0}, 30 {".cpp", "@c++", 0, 0, 0}, 31 {".c++", "@c++", 0, 0, 0}, 32 {".C", "@c++", 0, 0, 0}, 33 {".CPP", "@c++", 0, 0, 0}, 34 {".H", "@c++-header", 0, 0, 0}, 35 {".hpp", "@c++-header", 0, 0, 0}, 36 {".hp", "@c++-header", 0, 0, 0}, 37 {".hxx", "@c++-header", 0, 0, 0}, 38 {".h++", "@c++-header", 0, 0, 0}, 39 {".HPP", "@c++-header", 0, 0, 0}, 40 {".tcc", "@c++-header", 0, 0, 0}, 41 {".hh", "@c++-header", 0, 0, 0}, 42 {"@c++-header", 43 "%{E|M|MM:cc1plus -E %(cpp_options) %2 %(cpp_debug_options)}" 44 "%{!E:%{!M:%{!MM:" 45 " %{save-temps*|no-integrated-cpp:cc1plus -E" 46 " %(cpp_options) %2 -o %{save-temps*:%b.ii} %{!save-temps*:%g.ii} \n}" 47 " cc1plus %{save-temps*|no-integrated-cpp:-fpreprocessed" 48 " %{save-temps*:%b.ii} %{!save-temps*:%g.ii}}" 49 " %{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}" 50 " %(cc1_options) %2" 51 " %{!fsyntax-only:%{!S:-o %g.s}" 52 " %{!fdump-ada-spec*:%{!o*:--output-pch=%i.gch}" 53 " %W{o*:--output-pch=%*}}%V}}}}", 54 CPLUSPLUS_CPP_SPEC, 0, 0}, 55 {"@c++", 56 "%{E|M|MM:cc1plus -E %(cpp_options) %2 %(cpp_debug_options)}" 57 "%{!E:%{!M:%{!MM:" 58 " %{save-temps*|no-integrated-cpp:cc1plus -E" 59 " %(cpp_options) %2 -o %{save-temps*:%b.ii} %{!save-temps*:%g.ii} \n}" 60 " cc1plus %{save-temps*|no-integrated-cpp:-fpreprocessed" 61 " %{save-temps*:%b.ii} %{!save-temps*:%g.ii}}" 62 " %{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}" 63 " %(cc1_options) %2" 64 " %{!fsyntax-only:%(invoke_as)}}}}", 65 CPLUSPLUS_CPP_SPEC, 0, 0}, 66 {".ii", "@c++-cpp-output", 0, 0, 0}, 67 {"@c++-cpp-output", 68 "%{!E:%{!M:%{!MM:" 69 " cc1plus -fpreprocessed %i %(cc1_options) %2" 70 " %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, 71