activate MULTIPLE_SYMBOL_SPACES only if not optimizing (using a single

symbol space generates smaller object-files).


git-svn-id: file:///srv/svn/repos/haiku/trunk/buildtools@9617 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Oliver Tappe 2004-10-28 18:34:28 +00:00
parent c21fc23a27
commit 5c130f4191
2 changed files with 15 additions and 5 deletions

View File

@ -67,6 +67,8 @@ typedef struct priority_info_s {
int destructions_p;
} *priority_info;
extern int optimize; /* lives in toplev.c */
static tree get_sentry PROTO((tree));
static void mark_vtable_entries PROTO((tree));
static void grok_function_init PROTO((tree, tree));
@ -2696,10 +2698,9 @@ import_export_class (ctype)
}
}
#ifdef MULTIPLE_SYMBOL_SPACES
if (!optimize)
if (import_export == -1)
import_export = 0;
#endif
if (import_export)
{

View File

@ -86,6 +86,8 @@ static void parse_float PROTO((PTR));
static int is_global PROTO((tree));
static void init_filename_times PROTO((void));
extern int optimize; /* lives in toplev.c */
/* Given a file name X, return the nondirectory portion.
Keep in mind that X can be computed more than once. */
char *
@ -4879,12 +4881,19 @@ handle_cp_pragma (pname)
}
interface_only = interface_strcmp (main_filename);
#ifdef MULTIPLE_SYMBOL_SPACES
if (!optimize)
{ /* activate multiple symbol spaces */
#ifdef WORK_AROUND_PRAGMA_INTERFACE_BUG
interface_only = 0;
interface_unknown = 1;
#else /* WORK_AROUND_PRAGMA_INTERFACE_BUG */
if (! interface_only)
interface_unknown = 0;
#else /* MULTIPLE_SYMBOL_SPACES */
#endif /* WORK_AROUND_PRAGMA_INTERFACE_BUG */
}
else /* single symbol space: */
interface_unknown = 0;
#endif /* MULTIPLE_SYMBOL_SPACES */
TREE_INT_CST_LOW (fileinfo) = interface_only;
TREE_INT_CST_HIGH (fileinfo) = interface_unknown;