diff options
author | Jason Merrill <jason@gcc.gnu.org> | 1997-08-19 18:37:19 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 1997-08-19 18:37:19 -0400 |
commit | da20811c09fa4146938034c32311a290c59c394d (patch) | |
tree | c8c543d8e3d26335e4c36b96311e6dad36aef6fc /gcc/cp/decl2.c | |
parent | 62d65906d6dfa51febd5ff9ec86e50ddc21d2514 (diff) | |
download | gcc-da20811c09fa4146938034c32311a290c59c394d.tar.gz |
merge
From-SVN: r14852
Diffstat (limited to 'gcc/cp/decl2.c')
-rw-r--r-- | gcc/cp/decl2.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index b4fced4a127..5af605a83e1 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -158,11 +158,10 @@ int warn_ctor_dtor_privacy = 1; /* True if we want to implement vtables using "thunks". The default is off. */ -#if defined(NEW_OVER) && defined (__i386__) -int flag_vtable_thunks = 1; -#else -int flag_vtable_thunks; +#ifndef DEFAULT_VTABLE_THUNKS +#define DEFAULT_VTABLE_THUNKS 0 #endif +int flag_vtable_thunks = DEFAULT_VTABLE_THUNKS; /* True if we want to deal with repository information. */ @@ -246,7 +245,12 @@ int warn_pmf2ptr = 1; /* Nonzero means warn about violation of some Effective C++ style rules. */ -int warn_ecpp = 0; +int warn_ecpp; + +/* Nonzero means warn where overload resolution chooses a promotion from + unsigned to signed over a conversion to an unsigned of the same size. */ + +int warn_sign_promo; /* Nonzero means `$' can be in an identifier. See cccp.c for reasons why this breaks some obscure ANSI C programs. */ @@ -409,6 +413,7 @@ static struct { char *string; int *variable; int on_value;} lang_f_options[] = {"all-virtual", &flag_all_virtual, 1}, {"memoize-lookups", &flag_memoize_lookups, 1}, {"elide-constructors", &flag_elide_constructors, 1}, + {"handle-exceptions", &flag_exceptions, 1}, {"handle-signatures", &flag_handle_signatures, 1}, {"default-inline", &flag_default_inline, 1}, {"dollars-in-identifiers", &dollars_in_ident, 1}, @@ -470,13 +475,17 @@ lang_decode_option (p) p += 2; /* Try special -f options. */ + if (!strcmp (p, "handle-exceptions") + || !strcmp (p, "no-handle-exceptions")) + warning ("-fhandle-exceptions has been renamed to -fexceptions (and is now on by default)"); + if (!strcmp (p, "save-memoized")) { flag_memoize_lookups = 1; flag_save_memoized_contexts = 1; found = 1; } - if (!strcmp (p, "no-save-memoized")) + else if (!strcmp (p, "no-save-memoized")) { flag_memoize_lookups = 0; flag_save_memoized_contexts = 0; @@ -585,6 +594,8 @@ lang_decode_option (p) warn_pmf2ptr = setting; else if (!strcmp (p, "effc++")) warn_ecpp = setting; + else if (!strcmp (p, "sign-promo")) + warn_sign_promo = setting; else if (!strcmp (p, "comment")) ; /* cpp handles this one. */ else if (!strcmp (p, "comments")) @@ -613,6 +624,7 @@ lang_decode_option (p) warn_uninitialized = (setting ? 2 : 0); warn_template_debugging = setting; warn_reorder = setting; + warn_sign_promo = setting; } else if (!strcmp (p, "overloaded-virtual")) |