- added support for manual selection of multiple/single symbol space via -fmultiple-symbol-spaces or -fno-multiple-symbol-spaces.
git-svn-id: file:///srv/svn/repos/haiku/trunk/buildtools@10352 a95241bf-73f2-0310-859d-f6bbb57e9c96
Diff
gcc/gcc/cp/cp-tree.h | 3 +++
gcc/gcc/cp/decl2.c | 6 ++++++
gcc/gcc/cp/lang-options.h | 2 ++
gcc/gcc/cp/lex.c | 8 +++++---
4 files changed, 14 insertions(+), 5 deletions(-)
@@ -567,6 +567,9 @@
extern int flag_access_control;
int flag_multiple_symbol_spaces;
#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) SYM,
@@ -493,6 +493,9 @@
if `-fSTRING' is seen as an option.
(If `-fno-STRING' is seen as an option, the opposite value is stored.) */
int flag_multiple_symbol_spaces;
static struct { const char *string; int *variable; int on_value;}
lang_f_options[] =
{
@@ -526,6 +529,7 @@
{"implicit-inline-templates", &flag_implicit_inline_templates, 1},
{"implicit-templates", &flag_implicit_templates, 1},
{"labels-ok", &flag_labels_ok, 1},
{"multiple-symbol-spaces", &flag_multiple_symbol_spaces, 1},
{"nonansi-builtins", &flag_no_nonansi_builtin, 0},
{"operator-names", &flag_operator_names, 1},
{"optional-diags", &flag_optional_diags, 1},
@@ -2698,7 +2702,7 @@
}
}
if (!optimize)
if (!optimize || flag_multiple_symbol_spaces)
if (import_export == -1)
import_export = 0;
@@ -73,6 +73,8 @@
{ "-fno-labels-ok", "" },
{ "-fmemoize-lookups", "" },
{ "-fno-memoize-lookups", "" },
{ "-fmultiple-symbol-spaces", "Use multiple symbol spaces (symbol export/import)" },
{ "-fno-multiple-symbol-spaces", "" },
{ "-fname-mangling-version-", "" },
{ "-fnew-abi", "Enable experimental ABI changes" },
{ "-fno-new-abi", "" },
@@ -4890,18 +4890,18 @@
interface_only = interface_strcmp (main_filename);
if (!optimize)
if (!optimize || flag_multiple_symbol_spaces)
{
#ifdef WORK_AROUND_PRAGMA_INTERFACE_BUG
interface_only = 0;
interface_unknown = 1;
#else
if (! interface_only)
interface_unknown = 0;
if (! interface_only)
interface_unknown = 0;
#endif
}
else
interface_unknown = 0;
interface_unknown = 0;
TREE_INT_CST_LOW (fileinfo) = interface_only;
TREE_INT_CST_HIGH (fileinfo) = interface_unknown;