diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4987ae71e91..51f11f5287a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2002-12-19 Devang Patel + * gcc.c (struct default_compiler): Recognizes input file name with + .CPP extension as C++ source files + * cp/lang-spec.h: Same + * doc/invoke.texi: Add documentation for .CPP support. + 2002-12-19 Aldy Hernandez PR 8553 diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h index 2e9640c83e1..15af3d04b27 100644 --- a/gcc/cp/lang-specs.h +++ b/gcc/cp/lang-specs.h @@ -32,6 +32,7 @@ Boston, MA 02111-1307, USA. */ {".cpp", "@c++", 0}, {".c++", "@c++", 0}, {".C", "@c++", 0}, + {".CPP", "@c++", 0}, {"@c++", "%{E|M|MM:cc1plus -E %{!no-gcc:-D__GNUG__=%v1}\ %(cpp_options) %2 %(cpp_debug_options)}\ diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index baab4a9feba..f800c1e7dca 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -792,6 +792,7 @@ C header file (not to be compiled or linked). @itemx @var{file}.cp @itemx @var{file}.cxx @itemx @var{file}.cpp +@itemx @var{file}.CPP @itemx @var{file}.c++ @itemx @var{file}.C C++ source code which must be preprocessed. Note that in @samp{.cxx}, @@ -983,7 +984,7 @@ Display the version number and copyrights of the invoked GCC. @cindex suffixes for C++ source @cindex C++ source file suffixes C++ source files conventionally use one of the suffixes @samp{.C}, -@samp{.cc}, @samp{.cpp}, @samp{.c++}, @samp{.cp}, or @samp{.cxx}; +@samp{.cc}, @samp{.cpp}, @samp{.CPP}, @samp{.c++}, @samp{.cp}, or @samp{.cxx}; preprocessed C++ files use the suffix @samp{.ii}. GCC recognizes files with these names and compiles them as C++ programs even if you call the compiler the same way as for compiling C programs (usually with diff --git a/gcc/gcc.c b/gcc/gcc.c index 85f792b6786..618d2723208 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -886,7 +886,7 @@ static const struct compiler default_compilers[] = {".m", "#Objective-C", 0}, {".mi", "#Objective-C", 0}, {".cc", "#C++", 0}, {".cxx", "#C++", 0}, {".cpp", "#C++", 0}, {".cp", "#C++", 0}, {".c++", "#C++", 0}, {".C", "#C++", 0}, - {".ii", "#C++", 0}, + {".CPP", "#C++", 0}, {".ii", "#C++", 0}, {".ads", "#Ada", 0}, {".adb", "#Ada", 0}, {".f", "#Fortran", 0}, {".for", "#Fortran", 0}, {".fpp", "#Fortran", 0}, {".F", "#Fortran", 0}, {".FOR", "#Fortran", 0}, {".FPP", "#Fortran", 0},