aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorNeil Booth <neil@daikokuya.demon.co.uk>2002-03-24 12:27:45 +0000
committerNeil Booth <neil@gcc.gnu.org>2002-03-24 12:27:45 +0000
commitaaf932068245d39888fc1efd7f887a6d60de76e5 (patch)
tree273845d7b4dc2112d82db2e2e8f9f5239af6a84c /gcc/cp
parent9e2da84c6a68dc73dfdd7ec04652ab5db8df3994 (diff)
downloadgcc-aaf932068245d39888fc1efd7f887a6d60de76e5.zip
gcc-aaf932068245d39888fc1efd7f887a6d60de76e5.tar.gz
gcc-aaf932068245d39888fc1efd7f887a6d60de76e5.tar.bz2
Removal of separate preprocessor cpp0.
* Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS, cpp0, install-common): Update. * c-common.c (flag_preprocess_only): New. (c_common_init): Preprocess for -E. * c-common.h (flag_preprocess_only): New. * c-decl.c (c_decode_option): Handle -E, and -std=c++98. * c-objc-common.c (c_init_decl_processing): Exit quickly for NULL return from c_common_init. * cpplib.h (cpp_preprocess_file): New. * cppmain.c (main, general_init, pfile, progname): Remove. (do_preprocessing): Rename cpp_preprocess_file, don't call cpp_finish. Don't close stdout here. (setup_callbacks): Update prototype. * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers): Update. * tradcpp.c (main): Ignore -quiet. cp: * decl2.c (cxx_decode_option): Handle -E. * lang-specs.h (default_compilers): Preprocess with cc1plus. * lex.c (cxx_init): Exit quickly if c_common_init returns NULL. objc: * lang-specs.h (default_compilers): Preprocess with cc1obj. Co-Authored-By: Aldy Hernandez <aldyh@redhat.com> From-SVN: r51256
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/decl2.c2
-rw-r--r--gcc/cp/lang-specs.h4
-rw-r--r--gcc/cp/lex.c2
4 files changed, 12 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index c61b191..df1bd57 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * decl2.c (cxx_decode_option): Handle -E.
+ * lang-specs.h (default_compilers): Preprocess with cc1plus.
+ * lex.c (cxx_init): Exit quickly if c_common_init returns NULL.
+
2002-03-23 Jakub Jelinek <jakub@redhat.com>
PR c++/6037
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index 2dbb663..6763b45 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -700,6 +700,8 @@ cxx_decode_option (argc, argv)
}
else return strings_processed;
}
+ else if (!strcmp (p, "-E"))
+ flag_preprocess_only = 1;
else if (!strcmp (p, "-ansi"))
flag_no_nonansi_builtin = 1, flag_ansi = 1,
flag_noniso_default_format_attributes = 0, flag_no_gnu_keywords = 1;
diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
index e48bf74..771ab59 100644
--- a/gcc/cp/lang-specs.h
+++ b/gcc/cp/lang-specs.h
@@ -35,13 +35,13 @@ Boston, MA 02111-1307, USA. */
{"@c++",
/* cc1plus has an integrated ISO C preprocessor. We should invoke
the external preprocessor if -save-temps is given. */
- "%{E|M|MM:cpp0 -lang-c++ %{!no-gcc:-D__GNUG__=%v1}\
+ "%{E|M|MM:cc1plus -E -lang-c++ %{!no-gcc:-D__GNUG__=%v1}\
%{!Wno-deprecated:-D__DEPRECATED}\
%{!fno-exceptions:-D__EXCEPTIONS}\
-D__GXX_ABI_VERSION=100\
%{ansi:-D__STRICT_ANSI__ -trigraphs -$} %(cpp_options)}\
%{!E:%{!M:%{!MM:\
- %{save-temps:cpp0 -lang-c++ \
+ %{save-temps:cc1plus -E -lang-c++ \
%{!no-gcc:-D__GNUG__=%v1}\
%{!Wno-deprecated:-D__DEPRECATED}\
%{!fno-exceptions:-D__EXCEPTIONS}\
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index 593f312..f0c6389 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -685,6 +685,8 @@ cxx_init (filename)
interface_unknown = 1;
filename = c_common_init (filename);
+ if (filename == NULL)
+ return NULL;
init_cp_pragma ();