shebs 02/08/26 13:08:13
Modified: libiberty cp-demangle.c
libstdc++-v3 configure.target
gcc c-common.c c-common.h c-lang.c c-opts.c c-tree.h
c-typeck.c cppinit.c cpplex.c cppmacro.c
fix-header.c flags.h gcc.c global.c idebug.c
gcc/config darwin.c darwin.h
gcc/config/i386 darwin.h i386.h
gcc/config/m68k m68k.c
gcc/config/rs6000 darwin.h rs6000.c rs6000.md
gcc/cp call.c cp-dmp-tree.c cp-idebug.c cp-lang.c
cp-parse.in decl2.c lang-specs.h typeck.c
gcc/ginclude stdarg.h stddef.h varargs.h
gcc/objc lang-specs.h objc-act.c objc-lang.c
gcc/objcp lang-specs.h objcp-decl.c
Log:
Make everything build, fix up the migrated options, clear a bit of
merge detritus.
Revision Changes Path
1.9 +8 -0 gcc3/libiberty/cp-demangle.c
Index: cp-demangle.c
===================================================================
RCS file: /cvs/Darwin/gcc3/libiberty/cp-demangle.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- cp-demangle.c 2002/08/02 10:10:28 1.8
+++ cp-demangle.c 2002/08/26 20:07:57 1.9
@@ -2088,15 +2088,19 @@
{
static const char *const ctor_flavors[] =
{
+ /* APPLE LOCAL decloning structors */
"in-charge", /* Indexed as "C1", "C2", ... */
"not-in-charge",
+ /* APPLE LOCAL decloning structors */
"allocating",
"unified"
};
static const char *const dtor_flavors[] =
{
+ /* APPLE LOCAL decloning structors */
"in-charge deleting", /* Indexed as "D0", "D1", ... */
"in-charge",
+ /* APPLE LOCAL decloning structors */
"not-in-charge",
"",
"unified"
@@ -2112,6 +2116,7 @@
/* A constructor name. Consume the C. */
advance_char (dm);
flavor = next_char (dm);
+ /* APPLE LOCAL decloning structors */
if (flavor < '1' || flavor > '4')
return "Unrecognized constructor.";
RETURN_IF_ERROR (result_add_string (dm, dm->last_source_name));
@@ -2123,6 +2128,7 @@
break;
case '3': dm->is_constructor = gnu_v3_complete_object_allocating_ctor;
break;
+ /* APPLE LOCAL decloning structors */
case '4': dm->is_constructor = gnu_v3_unified_ctor;
break;
}
@@ -2139,6 +2145,7 @@
/* A destructor name. Consume the D. */
advance_char (dm);
flavor = next_char (dm);
+ /* APPLE LOCAL decloning structors */
if (flavor < '0' || flavor > '4' || flavor == '3')
return "Unrecognized destructor.";
RETURN_IF_ERROR (result_add_char (dm, '~'));
@@ -2151,6 +2158,7 @@
break;
case '2': dm->is_destructor = gnu_v3_base_object_dtor;
break;
+ /* APPLE LOCAL decloning structors */
case '4': dm->is_destructor = gnu_v3_unified_dtor;
break;
}
1.17 +0 -3 gcc3/libstdc++-v3/configure.target
Index: configure.target
===================================================================
RCS file: /cvs/Darwin/gcc3/libstdc++-v3/configure.target,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- configure.target 2002/08/26 05:42:06 1.16
+++ configure.target 2002/08/26 20:07:57 1.17
@@ -106,9 +106,6 @@
x86_64*)
cpu_include_dir="cpu/x86-64"
;;
- *)
- cpu_include_dir="config/cpu/generic"
- ;;
esac
1.74 +39 -1 gcc3/gcc/c-common.c
Index: c-common.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/c-common.c,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -r1.73 -r1.74
--- c-common.c 2002/08/26 05:39:27 1.73
+++ c-common.c 2002/08/26 20:07:57 1.74
@@ -588,7 +588,8 @@
/* Nonzero means make the default pedwarns warnings instead of errors.
The value of this flag is ignored if -pedantic is specified. */
-int flag_permissive;
+/* APPLE LOCAL be permissive by default */
+int flag_permissive = 1;
/* Nonzero means to implement standard semantics for exception
specifications, calling unexpected if an exception is thrown that
@@ -596,6 +597,43 @@
assertions and optimize accordingly, but not check them. */
int flag_enforce_eh_specs = 1;
+
+/* APPLE LOCAL begin -findirect-virtual-calls 2001-10-30 sts */
+/* Nonzero if all calls to virtual functions should cause indirection
+ through a vtable. */
+int flag_indirect_virtual_calls;
+/* APPLE LOCAL end -findirect-virtual-calls 2001-10-30 sts */
+
+/* APPLE LOCAL begin terminated-vtables */
+/* Nonzero means append a zero word to vtables. Used by darwin kernel
+ driver dynamic-loader to find the ends of vtables for patching. */
+int flag_terminated_vtables = 0;
+/* APPLE LOCAL end terminated-vtables */
+
+/* APPLE LOCAL begin private extern Radar 2872481 ilr */
+/* Nonzero if -fpreproceessed specified. This is needed by
+ init_reswords() so that it can make __private_extern__ have the
+ same rid code as extern when -fpreprocessed is specified. Normally
+ there is a -D on the command line for this. But if -fpreprocessed
+ was specified then macros aren't expanded. So we fake the token
+ value out using the rid code. */
+int flag_preprocessed = 0;
+/* APPLE LOCAL end private extern Radar 2872481 ilr */
+
+/* APPLE LOCAL begin apple-kext Radar #2849864 ilr */
+/* Nonzero if we're compiling in a gcc2.95-compatibility mode.
+ Implies -fterminated-vtables and -findirect-virtual-calls,
+ only-deleting-destructor support, 2.95 ptmfs, vptr initialisation,
+ constructors-returning-this... */
+int flag_apple_kext = 0;
+/* APPLE LOCAL end apple-kext ilr */
+
+/* APPLE LOCAL begin structor thunks */
+/* Nonzero if we prefer to clone con/de/structors. Alternative is to
+ gen multiple tiny thunk-esque things that call/jump to a unified
+ con/de/structor. This is a classic size/speed tradeoff. */
+int flag_clone_structors = 0;
+/* APPLE LOCAL end structor thunks */
/* Nonzero means warn about implicit declarations. */
1.55 +6 -1 gcc3/gcc/c-common.h
Index: c-common.h
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/c-common.h,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -r1.54 -r1.55
--- c-common.h 2002/08/26 05:39:27 1.54
+++ c-common.h 2002/08/26 20:07:58 1.55
@@ -493,6 +493,12 @@
extern int warn_long_double;
/* APPLE LOCAL end long double */
+/* APPLE LOCAL begin AltiVec */
+/* Nonzero means warn about deprecated use of 'long' vector types. */
+
+extern int warn_altivec_long_deprecated; /* radar 2841709 */
+/* APPLE LOCAL end AltiVec */
+
/* Nonzero means warn about deprecated conversion from string constant to
`char *'. */
@@ -877,7 +883,6 @@
This is a count, since unevaluated expressions can nest. */
extern int skip_evaluation;
-
/* C types are partitioned into three subsets: object, function, and
incomplete types. */
1.30 +5 -3 gcc3/gcc/c-lang.c
Index: c-lang.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/c-lang.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- c-lang.c 2002/08/26 05:39:28 1.29
+++ c-lang.c 2002/08/26 20:07:58 1.30
@@ -223,9 +223,11 @@
return 0;
}
-/* APPLE LOCAL remove unused maybe_building_objc_message_expr */
-
-/* APPLE LOCAL remove unused recognize_objc_keyword */
+int
+recognize_objc_keyword ()
+{
+ return 0;
+}
/* APPLE LOCAL move lookup_objc_ivar to stub-objc.c */
1.3 +39 -5 gcc3/gcc/c-opts.c
Index: c-opts.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/c-opts.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- c-opts.c 2002/08/26 05:39:28 1.2
+++ c-opts.c 2002/08/26 20:07:58 1.3
@@ -207,12 +207,16 @@
OPT("faccess-control", CL_CXX, OPT_faccess_control) \
OPT("fall-virtual", CL_CXX, OPT_fall_virtual) \
OPT("falt-external-templates",CL_CXX, OPT_falt_external_templates) \
- OPT("fasm", CL_ALL, OPT_fasm) \
/* APPLE LOCAL AltiVec */ \
OPT("faltivec", CL_ALL, OPT_faltivec) \
+ /* APPLE LOCAL -fapple-kext */ \
+ OPT("fapple-kext", CL_CXX, OPT_fapple_kext) \
+ OPT("fasm", CL_ALL, OPT_fasm) \
OPT("fbuiltin", CL_ALL, OPT_fbuiltin) \
OPT("fbuiltin-", CL_ALL | CL_JOINED, OPT_fbuiltin_) \
OPT("fcheck-new", CL_CXX, OPT_fcheck_new) \
+ /* APPLE LOCAL structor decloning */ \
+ OPT("fclone-structors", CL_CXX, OPT_fclone_structors) \
OPT("fcond-mismatch", CL_ALL, OPT_fcond_mismatch) \
OPT("fconserve-space", CL_CXX, OPT_fconserve_space) \
OPT("fconst-strings", CL_CXX, OPT_fconst_strings) \
@@ -239,6 +243,8 @@
OPT("fimplement-inlines", CL_CXX, OPT_fimplement_inlines) \
OPT("fimplicit-inline-templates", CL_CXX, OPT_fimplicit_inline_templates) \
OPT("fimplicit-templates", CL_CXX, OPT_fimplicit_templates) \
+ /* APPLE LOCAL -findirect-virtual-calls */ \
+ OPT("findirect-virtual-calls",CL_CXX, OPT_findirect_virtual_calls) \
OPT("flabels-ok", CL_CXX, OPT_flabels_ok) \
OPT("fms-extensions", CL_ALL, OPT_fms_extensions) \
OPT("fname-mangling-version-",CL_CXX | CL_JOINED, OPT_fname_mangling) \
@@ -263,6 +269,8 @@
OPT("fstrict-prototype", CL_CXX, OPT_fstrict_prototype) \
OPT("ftabstop=", CL_ALL | CL_JOINED, OPT_ftabstop) \
OPT("ftemplate-depth-", CL_CXX | CL_JOINED, OPT_ftemplate_depth) \
+ /* APPLE LOCAL -fterminated-vtables */ \
+ OPT("fterminated-vtables", CL_CXX, OPT_fterminated_vtables) \
OPT("fthis-is-variable", CL_CXX, OPT_fthis_is_variable) \
OPT("funsigned-bitfields", CL_ALL, OPT_funsigned_bitfields) \
OPT("funsigned-char", CL_ALL, OPT_funsigned_char) \
@@ -813,10 +821,8 @@
if (getenv ("QA_DISABLE_WERROR"))
{
cpp_opts->warnings_are_errors = !on;
-#if 0 /* APPLE MERGE how to keep these? */
- cpp_error (pfile, DL_WARNING, "-Werror ignored because QA_DISABLE_WERROR is
set.");
- cpp_error (pfile, DL_WARNING, "Warnings will not be treated as errors.");
-#endif
+ warning ("-Werror ignored because QA_DISABLE_WERROR is set.");
+ warning ("Warnings will not be treated as errors.");
}
/* APPLE LOCAL end -Werror 2002-21-01 dpatel */
break;
@@ -1104,6 +1110,14 @@
break;
/* APPLE LOCAL end AltiVec */
+ /* APPLE LOCAL begin -fapple-kext */
+ case OPT_fapple_kext:
+ flag_apple_kext = on;
+ flag_indirect_virtual_calls = 1;
+ flag_terminated_vtables = 1;
+ break;
+ /* APPLE LOCAL end -fapple-kext */
+
case OPT_fasm:
flag_no_asm = !on;
break;
@@ -1169,6 +1183,12 @@
flag_signed_char = !on;
break;
+ /* APPLE LOCAL begin structor decloning */
+ case OPT_fclone_structors:
+ flag_clone_structors = on;
+ break;
+ /* APPLE LOCAL end structor decloning */
+
case OPT_fcheck_new:
flag_check_new = on;
break;
@@ -1236,6 +1256,12 @@
flag_implicit_templates = on;
break;
+ /* APPLE LOCAL begin -findirect-virtual-calls */
+ case OPT_findirect_virtual_calls:
+ flag_indirect_virtual_calls = on;
+ break;
+ /* APPLE LOCAL end -findirect-virtual-calls */
+
case OPT_fms_extensions:
flag_ms_extensions = on;
break;
@@ -1262,6 +1288,8 @@
case OPT_fpreprocessed:
cpp_opts->preprocessed = on;
+ /* APPLE LOCAL private extern Radar 2872481 ilr */
+ flag_preprocessed = on;
break;
case OPT_frepo:
@@ -1299,6 +1327,12 @@
case OPT_ftemplate_depth:
max_tinst_depth = read_integral_parameter (arg, argv[0], 0);
break;
+
+ /* APPLE LOCAL begin -fterminated-vtables */
+ case OPT_fterminated_vtables:
+ flag_terminated_vtables = on;
+ break;
+ /* APPLE LOCAL end -fterminated-vtables */
case OPT_fvtable_gc:
flag_vtable_gc = on;
1.38 +0 -3 gcc3/gcc/c-tree.h
Index: c-tree.h
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/c-tree.h,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- c-tree.h 2002/08/26 05:39:28 1.37
+++ c-tree.h 2002/08/26 20:07:58 1.38
@@ -162,10 +162,7 @@
#define TYPE_ACTUAL_ARG_TYPES(NODE) TYPE_BINFO (NODE)
-/* APPLE LOCAL Objective-C++ */
-/* The ObjC function prototypes have been moved to c-common.h. */
/* in c-lang.c and objc-act.c */
-/* APPLE MERGE need these decls? */
extern tree lookup_interface PARAMS ((tree));
extern tree is_class_name PARAMS ((tree));
extern void objc_check_decl PARAMS ((tree));
1.42 +16 -14 gcc3/gcc/c-typeck.c
Index: c-typeck.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/c-typeck.c,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- c-typeck.c 2002/08/26 05:39:29 1.41
+++ c-typeck.c 2002/08/26 20:07:58 1.42
@@ -587,7 +587,6 @@
{
int val;
- /* APPLE MERGE is this right? */
/* Give maybe_objc_comptypes a crack at letting these types through. */
if ((val = objc_comptypes (ttl, ttr, 1)) >= 0)
return val;
@@ -3573,13 +3572,15 @@
if ((extra_warnings || warn_unused_value)
&& ! (TREE_CODE (TREE_VALUE (list)) == CONVERT_EXPR
&& VOID_TYPE_P (TREE_TYPE (TREE_VALUE (list)))))
- /* APPLE LOCAL: AltiVec */
- /* Inhibit bogus warnings for "vector int x = (vector int)(1,2,3,4);"
- Unfortunately, we have no way of knowing whether the expression
- we're currently parsing is part of a vector constant, so we just
- inhibit this warning when "-faltivec" was specified. I know, I know,
- it's a crummy solution, but it'll do for now. */
+ /* APPLE LOCAL begin AltiVec */
+ /* Inhibit bogus warnings for "vector int x = (vector
+ int)(1,2,3,4);" Unfortunately, we have no way of knowing
+ whether the expression we're currently parsing is part of a
+ vector constant, so we just inhibit this warning when
+ "-faltivec" was specified. I know, I know, it's a crummy
+ solution, but it'll do for now. */
if (!(flag_altivec && !extra_warnings))
+ /* APPLE LOCAL end AltiVec */
warning ("left-hand operand of comma expression has no effect");
/* When pedantic, a compound expression can be neither an lvalue
@@ -3615,8 +3616,8 @@
only in <protocol> qualifications. But when constructing cast expressions,
the protocols do matter and must be kept around. */
if (!flag_objc || !is_id (type))
- type = TYPE_MAIN_VARIANT (type);
/* APPLE LOCAL end protocol qual */
+ type = TYPE_MAIN_VARIANT (type);
#if 0
/* Strip NON_LVALUE_EXPRs since we aren't using as an lvalue. */
@@ -3679,15 +3680,17 @@
error ("cast to union type from type not present in union");
return error_mark_node;
}
-/* APPLE LOCAL: AltiVec - not written in target-independent manner!!! */
- /* Handle "(vector float)(vector unsigned long) (0x1,0x2,0x3,0x4)" which
- means a vector float using the given values (with no conversion.) */
+ /* APPLE LOCAL begin AltiVec */
+ /* Handle "(vector float)(vector unsigned long) (0x1,0x2,0x3,0x4)"
+ which means a vector float using the given values (with no
+ conversion.) */
else if (TREE_CODE (type) == VECTOR_TYPE && TREE_CODE (expr) == VECTOR_CST
&& TREE_TYPE (expr) != type)
{
TREE_TYPE (expr) = type;
return expr;
}
+ /* APPLE LOCAL end AltiVec */
else
{
tree otype, ovalue;
@@ -4810,9 +4813,8 @@
/* Handle scalar types, including conversions. */
if (code == INTEGER_TYPE || code == REAL_TYPE || code == POINTER_TYPE
-/* APPLE LOCAL: AltiVec */
- || code == ENUMERAL_TYPE || code == BOOLEAN_TYPE || code == COMPLEX_TYPE
- || code == VECTOR_TYPE)
+ /* APPLE LOCAL AltiVec */
+ || code == ENUMERAL_TYPE || code == BOOLEAN_TYPE || code == COMPLEX_TYPE ||
code == VECTOR_TYPE)
{
/* Note that convert_for_assignment calls default_conversion
for arrays and functions. We must not call it in the
1.69 +29 -34 gcc3/gcc/cppinit.c
Index: cppinit.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/cppinit.c,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -r1.68 -r1.69
--- cppinit.c 2002/08/26 05:39:31 1.68
+++ cppinit.c 2002/08/26 20:07:58 1.69
@@ -1512,42 +1512,10 @@
case N_OPTS: /* Shut GCC up. */
break;
-#if 0 /* APPLE MERGE */
- /* APPLE LOCAL begin -header-mapfile */
- case OPT_header_mapfile:
- if (CPP_OPTION (pfile, header_map) != NULL)
- cpp_error (pfile, DL_ERROR,
- "more than one `-header-mapfile' option specified; "
- "only one is allowed");
- else
- CPP_OPTION (pfile, header_map) = hmap_load_header_map (arg);
- break;
- /* APPLE LOCAL end -header-mapfile */
- /* APPLE LOCAL begin -inclusion-log-file */
- case OPT_inclusion_log_file:
- if (CPP_OPTION (pfile, inclusion_log_file) != NULL)
- cpp_error (pfile, DL_ERROR,
- "more than one `-inclusion-log-file' option specified; "
- "only one is allowed");
- else
- CPP_OPTION (pfile, inclusion_log_file) = ilog_open (arg);
- break;
- /* APPLE LOCAL end -inclusion-log-file */
- /* APPLE LOCAL -precomp-trustfile */
- case OPT_precomp_trustfile:
- break;
-
- /* APPLE LOCAL flag_objc */
- case OPT_lang_objcplusplus:
- flag_objc = 1;
- /* Fall through. */
- case OPT_lang_cplusplus:
- set_lang (pfile, CLK_GNUCXX);
- break;
- /* APPLE LOCAL fat builds */
+ /* APPLE LOCAL begin fat builds */
case OPT_arch:
break;
-#endif
+ /* APPLE LOCAL end fat builds */
case OPT_D:
new_pending_directive (pend, arg, cpp_define);
@@ -1675,6 +1643,33 @@
/* Add directory to end of path for includes. */
append_include_chain (pfile, xstrdup (arg), AFTER, 0);
break;
+
+ /* APPLE LOCAL begin -header-mapfile */
+ case OPT_header_mapfile:
+ if (CPP_OPTION (pfile, header_map) != NULL)
+ cpp_error (pfile, DL_ERROR,
+ "more than one `-header-mapfile' option specified; "
+ "only one is allowed");
+ else
+ CPP_OPTION (pfile, header_map) = hmap_load_header_map (arg);
+ break;
+ /* APPLE LOCAL end -header-mapfile */
+
+ /* APPLE LOCAL begin -inclusion-log-file */
+ case OPT_inclusion_log_file:
+ if (CPP_OPTION (pfile, inclusion_log_file) != NULL)
+ cpp_error (pfile, DL_ERROR,
+ "more than one `-inclusion-log-file' option specified; "
+ "only one is allowed");
+ else
+ CPP_OPTION (pfile, inclusion_log_file) = ilog_open (arg);
+ break;
+ /* APPLE LOCAL end -inclusion-log-file */
+
+ /* APPLE LOCAL begin -precomp-trustfile */
+ case OPT_precomp_trustfile:
+ break;
+ /* APPLE LOCAL end -precomp-trustfile */
}
}
return i + 1;
1.42 +0 -1 gcc3/gcc/cpplex.c
Index: cpplex.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/cpplex.c,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- cpplex.c 2002/08/07 03:13:07 1.41
+++ cpplex.c 2002/08/26 20:07:59 1.42
@@ -996,7 +996,6 @@
/* End of buffer. */
buffer->cur--;
-
if (continue_after_nul (pfile))
goto fresh_line;
/* APPLE LOCAL begin indexing dpatel */
1.46 +1 -1 gcc3/gcc/cppmacro.c
Index: cppmacro.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/cppmacro.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -r1.45 -r1.46
--- cppmacro.c 2002/08/26 05:39:32 1.45
+++ cppmacro.c 2002/08/26 20:07:59 1.46
@@ -1631,7 +1631,7 @@
if (node->type == NT_MACRO && !(node->flags & NODE_BUILTIN))
cpp_error_with_line (pfile, DL_PEDWARN,
node->value.macro->line, 0,
- "this is the location of the previous definition");
+ "this is the location of the previous definition");
}
/* APPLE LOCAL begin PFE dpatel */
else
1.19 +2 -0 gcc3/gcc/fix-header.c
Index: fix-header.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/fix-header.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- fix-header.c 2002/08/26 05:39:35 1.18
+++ fix-header.c 2002/08/26 20:07:59 1.19
@@ -1334,3 +1334,5 @@
to avoid unnecessary/unavoidable warnings/errors. */
int flag_cpp_precomp = 0;
/* APPLE LOCAL end cpp-precomp dpatel */
+
+int flag_objc = 0;
1.36 +0 -4 gcc3/gcc/flags.h
Index: flags.h
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/flags.h,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- flags.h 2002/08/22 13:59:13 1.35
+++ flags.h 2002/08/26 20:07:59 1.36
@@ -251,10 +251,6 @@
/* Nonzero means enable the AltiVec Programming Model. */
extern int flag_altivec;
-
-/* Nonzero means warn about deprecated use of 'long' vector types. */
-
-extern int warn_altivec_long_deprecated; /* radar 2841709 */
/* APPLE LOCAL end AltiVec */
/* APPLE LOCAL begin constant cfstrings */
1.140 +6 -6 gcc3/gcc/gcc.c
Index: gcc.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/gcc.c,v
retrieving revision 1.139
retrieving revision 1.140
diff -u -r1.139 -r1.140
--- gcc.c 2002/08/26 05:39:36 1.139
+++ gcc.c 2002/08/26 20:07:59 1.140
@@ -1005,24 +1005,24 @@
1) -no-cpp-precomp is used
2) PFE is used
*/
- "%{M|MM:%(trad_capable_cpp) -lang-c %{ansi:-std=c89} %(cpp_options)}\
+ "%{M|MM:%(trad_capable_cpp) %(cpp_options)}\
%{E|S:%{@:%e-E and -S are not allowed with multiple -arch flags}}\
%{E:\
%{traditional|ftraditional|traditional-cpp|no-cpp-precomp:\
- %(trad_capable_cpp) -lang-c %{ansi:-std=c89} %(cpp_options)}\
+ %(trad_capable_cpp) %(cpp_options)}\
%{!traditional:%{!ftraditional:%{!traditional-cpp:%{!no-cpp-precomp:\
%(cpp_precomp) -lang-c %{ansi:-std=c89} %(cpp_precomp_options) %y0}}}}}\
%{!E:%{!M:%{!MM:\
%{save-temps|no-integrated-cpp:\
%{no-cpp-precomp|traditional-cpp|fload=*|fdump=*:\
- %(trad_capable_cpp) -lang-c %{ansi:-std=c89} %(cpp_options)
%{save-temps:%b.i} %{!save-temps:%g.i} \n\
+ %(trad_capable_cpp) %(cpp_options) %{save-temps:%b.i}
%{!save-temps:%g.i} \n\
cc1 -fpreprocessed %{save-temps:%b.i} %{!save-temps:%g.i}
%(cc1_options)}\
%{cpp-precomp|!no-cpp-precomp:%{!traditional-cpp:%{!fdump=*:%{!fload=*:\
%(cpp_precomp) -lang-c %{ansi:-std=c89} %(cpp_precomp_options) %y0
%b.i \n\
cc1 -cpp-precomp %b.i %(cc1_options)}}}}}\
%{!save-temps:%{!no-integrated-cpp:\
%{traditional|ftraditional|traditional-cpp:%{!cpp-precomp:\
- tradcpp0 -lang-c %{ansi:-std=c89} %(cpp_options) %{!pipe:%g.i} |\n\
+ tradcpp0 %(cpp_options) %{!pipe:%g.i} |\n\
cc1 -fpreprocessed %{!pipe:%g.i} %(cc1_options)}}}\
%{!fdump=*:%{!fload=*:%{!no-cpp-precomp|cpp-precomp:%{!precomp:%{!traditional-cpp:\
%(cpp_precomp) -lang-c %{ansi:-std=c89}\
@@ -1034,7 +1034,7 @@
%{@:-o %f%u.p}%{!@:%W{o}%W{!o*:-o %b-gcc3.p}} }\
%{!traditional:%{!ftraditional:%{!traditional-cpp:\
%{fload=*|fdump=*|no-cpp-precomp:%{!precomp:\
- cc1 -lang-c %{ansi:-std=c89} %(cpp_unique_options)
%(cc1_options)}}}}}}\
+ cc1 %(cpp_unique_options) %(cc1_options)}}}}}}\
%{!fsyntax-only:%{!precomp:%(invoke_as)}}}}}", 0},
/* APPLE LOCAL end cpp-precomp dpatel */
{"-",
@@ -1046,7 +1046,7 @@
"%{!E:%{!precomp:%ecompilation of header file requested}} \
%{E:%{@:%e-E is not allowed with multiple -arch flags}}\
%{traditional-cpp|no-cpp-precomp:%{!precomp:\
- %(trad_capable_cpp) -lang-c %{ansi:-std=c89} %(cpp_options)}}\
+ %(trad_capable_cpp) %(cpp_options)}}\
%{!traditional-cpp:%{!no-cpp-precomp:\
%(cpp_precomp) -lang-c %{ansi:-std=c89}\
%(cpp_precomp_options) %y0\
1.10 +1 -0 gcc3/gcc/global.c
Index: global.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/global.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- global.c 2002/08/26 05:39:38 1.9
+++ global.c 2002/08/26 20:07:59 1.10
@@ -251,6 +251,7 @@
/* Set to 1 a bit in a vector TABLE of HARD_REG_SETs, for vector
element I, and hard register number J. */
+
#define SET_REGBIT(TABLE, I, J) SET_HARD_REG_BIT (allocno[I].TABLE, J)
/* Bit mask for allocnos live at current point in the scan. */
1.21 +0 -1 gcc3/gcc/idebug.c
Index: idebug.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/idebug.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- idebug.c 2002/08/03 05:28:14 1.20
+++ idebug.c 2002/08/26 20:07:59 1.21
@@ -107,7 +107,6 @@
fn_1( TREE_PRIVATE, int, tree )
fn_1( TREE_PROTECTED, int, tree )
fn_1( TREE_BOUNDED, int, tree )
-/* APPLE LOCAL deprecated (Radar 2637521) ilr */
fn_1( TREE_DEPRECATED, int, tree )
/* APPLE LOCAL unavailable (Radar 2809697) ilr */
fn_1( TREE_UNAVAILABLE, int, tree )
1.78 +6 -3 gcc3/gcc/config/darwin.c
Index: darwin.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/config/darwin.c,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -r1.77 -r1.78
--- darwin.c 2002/08/26 05:40:15 1.77
+++ darwin.c 2002/08/26 20:08:02 1.78
@@ -512,13 +512,13 @@
tree temp, ident = get_identifier (name), id2;
for (temp = (validate_stub ? machopic_stubs : machopic_non_lazy_pointers);
- temp != NULL_TREE;
- temp = TREE_CHAIN (temp))
+ temp != NULL_TREE;
+ temp = TREE_CHAIN (temp))
if (ident == TREE_PURPOSE (temp))
{
/* Mark both the stub or non-lazy pointer as well as the
original symbol as being referenced. */
- TREE_USED (temp) = 1;
+ TREE_USED (temp) = 1;
if (TREE_CODE (TREE_VALUE (temp)) == IDENTIFIER_NODE)
TREE_SYMBOL_REFERENCED (TREE_VALUE (temp)) = 1;
real_name = IDENTIFIER_POINTER (TREE_VALUE (temp));
@@ -590,6 +590,7 @@
gen_rtx (HIGH, Pmode, offset)));
emit_insn (gen_rtx (SET, VOIDmode, reg,
gen_rtx (LO_SUM, Pmode, reg, offset)));
+ /* APPLE LOCAL ? */
emit_insn (gen_rtx (USE, VOIDmode, pic_offset_table_rtx));
orig = gen_rtx (PLUS, Pmode, pic_offset_table_rtx, reg);
@@ -1013,6 +1014,8 @@
if (! TREE_USED (temp))
continue;
+
+ /* APPLE LOCAL remove a stub tweak */
sym_name = darwin_strip_name_encoding (sym_name);
1.178 +5 -2 gcc3/gcc/config/darwin.h
Index: darwin.h
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/config/darwin.h,v
retrieving revision 1.177
retrieving revision 1.178
diff -u -r1.177 -r1.178
--- darwin.h 2002/08/26 05:40:15 1.177
+++ darwin.h 2002/08/26 20:08:02 1.178
@@ -39,6 +39,7 @@
(Some Darwin versions have a libm, but they seem to cause problems
for C++ executables.) */
+/* APPLE LOCAL include guard for darwin.h */
#ifndef CONFIG_DARWIN_H
#define CONFIG_DARWIN_H
@@ -837,6 +838,7 @@
#undef TARGET_STRIP_NAME_ENCODING
#define TARGET_STRIP_NAME_ENCODING darwin_strip_name_encoding
+/* APPLE LOCAL what is this for? */
/* Be conservative and always redo the encoding. */
#define REDO_SECTION_INFO_P(DECL) (1)
@@ -1196,9 +1198,10 @@
} while (0)
/* APPLE LOCAL end zerofill turly 20020218 */
-#endif /* CONFIG_DARWIN_H */
-
#undef ASM_APP_ON
#define ASM_APP_ON ""
#undef ASM_APP_OFF
#define ASM_APP_OFF ""
+
+/* APPLE LOCAL include guard for darwin.h */
+#endif /* CONFIG_DARWIN_H */
1.22 +4 -2 gcc3/gcc/config/i386/darwin.h
Index: darwin.h
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/config/i386/darwin.h,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- darwin.h 2002/08/26 05:40:29 1.21
+++ darwin.h 2002/08/26 20:08:03 1.22
@@ -42,12 +42,14 @@
while (0)
/* We want -fPIC by default, unless we're using -static to compile for
- the kernel or some such.
- When -mdynamic-no-pic finally works, remove the "xx" below. FIXME!! */
+ the kernel or some such. */
#undef CC1_SPEC
+/* APPLE LOCAL dynamic-no-pic */
+/* When -mdynamic-no-pic finally works, remove the "xx" below. FIXME!! */
#define CC1_SPEC "%{!static:%{!mxxdynamic-no-pic:-fPIC}} %{!<faltivec}"
+/* APPLE LOCAL AltiVec */
#define CPP_ALTIVEC_SPEC "%{!<faltivec}"
/* The Darwin assembler mostly follows AT&T syntax. */
1.27 +1 -1 gcc3/gcc/config/i386/i386.h
Index: i386.h
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/config/i386/i386.h,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- i386.h 2002/08/11 20:45:54 1.26
+++ i386.h 2002/08/26 20:08:03 1.27
@@ -124,7 +124,7 @@
/* ... overlap with subtarget options starts by 0x04000000. */
#define MASK_NO_RED_ZONE 0x04000000 /* Do not use red zone */
-/* Temporary codegen switches */
+/* APPLE LOCAL Macintosh alignment */
#define MASK_INTEL_SYNTAX 0x10000000
/* Use the floating point instructions */
1.9 +0 -221 gcc3/gcc/config/m68k/m68k.c
Index: m68k.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/config/m68k/m68k.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- m68k.c 2002/08/26 05:40:37 1.8
+++ m68k.c 2002/08/26 20:08:04 1.9
@@ -254,57 +254,6 @@
{
register int regno;
register int mask = 0;
- HOST_WIDE_INT fsize = ((size) + 3) & -4;
-
- if (frame_pointer_needed)
- {
- if (fsize < 0x8000)
- fprintf (stream, "\tlink fp,#%d\n", -fsize);
- else if (TARGET_68020)
- fprintf (stream, "\tlink.l fp,#%d\n", -fsize);
- else
- fprintf (stream, "\tlink fp,#0\n\tsub.l #%d,sp\n", fsize);
- }
- else if (fsize)
- {
- int amt = fsize + 4;
- /* Adding negative number is faster on the 68040. */
- if (fsize + 4 < 0x8000)
- asm_fprintf (stream, "\tadd.w %0I%d,%Rsp\n", - amt);
- else
- asm_fprintf (stream, "\tadd.l %0I%d,%Rsp\n", - amt);
- }
-
- for (regno = 16; regno < FIRST_PSEUDO_REGISTER; regno++)
- if (regs_ever_live[regno] && ! call_used_regs[regno])
- mask |= 1 << (regno - 16);
-
- if (mask != 0)
- fprintf (stream, "\tfmovem.x #0x%x,-(sp)\n", mask & 0xff);
-
- mask = 0;
- for (regno = 0; regno < 16; regno++)
- if (regs_ever_live[regno] && ! call_used_regs[regno])
- mask |= 1 << (15 - regno);
-
- if (frame_pointer_needed)
- mask &= ~ (1 << (15-FRAME_POINTER_REGNUM));
-
- if (exact_log2 (mask) >= 0)
- fprintf (stream, "\tmove.l %s,-(sp)\n", reg_names[15 - exact_log2 (mask)]);
- else
- if (mask) fprintf (stream, "\tmovem.l #0x%x,-(sp)\n", mask);
-}
-
-#else /* !CRDS && ! (NEWS && MOTOROLA) && ! (DPX2 && MOTOROLA) */
-
-static void
-m68k_output_function_prologue (stream, size)
- FILE *stream;
- HOST_WIDE_INT size;
-{
- register int regno;
- register int mask = 0;
int num_saved_regs = 0;
HOST_WIDE_INT fsize = (size + 3) & -4;
HOST_WIDE_INT cfa_offset = INCOMING_FRAME_SP_OFFSET;
@@ -804,176 +753,6 @@
if (current_function_pops_args)
fprintf (stream, "\trtd $%d\n", current_function_pops_args);
- else
- fprintf (stream, "\trts\n");
-}
-
-#else
-#if defined (DPX2) && defined (MOTOROLA)
-
-static void
-m68k_output_function_epilogue (stream, size)
- FILE *stream;
- HOST_WIDE_INT size;
-{
- register int regno;
- register int mask, fmask;
- register int nregs;
- HOST_WIDE_INT offset, foffset, fpoffset, first = 1;
- HOST_WIDE_INT fsize = ((size) + 3) & -4;
- int big = 0;
- rtx insn = get_last_insn ();
-
- /* If the last insn was a BARRIER, we don't have to write any code. */
- if (GET_CODE (insn) == NOTE)
- insn = prev_nonnote_insn (insn);
- if (insn && GET_CODE (insn) == BARRIER)
- {
- /* Output just a no-op so that debuggers don't get confused
- about which function the pc is in at this address. */
- fprintf (stream, "\tnop\n");
- return;
- }
-
- nregs = 0; fmask = 0; fpoffset = 0;
- for (regno = 16; regno < 24; regno++)
- if (regs_ever_live[regno] && ! call_used_regs[regno])
- {
- nregs++;
- fmask |= 1 << (23 - regno);
- }
-
- foffset = fpoffset + nregs * 12;
- nregs = 0; mask = 0;
- if (frame_pointer_needed)
- regs_ever_live[FRAME_POINTER_REGNUM] = 0;
-
- for (regno = 0; regno < 16; regno++)
- if (regs_ever_live[regno] && ! call_used_regs[regno])
- {
- nregs++;
- mask |= 1 << regno;
- }
-
- offset = foffset + nregs * 4;
- if (offset + fsize >= 0x8000
- && frame_pointer_needed
- && (mask || fmask || fpoffset))
- {
- fprintf (stream, "\tmove.l #%d,a0\n", -fsize);
- fsize = 0, big = 1;
- }
-
- if (nregs <= 2)
- {
- /* Restore each separately in the same order moveml does.
- Using two movel instructions instead of a single moveml
- is about 15% faster for the 68020 and 68030 at no expense
- in code size. */
-
- int i;
-
- /* Undo the work from above. */
- for (i = 0; i< 16; i++)
- if (mask & (1 << i))
- {
- if (big)
- fprintf (stream, "\tmove.l -%d(%s,a0.l),%s\n",
- offset + fsize,
- reg_names[FRAME_POINTER_REGNUM],
- reg_names[i]);
- else if (! frame_pointer_needed)
- fprintf (stream, "\tmove.l (sp)+,%s\n",
- reg_names[i]);
- else
- fprintf (stream, "\tmove.l -%d(%s),%s\n",
- offset + fsize,
- reg_names[FRAME_POINTER_REGNUM],
- reg_names[i]);
- offset = offset - 4;
- }
- }
- else if (mask)
- {
- first = 1;
- for (regno = 0; regno < 16; regno++)
- if (mask & (1 << regno))
- {
- if (first && big)
- {
- fprintf (stream, "\tmovem.l -%d(%s,a0.l),%s",
- offset + fsize,
- reg_names[FRAME_POINTER_REGNUM],
- reg_names[regno]);
- first = 0;
- }
- else if (first && ! frame_pointer_needed)
- {
- fprintf (stream, "\tmovem.l (sp)+,%s",
- reg_names[regno]);
- first = 0;
- }
- else if (first)
- {
- fprintf (stream, "\tmovem.l -%d(%s),%s",
- offset + fsize,
- reg_names[FRAME_POINTER_REGNUM],
- reg_names[regno]);
- first = 0;
- }
- else
- fprintf (stream, "/%s", reg_names[regno]);
- }
- fprintf (stream, "\n");
- }
-
- if (fmask)
- {
- first = 1;
- for (regno = 16; regno < 24; regno++)
- if (fmask & (1 << (23 - regno)))
- {
- if (first && big)
- {
- fprintf (stream, "\tfmovem.x -%d(%s,a0.l),%s",
- foffset + fsize,
- reg_names[FRAME_POINTER_REGNUM],
- reg_names[regno]);
- first = 0;
- }
- else if (first && ! frame_pointer_needed)
- {
- fprintf (stream, "\tfmovem.x (sp)+,%s",
- reg_names[regno]);
- first = 0;
- }
- else if (first)
- {
- fprintf (stream, "\tfmovem.x -%d(%s),%s",
- foffset + fsize,
- reg_names[FRAME_POINTER_REGNUM],
- reg_names[regno]);
- first = 0;
- }
- else
- fprintf (stream, "/%s", reg_names[regno]);
- }
- fprintf (stream, "\n");
- }
-
- if (frame_pointer_needed)
- fprintf (stream, "\tunlk %s\n",
- reg_names[FRAME_POINTER_REGNUM]);
- else if (fsize)
- {
- if (fsize + 4 < 0x8000)
- fprintf (stream, "\tadd.w #%d,sp\n", fsize + 4);
- else
- fprintf (stream, "\tadd.l #%d,sp\n", fsize + 4);
- }
-
- if (current_function_pops_args)
- fprintf (stream, "\trtd #%d\n", current_function_pops_args);
else
fprintf (stream, "\trts\n");
}
1.74 +0 -3 gcc3/gcc/config/rs6000/darwin.h
Index: darwin.h
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/config/rs6000/darwin.h,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -r1.73 -r1.74
--- darwin.h 2002/08/26 05:40:47 1.73
+++ darwin.h 2002/08/26 20:08:04 1.74
@@ -146,9 +146,6 @@
#define RS6000_OUTPUT_BASENAME(FILE, NAME) \
assemble_name (FILE, NAME);
-/* This is how to output a command to make the user-level label named NAME
- defined for reference from other files. */
-
/* Globalizing directive for a label. */
#undef GLOBAL_ASM_OP
#define GLOBAL_ASM_OP "\t.globl "
1.168 +1 -0 gcc3/gcc/config/rs6000/rs6000.c
Index: rs6000.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/config/rs6000/rs6000.c,v
retrieving revision 1.167
retrieving revision 1.168
diff -u -r1.167 -r1.168
--- rs6000.c 2002/08/26 05:40:47 1.167
+++ rs6000.c 2002/08/26 20:08:04 1.168
@@ -13198,6 +13198,7 @@
using_mfcr_multiple = (rs6000_cpu == PROCESSOR_PPC601
|| rs6000_cpu == PROCESSOR_PPC603
|| rs6000_cpu == PROCESSOR_PPC750
+ /* APPLE LOCAL ? */
|| rs6000_cpu == PROCESSOR_PPC7400
|| optimize_size);
1.77 +49 -100 gcc3/gcc/config/rs6000/rs6000.md
Index: rs6000.md
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/config/rs6000/rs6000.md,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -r1.76 -r1.77
--- rs6000.md 2002/08/26 05:40:48 1.76
+++ rs6000.md 2002/08/26 20:08:05 1.77
@@ -11234,104 +11234,51 @@
DONE;
}")
-;MERGE; ;; APPLE LOCAL sibcall patterns
-;MERGE; ;;- tail calls
-;MERGE; (define_expand "sibcall"
-;MERGE; [(parallel [(call (mem:SI (match_operand 0 "address_operand" ""))
-;MERGE; (match_operand 1 "" ""))
-;MERGE; (use (match_operand 2 "" ""))
-;MERGE; (use (scratch:SI))
-;MERGE; (return)])]
-;MERGE; ""
-;MERGE; "
-;MERGE; {
-;MERGE; #if TARGET_MACHO
-;MERGE; /* APPLE LOCAL dynamic-no-pic */
-;MERGE; if (MACHOPIC_INDIRECT)
-;MERGE; operands[0] = machopic_indirect_call_target (operands[0]);
-;MERGE; #endif
-;MERGE;
-;MERGE; if (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != CONST_INT)
-;MERGE; abort ();
-;MERGE;
-;MERGE; operands[0] = XEXP (operands[0], 0);
-;MERGE;
-;MERGE; }")
-;MERGE;
-;MERGE; ;; this and similar patterns must be marked as using LR, otherwise
-;MERGE; ;; dataflow will try to delete the store into it. This is true
-;MERGE; ;; even when the actual reg to jump to is in CTR, when LR was
-;MERGE; ;; saved and restored around the PIC-setting BCL.
-;MERGE; (define_insn "*sibcall_symbolic"
-;MERGE; [(call (mem:SI (match_operand:SI 0 "call_operand" "s,c"))
-;MERGE; (match_operand 1 "" ""))
-;MERGE; (use (match_operand 2 "" ""))
-;MERGE; (use (match_scratch:SI 3 "=l,l"))
-;MERGE; (return)]
-;MERGE; "! TARGET_64BIT && DEFAULT_ABI == ABI_DARWIN"
-;MERGE; "*
-;MERGE; {
-;MERGE; switch (which_alternative)
-;MERGE; {
-;MERGE; case 0: return \"b %z0\";
-;MERGE; case 1: return \"b%T0\";
-;MERGE; default: abort();
-;MERGE; }
-;MERGE; }"
-;MERGE; [(set_attr "type" "branch")
-;MERGE; (set_attr "length" "4")])
-;MERGE;
-;MERGE; (define_expand "sibcall_value"
-;MERGE; [(parallel [(set (match_operand 0 "register_operand" "")
-;MERGE; (call (mem:SI (match_operand 1 "address_operand" ""))
-;MERGE; (match_operand 2 "" "")))
-;MERGE; (use (match_operand 3 "" ""))
-;MERGE; (use (scratch:SI))
-;MERGE; (return)])]
-;MERGE; ""
-;MERGE; "
-;MERGE; {
-;MERGE; #if TARGET_MACHO
-;MERGE; /* APPLE LOCAL dynamic-no-pic */
-;MERGE; if (MACHOPIC_INDIRECT)
-;MERGE; operands[1] = machopic_indirect_call_target (operands[1]);
-;MERGE; #endif
-;MERGE;
-;MERGE; if (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != CONST_INT)
-;MERGE; abort ();
-;MERGE;
-;MERGE; operands[1] = XEXP (operands[1], 0);
-;MERGE;
-;MERGE; }")
-;MERGE;
-;MERGE; (define_insn "*sibcall_value_symbolic"
-;MERGE; [(set (match_operand 0 "" "")
-;MERGE; (call (mem:SI (match_operand:SI 1 "call_operand" "s,c"))
-;MERGE; (match_operand 2 "" "")))
-;MERGE; (use (match_operand:SI 3 "" ""))
-;MERGE; (use (match_scratch:SI 4 "=l,l"))
-;MERGE; (return)]
-;MERGE; "! TARGET_64BIT && DEFAULT_ABI == ABI_DARWIN"
-;MERGE; "*
-;MERGE; {
-;MERGE; switch (which_alternative)
-;MERGE; {
-;MERGE; case 0: return \"b %z1\";
-;MERGE; case 1: return \"b%T1\";
-;MERGE; default: abort();
-;MERGE; }
-;MERGE; }"
-;MERGE; [(set_attr "type" "branch")
-;MERGE; (set_attr "length" "4")])
-;MERGE;
-;MERGE; (define_expand "sibcall_epilogue"
-;MERGE; [(use (const_int 0))]
-;MERGE; "TARGET_SCHED_PROLOG"
-;MERGE; "
-;MERGE; {
-;MERGE; rs6000_emit_epilogue (TRUE);
-;MERGE; DONE;
-;MERGE; }")
+;; APPLE LOCAL sibcall patterns
+;; APPLE MERGE modify FSF patterns below instead?
+;; this and similar patterns must be marked as using LR, otherwise
+;; dataflow will try to delete the store into it. This is true
+;; even when the actual reg to jump to is in CTR, when LR was
+;; saved and restored around the PIC-setting BCL.
+(define_insn "*sibcall_symbolic"
+ [(call (mem:SI (match_operand:SI 0 "call_operand" "s,c"))
+ (match_operand 1 "" ""))
+ (use (match_operand 2 "" ""))
+ (use (match_scratch:SI 3 "=l,l"))
+ (return)]
+ "! TARGET_64BIT && DEFAULT_ABI == ABI_DARWIN"
+ "*
+{
+ switch (which_alternative)
+ {
+ case 0: return \"b %z0\";
+ case 1: return \"b%T0\";
+ default: abort();
+ }
+}"
+ [(set_attr "type" "branch")
+ (set_attr "length" "4")])
+
+(define_insn "*sibcall_value_symbolic"
+ [(set (match_operand 0 "" "")
+ (call (mem:SI (match_operand:SI 1 "call_operand" "s,c"))
+ (match_operand 2 "" "")))
+ (use (match_operand:SI 3 "" ""))
+ (use (match_scratch:SI 4 "=l,l"))
+ (return)]
+ "! TARGET_64BIT && DEFAULT_ABI == ABI_DARWIN"
+ "*
+{
+ switch (which_alternative)
+ {
+ case 0: return \"b %z1\";
+ case 1: return \"b%T1\";
+ default: abort();
+ }
+}"
+ [(set_attr "type" "branch")
+ (set_attr "length" "4")])
+;; APPLE LOCAL end sibcall patterns
;; sibling call patterns
(define_expand "sibcall"
@@ -11344,7 +11291,8 @@
"
{
#if TARGET_MACHO
- if (flag_pic)
+ /* APPLE LOCAL dynamic-no-pic */
+ if (MACHOPIC_INDIRECT)
operands[0] = machopic_indirect_call_target (operands[0]);
#endif
@@ -11530,7 +11478,8 @@
"
{
#if TARGET_MACHO
- if (flag_pic)
+ /* APPLE LOCAL dynamic-no-pic */
+ if (MACHOPIC_INDIRECT)
operands[1] = machopic_indirect_call_target (operands[1]);
#endif
1.36 +1 -1 gcc3/gcc/cp/call.c
Index: call.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/cp/call.c,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- call.c 2002/08/26 05:40:58 1.35
+++ call.c 2002/08/26 20:08:07 1.36
@@ -4523,7 +4523,7 @@
t = build_pointer_type (TREE_TYPE (fn));
if (DECL_CONTEXT (fn) && TYPE_JAVA_INTERFACE (DECL_CONTEXT (fn)))
fn = build_java_interface_fn_ref (fn, *p);
-#if 0 /* APPLE MERGE update this */
+#if 0 /* APPLE MERGE make kext options work again */
/* APPLE LOCAL begin -findirect-virtual-calls 2001-10-30 sts */
/* If this is not really supposed to be a virtual call, find the
vtable corresponding to the correct type, and use it. */
1.41 +9 -0 gcc3/gcc/cp/cp-dmp-tree.c
Index: cp-dmp-tree.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/cp/cp-dmp-tree.c,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- cp-dmp-tree.c 2002/08/08 03:20:00 1.40
+++ cp-dmp-tree.c 2002/08/26 20:08:07 1.41
@@ -520,6 +520,15 @@
}
static void
+print_BASELINK (FILE *file,
+ const char *annotation ATTRIBUTE_UNUSED,
+ tree node,
+ int indent)
+{
+ print_operands (file, node, indent, TRUE, NULL);
+}
+
+static void
print_TEMPLATE_DECL (FILE *file,
const char *annotation ATTRIBUTE_UNUSED,
tree node,
1.12 +1 -1 gcc3/gcc/cp/cp-idebug.c
Index: cp-idebug.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/cp/cp-idebug.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- cp-idebug.c 2002/08/16 17:06:59 1.11
+++ cp-idebug.c 2002/08/26 20:08:07 1.12
@@ -355,7 +355,7 @@
fn_noden( TYPE_PTRMEMFUNC_FN_TYPE )
fn_noden( TYPE_PTRMEMFUNC_OBJECT_TYPE )
fn_noden( TYPE_GET_PTRMEMFUNC_TYPE )
-#if 0 /* APPLE MERGE */
+#if 0 /* this one doesn't have a return value */
fn_2( TYPE_SET_PTRMEMFUNC_TYPE, struct lang_type *, tree, struct lang_type*)
#endif
fn_noden( DELTA2_FROM_PTRMEMFUNC )
1.19 +0 -2 gcc3/gcc/cp/cp-lang.c
Index: cp-lang.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/cp/cp-lang.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- cp-lang.c 2002/08/26 05:40:58 1.18
+++ cp-lang.c 2002/08/26 20:08:07 1.19
@@ -196,8 +196,6 @@
#define LANG_HOOKS_FINISH_FILE objc_finish_file
#undef LANG_HOOKS_INIT_OPTIONS
#define LANG_HOOKS_INIT_OPTIONS objcplus_init_options
-#undef LANG_HOOKS_DECODE_OPTION
-#define LANG_HOOKS_DECODE_OPTION objc_decode_option
/* APPLE LOCAL begin PFE */
#undef LANG_HOOKS_PFE_LANG_INIT
#define LANG_HOOKS_PFE_LANG_INIT objc_pfe_lang_init
1.19 +79 -56 gcc3/gcc/cp/cp-parse.in
Index: cp-parse.in
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/cp/cp-parse.in,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- cp-parse.in 2002/08/08 03:20:00 1.18
+++ cp-parse.in 2002/08/26 20:08:07 1.19
@@ -63,8 +63,6 @@
#include "objcp-decl.h"
end ifobjcp
-extern struct obstack permanent_obstack;
-
/* Like YYERROR but do call yyerror. */
#define YYERROR1 { yyerror ("syntax error"); YYERROR; }
@@ -1347,16 +1345,20 @@
/* Refer to the address of a label as a pointer. */
| ANDAND identifier
{ $$ = finish_label_address_expr ($2); }
- | SIZEOF unary_expr %prec UNARY
- { $$ = finish_sizeof ($2); }
- | SIZEOF '(' type_id ')' %prec HYPERUNARY
+ | sizeof unary_expr %prec UNARY
+ { $$ = finish_sizeof ($2);
+ skip_evaluation--; }
+ | sizeof '(' type_id ')' %prec HYPERUNARY
{ $$ = finish_sizeof (groktypename ($3.t));
- check_for_new_type ("sizeof", $3); }
- | ALIGNOF unary_expr %prec UNARY
- { $$ = finish_alignof ($2); }
- | ALIGNOF '(' type_id ')' %prec HYPERUNARY
+ check_for_new_type ("sizeof", $3);
+ skip_evaluation--; }
+ | alignof unary_expr %prec UNARY
+ { $$ = finish_alignof ($2);
+ skip_evaluation--; }
+ | alignof '(' type_id ')' %prec HYPERUNARY
{ $$ = finish_alignof (groktypename ($3.t));
- check_for_new_type ("alignof", $3); }
+ check_for_new_type ("alignof", $3);
+ skip_evaluation--; }
/* APPLE LOCAL AltiVec */
| VEC_STEP unary_expr %prec UNARY
{ $$ = altivec_vec_step_expr ($2); }
@@ -1616,11 +1618,11 @@
do_id:
{
- /* If lastiddecl is a TREE_LIST, it's a baselink, which
- means that we're in an expression like S::f<int>, so
- don't do_identifier; we only do that for unqualified
+ /* If lastiddecl is a BASELINK we're in an
+ expression like S::f<int>, so don't
+ do_identifier; we only do that for unqualified
identifiers. */
- if (!lastiddecl || TREE_CODE (lastiddecl) != TREE_LIST)
+ if (!lastiddecl || !BASELINK_P (lastiddecl))
$$ = do_identifier ($<ttype>-1, 1, NULL_TREE);
else
$$ = $<ttype>-1;
@@ -1814,20 +1816,15 @@
| overqualified_id LEFT_RIGHT
{ $$ = parse_finish_call_expr ($1, NULL_TREE, 0); }
| object object_template_id %prec UNARY
- {
- $$ = build_x_component_ref ($$, $2, NULL_TREE);
- }
+ { $$ = finish_class_member_access_expr ($$, $2); }
| object object_template_id '(' nonnull_exprlist ')'
{ $$ = finish_object_call_expr ($2, $1, $4); }
| object object_template_id LEFT_RIGHT
{ $$ = finish_object_call_expr ($2, $1, NULL_TREE); }
| object unqualified_id %prec UNARY
- { $$ = build_x_component_ref ($$, $2, NULL_TREE); }
+ { $$ = finish_class_member_access_expr ($$, $2); }
| object overqualified_id %prec UNARY
- { if (processing_template_decl)
- $$ = build_min_nt (COMPONENT_REF, $1, $2);
- else
- $$ = build_object_ref ($$, OP0 ($2), OP1 ($2)); }
+ { $$ = finish_class_member_access_expr ($1, $2); }
| object unqualified_id '(' nonnull_exprlist ')'
{ $$ = finish_object_call_expr ($2, $1, $4); }
| object unqualified_id LEFT_RIGHT
@@ -2141,6 +2138,18 @@
{ $$ = tree_cons ($1, NULL_TREE, NULL_TREE); }
;
+sizeof:
+ SIZEOF { skip_evaluation++; }
+ ;
+
+alignof:
+ ALIGNOF { skip_evaluation++; }
+ ;
+
+typeof:
+ TYPEOF { skip_evaluation++; }
+ ;
+
/* A typespec (but not a type qualifier).
Once we have seen one of these in a declaration,
if a typedef name appears then it is being redeclared. */
@@ -2160,12 +2169,14 @@
end ifobjcp
| complete_type_name
{ $$.t = $1; $$.new_type_flag = 0; $$.lookups = NULL_TREE; }
- | TYPEOF '(' expr ')'
+ | typeof '(' expr ')'
{ $$.t = finish_typeof ($3);
- $$.new_type_flag = 0; $$.lookups = NULL_TREE; }
- | TYPEOF '(' type_id ')'
+ $$.new_type_flag = 0; $$.lookups = NULL_TREE;
+ skip_evaluation--; }
+ | typeof '(' type_id ')'
{ $$.t = groktypename ($3.t);
- $$.new_type_flag = 0; $$.lookups = NULL_TREE; }
+ $$.new_type_flag = 0; $$.lookups = NULL_TREE;
+ skip_evaluation--; }
| SIGOF '(' expr ')'
{ tree type = TREE_TYPE ($3);
@@ -2741,7 +2752,7 @@
ifobjcp
/* ObjC @defs(class) construct. */
| DEFS '(' identifier ')'
- { get_class_ivars ($3); }
+ { objcp_get_class_ivars ($3); }
end ifobjcp
;
@@ -5001,39 +5012,41 @@
fn = lookup_namespace_name (scope, name);
else
{
- if (TREE_CODE (name) == TEMPLATE_ID_EXPR)
+ if (!COMPLETE_TYPE_P (scope) && !TYPE_BEING_DEFINED (scope))
+ {
+ error ("incomplete type '%T' cannot be used to name a scope",
+ scope);
+ return error_mark_node;
+ }
+ else if (TREE_CODE (name) == TEMPLATE_ID_EXPR)
{
template_id = name;
template_args = TREE_OPERAND (name, 1);
name = TREE_OPERAND (name, 0);
}
else
- template_id = NULL_TREE;
-
- if (TREE_CODE (name) == OVERLOAD)
- name = DECL_NAME (get_first_fn (name));
- fn = lookup_member (scope, name, /*protect=*/1,
- /*prefer_type=*/0);
- if (BASELINK_P (fn) && template_id)
- BASELINK_FUNCTIONS (fn) = build_nt (TEMPLATE_ID_EXPR,
- BASELINK_FUNCTIONS (fn),
- template_args);
- if (BASELINK_P (fn)
- && current_class_type
- && DERIVED_FROM_P (scope, current_class_type))
- {
- scope = lookup_base (current_class_type, scope,
- ba_ignore | ba_quiet, NULL);
- if (scope)
- {
- BASELINK_ACCESS_BINFO (fn) = scope;
- BASELINK_BINFO (fn)
- = lookup_base (scope,
- BINFO_TYPE (BASELINK_BINFO (fn)),
- ba_ignore | ba_quiet,
- NULL);
- }
+ {
+ template_id = NULL_TREE;
+ template_args = NULL_TREE;
}
+
+ if (BASELINK_P (name))
+ fn = name;
+ else
+ {
+ if (TREE_CODE (name) == OVERLOAD)
+ name = DECL_NAME (get_first_fn (name));
+ fn = lookup_member (scope, name, /*protect=*/1,
+ /*prefer_type=*/0);
+ if (BASELINK_P (fn) && template_id)
+ BASELINK_FUNCTIONS (fn)
+ = build_nt (TEMPLATE_ID_EXPR,
+ BASELINK_FUNCTIONS (fn),
+ template_args);
+ }
+ if (current_class_type)
+ fn = (adjust_result_of_qualified_name_lookup
+ (fn, scope, current_class_type));
}
}
disallow_virtual = true;
@@ -5079,9 +5092,19 @@
if (DERIVED_FROM_P (scope, current_class_type)
&& current_class_ref)
- return finish_object_call_expr (fn,
- current_class_ref,
- args);
+ {
+ fn = build_baselink (lookup_base (current_class_type,
+ scope,
+ ba_any,
+ NULL),
+ TYPE_BINFO (current_class_type),
+ fn,
+ /*optype=*/NULL_TREE);
+ return finish_object_call_expr (fn,
+ current_class_ref,
+ args);
+ }
+
access_scope = current_class_type;
while (!DERIVED_FROM_P (scope, access_scope))
1.88 +1 -413 gcc3/gcc/cp/decl2.c
Index: decl2.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/cp/decl2.c,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -r1.87 -r1.88
--- decl2.c 2002/08/26 05:40:59 1.87
+++ decl2.c 2002/08/26 20:08:07 1.88
@@ -133,418 +133,6 @@
tree global_namespace;
-#if 1 /* APPLE MERGE move all this stuff */
-/* APPLE LOCAL begin -findirect-virtual-calls 2001-10-30 sts */
-/* Nonzero if all calls to virtual functions should cause indirection
- through a vtable. */
-
-int flag_indirect_virtual_calls;
-/* APPLE LOCAL end -findirect-virtual-calls 2001-10-30 sts */
-
-/* APPLE LOCAL begin terminated-vtables */
-/* Nonzero means append a zero word to vtables.
- Used by darwin kernel driver dynamic-loader to find the ends of vtables for
patching. */
-int flag_terminated_vtables = 0;
-/* APPLE LOCAL end terminated-vtables */
-
-/* APPLE LOCAL begin private extern Radar 2872481 ilr */
-/* Nonzero if -fpreproceessed specified. This is needed by init_reswords()
- so that it can make __private_extern__ have the same rid code as extern
- when -fpreprocessed is specified. Normally there is a -D on the command
- line for this. But if -fpreprocessed was specified then macros aren't
- expanded. So we fake the token value out using the rid code. */
-int flag_preprocessed = 0;
-/* APPLE LOCAL end private extern Radar 2872481 ilr */
-
-/* APPLE LOCAL begin apple-kext Radar #2849864 ilr */
-/* Nonzero if we're compiling in a gcc2.95-compatibility mode.
- Implies -fterminated-vtables and -findirect-virtual-calls,
- only-deleting-destructor support, 2.95 ptmfs, vptr initialisation,
- constructors-returning-this... */
-int flag_apple_kext = 0;
-/* APPLE LOCAL end apple-kext ilr */
-
-/* APPLE LOCAL begin structor thunks */
-/* Nonzero if we prefer to clone con/de/structors.
- Alternative is to gen multiple tiny thunk-esque things that call/jump to a
unified con/de/structor.
- This is a classic size/speed tradeoff. */
-int flag_clone_structors = 0;
-/* APPLE LOCAL begin structor thunks */
-
-#endif
-
-#if 0 /* APPLE MERGE */
-/* Nonzero means make the default pedwarns warnings instead of errors.
- The value of this flag is ignored if -pedantic is specified. */
-
-/* APPLE LOCAL be permissive by default */
-int flag_permissive = 1;
-
-/* Table of language-dependent -f options.
- STRING is the option name. VARIABLE is the address of the variable.
- ON_VALUE is the value to store in VARIABLE
- if `-fSTRING' is seen as an option.
- (If `-fno-STRING' is seen as an option, the opposite value is stored.) */
-
-static const struct { const char *const string; int *const variable; const int
on_value;}
-lang_f_options[] =
-{
- /* C/C++ options. */
- {"signed-char", &flag_signed_char, 1},
- {"unsigned-char", &flag_signed_char, 0},
- {"signed-bitfields", &flag_signed_bitfields, 1},
- {"unsigned-bitfields", &flag_signed_bitfields, 0},
- {"short-enums", &flag_short_enums, 1},
- {"short-double", &flag_short_double, 1},
- {"short-wchar", &flag_short_wchar, 1},
- {"asm", &flag_no_asm, 0},
- {"builtin", &flag_no_builtin, 0},
- /* APPLE LOCAL Pascal strings 2001-07-05 zll */
- {"pascal-strings", &flag_pascal_strings, 1},
- /* APPLE LOCAL begin AltiVec */
- {"altivec", &flag_altivec, 1},
- {"vec", &flag_altivec, 1},
- /* APPLE LOCAL end AltiVec */
- /* APPLE LOCAL begin constant cfstrings */
- {"constant-cfstrings", &flag_constant_cfstrings, 1},
- /* APPLE LOCAL end constant cfstrings */
-
- /* C++-only options. */
- {"access-control", &flag_access_control, 1},
- {"check-new", &flag_check_new, 1},
- {"conserve-space", &flag_conserve_space, 1},
- {"const-strings", &flag_const_strings, 1},
- {"default-inline", &flag_default_inline, 1},
- {"dollars-in-identifiers", &dollars_in_ident, 1},
- {"elide-constructors", &flag_elide_constructors, 1},
- {"enforce-eh-specs", &flag_enforce_eh_specs, 1},
- {"external-templates", &flag_external_templates, 1},
- {"for-scope", &flag_new_for_scope, 2},
- {"gnu-keywords", &flag_no_gnu_keywords, 0},
- {"handle-exceptions", &flag_exceptions, 1},
- {"implement-inlines", &flag_implement_inlines, 1},
- {"implicit-inline-templates", &flag_implicit_inline_templates, 1},
- {"implicit-templates", &flag_implicit_templates, 1},
- /* APPLE LOCAL -findirect-virtual-calls 2001-10-30 sts */
- {"indirect-virtual-calls", &flag_indirect_virtual_calls, 1},
- {"ms-extensions", &flag_ms_extensions, 1},
- {"nonansi-builtins", &flag_no_nonansi_builtin, 0},
- {"optional-diags", &flag_optional_diags, 1},
- {"permissive", &flag_permissive, 1},
- {"repo", &flag_use_repository, 1},
- {"rtti", &flag_rtti, 1},
- {"stats", &flag_detailed_statistics, 1},
- /* APPLE LOCAL terminated-vtables */
- { "terminated-vtables", &flag_terminated_vtables, 1},
- {"vtable-gc", &flag_vtable_gc, 1},
- {"use-cxa-atexit", &flag_use_cxa_atexit, 1},
- /* APPLE LOCAL apple-kext Radar #2849864 ilr */
- {"apple-kext", &flag_apple_kext, 1},
-/* APPLE LOCAL structor thunks */
- {"clone-structors", &flag_clone_structors, 1},
- {"weak", &flag_weak, 1}
-};
-
-/* The list of `-f' options that we no longer support. The `-f'
- prefix is not given in this table. The `-fno-' variants are not
- listed here. This table must be kept in alphabetical order. */
-static const char * const unsupported_options[] = {
- "all-virtual",
- "cond-mismatch",
- "enum-int-equiv",
- "guiding-decls",
- "honor-std",
- "huge-objects",
- "labels-ok",
- "new-abi",
- "nonnull-objects",
- "squangle",
- "strict-prototype",
- "this-is-variable",
- "vtable-thunks",
- "xref"
-};
-
-/* Compare two option strings, pointed two by P1 and P2, for use with
- bsearch. */
-
-static int
-compare_options (p1, p2)
- const PTR p1;
- const PTR p2;
-{
- return strcmp (*((const char *const *) p1), *((const char *const *) p2));
-}
-
-/* Decode the string P as a language-specific option.
- Return the number of strings consumed for a valid option.
- Otherwise return 0. Should not complain if it does not
- recognise the option. */
-
-int
-cxx_decode_option (argc, argv)
- int argc;
- char **argv;
-{
- int strings_processed;
- const char *p = argv[0];
-
- strings_processed = cpp_handle_option (parse_in, argc, argv);
-
- if (p[0] == '-' && p[1] == 'f')
- {
- /* Some kind of -f option.
- P's value is the option sans `-f'.
- Search for it in the table of options. */
- const char *option_value = NULL;
- const char *positive_option;
- size_t j;
-
- p += 2;
- /* Try special -f options. */
-
- /* See if this is one of the options no longer supported. We
- used to support these options, so we continue to accept them,
- with a warning. */
- if (strncmp (p, "no-", strlen ("no-")) == 0)
- positive_option = p + strlen ("no-");
- else
- positive_option = p;
-
- /* If the option is present, issue a warning. Indicate to our
- caller that the option was processed successfully. */
- if (bsearch (&positive_option,
- unsupported_options,
- ARRAY_SIZE (unsupported_options),
- sizeof (unsupported_options[0]),
- compare_options))
- {
- warning ("-f%s is no longer supported", p);
- return 1;
- }
-
- if (!strcmp (positive_option, "handle-exceptions"))
- warning ("-fhandle-exceptions has been renamed to -fexceptions (and is now on
by default)");
- else if (!strcmp (p, "alt-external-templates"))
- {
- flag_external_templates = 1;
- flag_alt_external_templates = 1;
- cp_deprecated ("-falt-external-templates");
- }
- else if (!strcmp (p, "no-alt-external-templates"))
- flag_alt_external_templates = 0;
- else if (!strcmp (p, "repo"))
- {
- flag_use_repository = 1;
- flag_implicit_templates = 0;
- }
- else if (!strcmp (p, "external-templates"))
- {
- flag_external_templates = 1;
- cp_deprecated ("-fexternal-templates");
- }
- else if ((option_value
- = skip_leading_substring (p, "template-depth-")))
- max_tinst_depth
- = read_integral_parameter (option_value, p - 2, max_tinst_depth);
- else if ((option_value
- = skip_leading_substring (p, "name-mangling-version-")))
- {
- warning ("-fname-mangling-version is no longer supported");
- return 1;
- }
- /* APPLE LOCAL begin private extern Radar 2872481 ilr */
- else if (! strcmp (p, "preprocessed"))
- flag_preprocessed = 1;
- else if (! strcmp (p, "no-preprocessed"))
- flag_preprocessed = 0;
- /* APPLE LOCAL end private extern Radar 2872481 ilr */
- else if ((option_value = skip_leading_substring (p, "no-builtin-")))
- disable_builtin_function (option_value);
- else if (dump_switch_p (p))
- ;
- else
- {
- int found = 0;
-
- for (j = 0; !found && j < ARRAY_SIZE (lang_f_options); j++)
- {
- if (!strcmp (p, lang_f_options[j].string))
- {
- *lang_f_options[j].variable = lang_f_options[j].on_value;
- /* A goto here would be cleaner,
- but breaks the VAX pcc. */
- found = 1;
- }
- else if (p[0] == 'n' && p[1] == 'o' && p[2] == '-'
- && ! strcmp (p+3, lang_f_options[j].string))
- {
- *lang_f_options[j].variable = ! lang_f_options[j].on_value;
- found = 1;
- }
- }
-
- /* APPLE LOCAL begin apple-kext Radar #2849864 ilr */
- /* -fapple-kext is the same as -findirect-virtual-calls and
- -fterminated-vtables. */
- if (flag_apple_kext)
- {
- flag_indirect_virtual_calls = 1;
- flag_terminated_vtables = 1;
- }
- /* APPLE LOCAL end apple-kext ilr */
-
- return found;
- }
- }
- else if (p[0] == '-' && p[1] == 'W')
- {
- int setting = 1;
-
- /* The -W options control the warning behavior of the compiler. */
- p += 2;
-
- if (p[0] == 'n' && p[1] == 'o' && p[2] == '-')
- setting = 0, p += 3;
-
- if (!strcmp (p, "implicit"))
- warn_implicit = setting;
- else if (!strcmp (p, "long-long"))
- warn_long_long = setting;
- /* APPLE LOCAL begin long double */
- else if (!strcmp (p, "long-double"))
- warn_long_double = setting;
- /* APPLE LOCAL end long double */
- else if (!strcmp (p, "return-type"))
- warn_return_type = setting;
- else if (!strcmp (p, "ctor-dtor-privacy"))
- warn_ctor_dtor_privacy = setting;
- else if (!strcmp (p, "write-strings"))
- warn_write_strings = setting;
- else if (!strcmp (p, "cast-qual"))
- warn_cast_qual = setting;
- else if (!strcmp (p, "char-subscripts"))
- warn_char_subscripts = setting;
- else if (!strcmp (p, "pointer-arith"))
- warn_pointer_arith = setting;
- else if (!strcmp (p, "missing-prototypes"))
- warn_missing_prototypes = setting;
- else if (!strcmp (p, "strict-prototypes"))
- {
- if (setting == 0)
- warning ("-Wno-strict-prototypes is not supported in C++");
- }
- else if (!strcmp (p, "redundant-decls"))
- warn_redundant_decls = setting;
- else if (!strcmp (p, "missing-braces"))
- warn_missing_braces = setting;
- else if (!strcmp (p, "sign-compare"))
- warn_sign_compare = setting;
- else if (!strcmp (p, "float-equal"))
- warn_float_equal = setting;
- else if (!strcmp (p, "format"))
- set_Wformat (setting);
- else if (!strcmp (p, "format=2"))
- set_Wformat (2);
- else if (!strcmp (p, "format-y2k"))
- warn_format_y2k = setting;
- else if (!strcmp (p, "format-extra-args"))
- warn_format_extra_args = setting;
- else if (!strcmp (p, "format-nonliteral"))
- warn_format_nonliteral = setting;
- else if (!strcmp (p, "format-security"))
- warn_format_security = setting;
- else if (!strcmp (p, "missing-format-attribute"))
- warn_missing_format_attribute = setting;
- else if (!strcmp (p, "conversion"))
- warn_conversion = setting;
- else if (!strcmp (p, "parentheses"))
- warn_parentheses = setting;
- else if (!strcmp (p, "non-virtual-dtor"))
- warn_nonvdtor = setting;
- else if (!strcmp (p, "reorder"))
- warn_reorder = setting;
- else if (!strcmp (p, "synth"))
- warn_synth = setting;
- else if (!strcmp (p, "pmf-conversions"))
- 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, "old-style-cast"))
- warn_old_style_cast = setting;
- else if (!strcmp (p, "overloaded-virtual"))
- warn_overloaded_virtual = setting;
- else if (!strcmp (p, "multichar"))
- warn_multichar = setting;
- /* APPLE LOCAL -Wfour-char-constants */
- else if (!strcmp (p, "four-char-constants"))
- warn_four_char_constants = setting;
- else if (!strcmp (p, "unknown-pragmas"))
- /* Set to greater than 1, so that even unknown pragmas in
- system headers will be warned about. */
- warn_unknown_pragmas = setting * 2;
- else if (!strcmp (p, "non-template-friend"))
- warn_nontemplate_friend = setting;
- else if (!strcmp (p, "deprecated"))
- warn_deprecated = setting;
- /* APPLE LOCAL begin AltiVec */
- else if (!strcmp (p, "altivec-long-deprecated"))
- warn_altivec_long_deprecated = setting; /* radar 2841709 */
- /* APPLE LOCAL end AltiVec */
- /* APPLE LOCAL -Wmost */
- else if (!strcmp (p, "all") || !strcmp (p, "most"))
- {
- warn_return_type = setting;
- set_Wunused (setting);
- warn_implicit = setting;
- warn_switch = setting;
- set_Wformat (setting);
- warn_parentheses = setting;
- warn_missing_braces = setting;
- warn_sign_compare = setting;
- warn_multichar = setting;
- /* APPLE LOCAL disable -Wuninitialized vs -O warning */
- /* Only warn about unknown pragmas that are not in system
- headers. */
- warn_unknown_pragmas = 1;
-
- /* C++-specific warnings. */
- warn_ctor_dtor_privacy = setting;
- warn_nonvdtor = setting;
- warn_reorder = setting;
- warn_nontemplate_friend = setting;
- /* APPLE LOCAL begin -Wmost dpatel */
- if (!strcmp (p, "most"))
- {
- warn_parentheses = 0;
- }
- /* APPLE LOCAL end -Wmost dpatel */
- }
- else return strings_processed;
- }
- else if (!strcmp (p, "-E"))
- flag_preprocess_only = 1;
- else if (!strcmp (p, "-undef"))
- flag_undef = 1;
- else if (!strcmp (p, "-ansi"))
- flag_no_nonansi_builtin = 1, flag_iso = 1,
- flag_noniso_default_format_attributes = 0, flag_no_gnu_keywords = 1;
-#ifdef SPEW_DEBUG
- /* Undocumented, only ever used when you're invoking cc1plus by hand, since
- it's probably safe to assume no sane person would ever want to use this
- under normal circumstances. */
- else if (!strcmp (p, "-spew-debug"))
- spew_debug = 1;
-#endif
- else
- return strings_processed;
-
- return 1;
-}
-
-#endif
/* Incorporate `const' and `volatile' qualifiers for member functions.
FUNCTION is a TYPE_DECL or a FUNCTION_DECL.
QUALS is a list of qualifiers. Returns any explicit
@@ -1696,8 +1284,8 @@
if (DECL_DEFERRED_FN (fn))
return;
DECL_DEFERRED_FN (fn) = 1;
- /* APPLE LOCAL PFE */
if (!deferred_fns)
+ /* APPLE LOCAL PFE */
VARRAY_TREE_INIT (deferred_fns, 32, PFE_VARRAY "deferred_fns");
VARRAY_PUSH_TREE (deferred_fns, fn);
1.25 +5 -5 gcc3/gcc/cp/lang-specs.h
Index: lang-specs.h
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/cp/lang-specs.h,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- lang-specs.h 2002/08/11 19:22:07 1.24
+++ lang-specs.h 2002/08/26 20:08:08 1.25
@@ -39,7 +39,7 @@
/* Add support to invoke cpp-precomp with -precomp
or -cpp-precomp, and optionally with -E. */
"%{M|MM:cc1plus -E %{!no-gcc:-D__GNUG__=%v1}\
- %{ansi:-std=c++98} %(cpp_options) %2 %(cpp_debug_options)}\
+ %(cpp_options) %2 %(cpp_debug_options)}\
%{E|S:%{@:%e-E and -S are not allowed with multiple -arch flags}}\
%{E:\
%{cpp-precomp:\
@@ -50,7 +50,7 @@
%{ansi:-std=c++98} %(cpp_precomp_options) %y1}\
%{!cpp-precomp:\
cc1plus -E %{!no-gcc:-D__GNUG__=%v1}\
- %{ansi:-std=c++98} %(cpp_options) %2 %(cpp_debug_options)}}\
+ %(cpp_options) %2 %(cpp_debug_options)}}\
%{precomp: %(cpp_precomp) -lang-c++ \
%{!no-gcc:-D__GNUG__=%v1}\
%{!Wno-deprecated:-D__DEPRECATED}\
@@ -67,8 +67,8 @@
-D__GXX_ABI_VERSION=100\
%{ansi:-std=c++98}\
-D__cplusplus %(cpp_precomp_options) %y1 %d%g.ii \n}}}}}\
- %{save-temps|no-integrated-cpp:%{!cpp-precomp|fdump=*|fload=*:cpp0 -lang-c++
\
- %{ansi:-std=c++98} %(cpp_options) %b.ii \n}}\
+ %{save-temps|no-integrated-cpp:%{!cpp-precomp|fdump=*|fload=*:cc1plus -E
%{!no-gcc:-D__GNUG__=%v1}\
+ %(cpp_options) %2 %b.ii \n}}\
%{save-temps|no-integrated-cpp:%{cpp-precomp:%{!fdump=*:%{!fload=*:%(cpp_precomp)
-lang-c++ \
%{!no-gcc:-D__GNUG__=%v1}\
%{!Wno-deprecated:-D__DEPRECATED}\
@@ -79,7 +79,7 @@
cc1plus %{save-temps|no-integrated-cpp:%{!cpp-precomp:-fpreprocessed}
%{cpp-precomp:-cpp-precomp} %{save-temps:%b.ii} %{!save-temps:%g.ii}}\
%{!save-temps:%{!no-integrated-cpp:%{cpp-precomp:%{!fload=*:%{!fdump=*:-cpp-precomp
%d%{save-temps:%b.ii} %{!save-temps:%g.ii}}}}}}\
%{!save-temps:%{!cpp-precomp|fload=*|fdump=*:%(cpp_unique_options)}}\
- %{ansi:-std=c++98} %(cc1_options) %2 %{+e1*}\
+ %(cc1_options) %2 %{+e1*}\
%{!fsyntax-only:%(invoke_as)}}}}}",
CPLUSPLUS_CPP_SPEC},
/* APPLE LOCAL end cpp-precomp dpatel */
1.32 +3 -1 gcc3/gcc/cp/typeck.c
Index: typeck.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/cp/typeck.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- typeck.c 2002/08/26 05:41:02 1.31
+++ typeck.c 2002/08/26 20:08:08 1.32
@@ -4779,7 +4779,7 @@
/* They're pointers to objects. They must be aggregates that
are related non-virtually. */
base_kind kind;
-
+
if (IS_AGGR_TYPE (TREE_TYPE (type)) && IS_AGGR_TYPE (TREE_TYPE (intype))
&& lookup_base (TREE_TYPE (type), TREE_TYPE (intype),
ba_ignore | ba_quiet, &kind)
@@ -5921,6 +5921,7 @@
pfn_from_ptrmemfunc (t)
tree t;
{
+#if 0 /* APPLE MERGE fix this */
/* APPLE LOCAL begin 2.95-ptmf-compatibility turly 20020313 */
if (flag_apple_kext)
{
@@ -5939,6 +5940,7 @@
pfn_identifier, NULL_TREE, 0));
}
/* APPLE LOCAL end 2.95-ptmf-compatibility turly 20020313 */
+#endif
if (TREE_CODE (t) == PTRMEM_CST)
{
1.5 +0 -1 gcc3/gcc/ginclude/stdarg.h
Index: stdarg.h
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/ginclude/stdarg.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- stdarg.h 2002/08/02 10:08:46 1.4
+++ stdarg.h 2002/08/26 20:08:10 1.5
@@ -60,7 +60,6 @@
#endif
#define __va_copy(d,s) __builtin_va_copy(d,s)
-
/* Define va_list, if desired, from __gnuc_va_list. */
/* We deliberately do not define va_list when called from
stdio.h, because ANSI C says that stdio.h is not supposed to define
1.12 +1 -3 gcc3/gcc/ginclude/stddef.h
Index: stddef.h
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/ginclude/stddef.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- stddef.h 2002/08/26 05:41:20 1.11
+++ stddef.h 2002/08/26 20:08:10 1.12
@@ -83,9 +83,7 @@
#undef _SIZE_T_
#undef _BSD_SIZE_T_
#endif
-
-/* APPLE LOCAL patch (?) that need to be looked at in more detail */
-#if defined (__need_wchar_t) //|| defined (_STDDEF_H_)
+#if defined (__need_wchar_t) || defined (_STDDEF_H_)
#undef _WCHAR_T_
#undef _BSD_WCHAR_T_
#endif
1.5 +1 -1 gcc3/gcc/ginclude/varargs.h
Index: varargs.h
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/ginclude/varargs.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- varargs.h 2002/08/02 10:08:47 1.4
+++ varargs.h 2002/08/26 20:08:10 1.5
@@ -10,6 +10,6 @@
#error "GCC no longer implements <varargs.h>."
#error "Revise your code to use <stdarg.h>."
-#endif /* _VARARGS_H */
+#endif
/* APPLE LOCAL MW compatibility */
#endif /* __MWERKS__ */
1.25 +3 -3 gcc3/gcc/objc/lang-specs.h
Index: lang-specs.h
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/objc/lang-specs.h,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- lang-specs.h 2002/08/11 19:22:08 1.24
+++ lang-specs.h 2002/08/26 20:08:10 1.25
@@ -28,11 +28,11 @@
/* APPLE LOCAL begin cpp-precomp dpatel */
/* Add support to invoke cpp-precomp with -precomp or -cpp-precomp or -E.
Do not invoke cpp-precomp when -no-cpp-precomp is specified */
- "%{M|MM:%(trad_capable_cpp) -lang-objc %{ansi:-std=c89} %(cpp_options)
%(cpp_debug_options)}\
+ "%{M|MM:%(trad_capable_cpp) %(cpp_options) %(cpp_debug_options)}\
%{E|S:%{@:%e-E and -S are not allowed with multiple -arch flags}}\
%{E:\
%{traditional-cpp|no-cpp-precomp:\
- %(trad_capable_cpp) -lang-objc %{ansi:-std=c89} %(cpp_options)
%(cpp_debug_options)}\
+ %(trad_capable_cpp) %(cpp_options) %(cpp_debug_options)}\
%{!traditional-cpp:%{!no-cpp-precomp:\
%(cpp_precomp) -lang-objc -D__OBJC__ %{ansi:-std=c89}
%(cpp_precomp_options) %y0}}}\
%{!E:%{!M:%{!MM:\
@@ -60,7 +60,7 @@
%{precomp:%{@:-o %f%u.p}%{!@:%W{o}%W{!o*:-o %b-gcc3.p}}} }\
%{!traditional:%{!ftraditional:%{!traditional-cpp:\
%{fload=*|fdump=*|no-cpp-precomp:%{!precomp:\
- cc1obj %{ansi:-std=c89} %(cpp_unique_options) %(cc1_options)
%{gen-decls}}}}}}}}\
+ cc1obj %(cpp_unique_options) %(cc1_options) %{gen-decls}}}}}}}}\
%{!fsyntax-only:%{!precomp:%(invoke_as)}}}}}", 0},
/* APPLE LOCAL end cpp-precomp dpatel */
{".mi", "@objc-cpp-output", 0},
1.110 +16 -76 gcc3/gcc/objc/objc-act.c
Index: objc-act.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/objc/objc-act.c,v
retrieving revision 1.109
retrieving revision 1.110
diff -u -r1.109 -r1.110
--- objc-act.c 2002/08/26 05:41:28 1.109
+++ objc-act.c 2002/08/26 20:08:10 1.110
@@ -167,8 +167,6 @@
static void generate_strings PARAMS ((void));
static tree get_proto_encoding PARAMS ((tree));
static void build_selector_translation_table PARAMS ((void));
-/* APPLE LOCAL Objective-C++ */
-/* 'build_ivar_chain' is now extern. */
static tree objc_add_static_instance PARAMS ((tree, tree));
@@ -374,9 +372,6 @@
#define PROTOCOL_OBJECT_CLASS_NAME "Protocol"
-/* APPLE LOCAL constant strings */
-const char *constant_string_class_name = NULL;
-
static const char *TAG_GETCLASS;
static const char *TAG_GETMETACLASS;
static const char *TAG_MSGSEND;
@@ -594,53 +589,6 @@
c_objc_common_finish_file ();
#endif
}
-
-#if 0 /* APPLE MERGE move all the local changes */
-int
-objc_decode_option (argc, argv)
- int argc;
- char **argv;
-{
- const char *p = argv[0];
-
- if (!strcmp (p, "-gen-decls"))
- flag_gen_declaration = 1;
- else if (!strcmp (p, "-Wselector"))
- warn_selector = 1;
- else if (!strcmp (p, "-Wno-selector"))
- warn_selector = 0;
- else if (!strcmp (p, "-Wprotocol"))
- warn_protocol = 1;
- else if (!strcmp (p, "-Wno-protocol"))
- warn_protocol = 0;
- else if (!strcmp (p, "-fgnu-runtime"))
- flag_next_runtime = 0;
- else if (!strcmp (p, "-fno-next-runtime"))
- flag_next_runtime = 0;
- else if (!strcmp (p, "-fno-gnu-runtime"))
- flag_next_runtime = 1;
- else if (!strcmp (p, "-fnext-runtime"))
- flag_next_runtime = 1;
- else if (!strcmp (p, "-print-objc-runtime-info"))
- print_struct_values = 1;
-#define CSTSTRCLASS "-fconstant-string-class="
- else if (!strncmp (p, CSTSTRCLASS, sizeof(CSTSTRCLASS) - 2)) {
- if (strlen (argv[0]) <= strlen (CSTSTRCLASS))
- error ("no class name specified as argument to -fconstant-string-class");
- constant_string_class_name = xstrdup(argv[0] + sizeof(CSTSTRCLASS) - 1);
- }
-#undef CSTSTRCLASS
- else
- /* APPLE LOCAL Objective-C++ */
-#ifdef OBJCPLUS
- return cxx_decode_option (argc, argv);
-#else
- return c_decode_option (argc, argv);
-#endif
-
- return 1;
-}
-#endif
static tree
define_decl (declarator, declspecs)
@@ -2692,7 +2640,6 @@
get_class_ivars (interface)
tree interface;
{
-/* APPLE LOCAL end bitfield alignment */
tree my_name, super_name, ivar_chain;
my_name = CLASS_NAME (interface);
@@ -2737,6 +2684,14 @@
ivar_chain = head;
}
}
+#ifdef OBJCPLUS
+ {
+ tree ivar = ivar_chain;
+ /* finish_member_declaration takes only one decl at a time */
+ for (; ivar; ivar = TREE_CHAIN (ivar))
+ finish_member_declaration (copy_node (ivar));
+ }
+#endif
return ivar_chain;
}
@@ -6194,34 +6149,19 @@
return 1;
}
-#if 0 /* APPLE MERGE need local change? */
+/* APPLE LOCAL begin Objective-C++ */
/* Implement @defs (<classname>) within struct bodies. */
-
tree
-get_class_ivars (class_name)
+objcp_get_class_ivars (class_name)
tree class_name;
{
- /* APPLE LOCAL begin Objective-C++ */
- tree interface = lookup_interface (class_name);
- if (interface) {
- tree ivar = build_ivar_chain (interface);
-#ifdef OBJCPLUS
- /* finish_member_declaration takes only one decl at a time */
- for (; ivar; ivar = TREE_CHAIN (ivar)) {
- finish_member_declaration (copy_node (ivar));
- }
-#endif
- return ivar;
- }
- else
- {
- error ("Cannot find interface declaration for `%s'",
- IDENTIFIER_POINTER (class_name));
- return NULL_TREE;
- }
- /* APPLE LOCAL end Objective-C++ */
+ tree interface = lookup_interface (class_name);
+ if (interface)
+ return get_class_ivars (interface);
+ else
+ return NULL;
}
-#endif
+/* APPLE LOCAL end Objective-C++ */
/* Make sure all entries in CHAIN are also in LIST. */
1.21 +0 -6 gcc3/gcc/objc/objc-lang.c
Index: objc-lang.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/objc/objc-lang.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- objc-lang.c 2002/08/26 05:41:28 1.20
+++ objc-lang.c 2002/08/26 20:08:11 1.21
@@ -22,13 +22,7 @@
#include "config.h"
#include "system.h"
#include "tree.h"
-/* APPLE LOCAL begin Objective-C++ */
-#ifdef OBJCPLUS
-#include "cp-tree.h"
-#else
#include "c-tree.h"
-#endif
-/* APPLE LOCAL end Objective-C++ */
#include "c-common.h"
#include "toplev.h"
#include "objc-act.h"
1.13 +4 -4 gcc3/gcc/objcp/lang-specs.h
Index: lang-specs.h
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/objcp/lang-specs.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- lang-specs.h 2002/08/11 19:22:08 1.12
+++ lang-specs.h 2002/08/26 20:08:12 1.13
@@ -36,7 +36,7 @@
/* Add support to invoke cpp-precomp with -precomp
or -cpp-precomp, and optionally with -E. */
"%{M|MM:cc1objplus -E %{!no-gcc:-D__GNUG__=%v1}\
- %{ansi:-std=c++98} %(cpp_options) %2 %(cpp_debug_options)}\
+ %(cpp_options) %2 %(cpp_debug_options)}\
%{E|S:%{@:%e-E and -S are not allowed with multiple -arch flags}}\
%{E:\
%{cpp-precomp:\
@@ -47,7 +47,7 @@
%{ansi:-std=c++98} %(cpp_precomp_options) %y1}\
%{!cpp-precomp:\
cc1objplus -E %{!no-gcc:-D__GNUG__=%v1}\
- %{ansi:-std=c++98} %(cpp_options) %2 %(cpp_debug_options)}}\
+ %(cpp_options) %2 %(cpp_debug_options)}}\
%{precomp: %(cpp_precomp) -lang-objc++ \
%{!no-gcc:-D__GNUG__=%v1}\
%{!Wno-deprecated:-D__DEPRECATED}\
@@ -64,7 +64,7 @@
%{ansi:-std=c++98}\
-D__OBJC__ -D__cplusplus %(cpp_precomp_options) %y1 %d%g.mii
\n}}}}}\
%{save-temps|no-integrated-cpp:%{!cpp-precomp|fdump=*|fload=*:cc1objplus -E \
- %{ansi:-std=c++98} %(cpp_options) %2 %b.mii \n}}\
+ %(cpp_options) %2 %b.mii \n}}\
%{save-temps|no-integrated-cpp:%{cpp-precomp:%{!fdump=*:%{!fload=*:%(cpp_precomp)
-lang-objc++ \
%{!no-gcc:-D__GNUG__=%v1}\
%{!Wno-deprecated:-D__DEPRECATED}\
@@ -74,7 +74,7 @@
cc1objplus %{save-temps|no-integrated-cpp:%{!cpp-precomp:-fpreprocessed}
%{cpp-precomp:-cpp-precomp} %b.mii}\
%{cpp-precomp:%{!fload=*:%{!fdump=*:-cpp-precomp %d%b.mii}}}\
%{!save-temps:%{!no-integrated-cpp:%{!cpp-precomp|fload=*|fdump=*:%(cpp_unique_options)
%{!no-gcc:-D__GNUG__=%v1}}}}\
- %{ansi:-std=c++98} %(cc1_options) %{gen-decls} %2 %{+e1*}\
+ %(cc1_options) %{gen-decls} %2 %{+e1*}\
%{!fsyntax-only:%(invoke_as)}}}}}",
OBJCPLUSPLUS_CPP_SPEC},
/* APPLE LOCAL end cpp-precomp dpatel */
1.14 +2 -1 gcc3/gcc/objcp/objcp-decl.c
Index: objcp-decl.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/objcp/objcp-decl.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- objcp-decl.c 2002/08/17 06:29:14 1.13
+++ objcp-decl.c 2002/08/26 20:08:12 1.14
@@ -224,7 +224,8 @@
objcp_build_component_ref (datum, component)
tree datum, component;
{
- return build_component_ref (datum, component, NULL_TREE, 1);
+ /* APPLE MERGE fix this */
+ return NULL /*build_component_ref (datum, component, NULL_TREE, 1)*/;
}
int