aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/ChangeLog.apple-ppc
blob: aa4148e8497418d572795b9850386a7db6195507 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
2006-04-26 Fariborz Jahanian <fjahanian@apple.com>

        Radar 3803157 (method attributes)
	* parser.c (cp_parser_objc_maybe_attributes): New.
	(cp_parser_objc_method_keyword_params): Parse attributes at end
	of method declaration.
	(cp_parser_objc_method_tail_params_opt): Parse attributes after
	'...'.
	(cp_parser_objc_method_signature): Retreive method attribute for
	the caller.
	(cp_parser_objc_method_prototype_list): Pass new arg. to
	cp_parser_objc_method_signature and pass attributes to 
	objc_add_method_declaration.
	(cp_parser_objc_method_definition_list): Pass new arg. to
	cp_parser_objc_method_signature and pass attributes to
	objc_start_method_definition.
	
2006-04-19 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4516785
	* parser.c (cp_parser_simple_type_specifier): Don't lookup for objc object types
	if type is scope qualified.

2006-04-18  Devang Patel  <dpatel@apple.com>

	Radar 4517944
	* parser.c (cp_parser_enumerator_list): Eat CPP_BINCL and CPP_EINCL
	tokens.

2006-04-13  Devang Patel  <dpatel@apple.com>

	Radar 4503682
        * parser.c (cp_lexer_new_main): Eat CPP_BINCL, CPP_EINCL tokens.

2006-04-12 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4507230
	* parser.c (objc_foreach_stmt): Check for valid objc
	objects in foreach header.

2006-04-06 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4436866 
	(Missing copies attribute)
	* lex.c (reswords): New keyword 'copies' added.
	* parser.c (objc_cp_parser_at_property): Parse 'copies'
	attribute.

2006-03-27 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4133425
	* lex.c (unqualified_name_lookup_error): Issue doagnostic
	for private 'ivar' access.

2006-03-24  Devang Patel  <dpatel@apple.com>

        Radar 4484026
        * parser.c (cp_parser_enumerator_list): Eat CPP_BINCL and
        CPP_EINCL tokens.

2006-03-23  Devang Patel  <dpatel@apple.com>

	Radar 4488417
	* parser.c (cp_parser_initializer_clause): Check CPP_BINCL/CPP_EINCL
	tokens before checking CPP_OPEN_BRACE.

2006-03-22 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4436866
	* typeck.c (finish_class_member_access_expr): Call objc_build_getter_call.
	(build_modify_expr): Call objc_build_setter_call.
	* lex.c: Add keyword @property and context sensitive lexical tokens for
	readonly, getter, setter, ivar attribute names.
	* parser.c (objc_cp_parse_property_decl): New.
	(objc_cp_parser_at_property): New.
	(cp_parser_objc_method_prototype_list): Process @property keyword.
	(cp_parser_objc_method_definition_list): Ditto.

2006-03-16  Devang Patel  <dpatel@apple.com>

	Radar 4461042
	* cp/parser.c (cp_parser_initializer_clause): Eat CPP_BINCL/CPP_EINCL
	tokens.
	(cp_parser_initializer_list): Same.

2005-03-01 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4451818
	* call.c (standard_conversion, implicit_conversion): Ignore
	'volatile' attribute of artificially volatized type in objc when
	evaluating various conversion weights.

2005-02-28  Devang Patel  <dpatel@apple.com>
  	    Ziemowit Laski  <zlaski@apple.com>

	Radar 4137741
        * cp-objcp-common.h: Revert Radar 4133801 changes.
        * cp-tree.h: Likewise.
        * decl2.c: Likewise.
        * parser.c: Likewise.
        (cp_lexer_handle_pragma): Rename to cp_lexer_handle_pragma_etc();
        handle CPP_BINCL and CPP_EINCL tokens in addition to CPP_PRAGMA.
        (cp_lexer_new_main): Set defer_file_change_debug_hooks flag
        in preprocessor.
        (cp_parser_statement, cp_parser_declaration_seq_opt,
        cp_parser_member_specification_opt, cp_parser_cw_asm_declaration_seq_opt,
        cp_parser_cw_asm_statement, cp_parser_objc_interstitial_code):
        Call cp_lexer_handle_pragma_etc() for CPP_BINCL and CPP_EINCL tokens
        also.

2006-02-15   Fariborz Jahanian <fjahanian@apple.com>

        Radar 4445586
	* semantics.c (begin_do_stmt): DO_STMT nodes take an
	extra argument to build.

2006-02-15   Fariborz Jahanian <fjahanian@apple.com>

        Radar 4441551
	* parser.c (cp_parser_member_declaration): Warning on @defs as needed.
	* typeck.c (build_c_cast): Call diagnose_selector_cast.

006-02-13   Fariborz Jahanian <fjahanian@apple.com>

	Radar 4442245
	* typeck.c (build_class_member_access_expr):
	Check for a valid member declaration before calling
	objc_v2_build_ivar_ref.

006-02-02   Fariborz Jahanian <fjahanian@apple.com>

        Radar 4426814
	* typeck.c (build_modify_expr): Undo call to objc_read_weak
	on LHS of the assignment.
	* parser.c (cp_parser_cast_expression): Central place to add
	objc_read_weak call on expressions of __weak objects.

2006-01-30  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4386773
	* cp/lex.c (reswords): Add two new entries for @optional
	and @required keywords.
	* cp/parser.c (cp_parser_objc_interstitial_code): For
	@optional/@required set the optional/required flag.

2006-01-18  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4294910
	*  cp/parser.c (objc_foreach_stmt): Fix typo in diagnostic.

2006-01-18  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4294910
	* cp/parser.c (objc_foreach_stmt, objc_finish_foreach_stmt): New 
	functions.
	(cp_parser_iteration_statement): Check for a parsed
	foreach statement initialization and call objc_foreach_stmt instead.
	(cp_parser_simple_declaration): Take evasive action for a
	foreach initialization part.
	(cp_parser_init_declarator): Parse and recognize a foreach
	initialization part.

2005-12-15  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4229905
	* typeck.c (composite_pointer_type): Call objc_have_common_type
	when comparing two objective-c pointer types.

2005-12-06  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4360146
	* typeck.c (build_class_member_access_expr): Build the new ivar
	reference tree.

2006-04-26  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4508851
	* parser.c (cp_parser_objc_interstitial_code): Recognize
	and parse RID_NAMESPACE keyword.

2006-04-26  Mike Stump  <mrs@apple.com>

	Radar 4505741
	Rename cw_ to iasm_:
	See ../ChangeLog.apple-ppc for additional changes.
	* cp-tree.h: Rename ds_cw_asm to ds_iasm_asm.
	* decl.c: Likewise.
	Rename cw_asm_p to iasm_p.
	* parser.c: Likewise.
	Rename cp_lexer_cw_bol to cp_lexer_iasm_bol.
	Rename cp_parser_cw_asm_compound_statement to cp_parser_iasm_compound_statement.
	Rename cp_parser_cw_asm_top_statement to cp_parser_iasm_top_statement.
	Rename cp_parser_cw_asm_declaration_seq_opt to cp_parser_iasm_declaration_seq_opt.
	Rename cp_parser_cw_asm_line_seq_opt to cp_parser_iasm_line_seq_opt.
	Rename cp_parser_cw_asm_line to cp_parser_iasm_line.
	Rename cp_parser_cw_skip_to_eol to cp_parser_iasm_skip_to_eol.
	Rename cp_parser_cw_maybe_skip_comments to cp_parser_iasm_maybe_skip_comments.
	Rename cp_parser_cw_asm_statement_seq_opt to cp_parser_iasm_statement_seq_opt.
	Rename cw_build_identifier_string to iasm_build_identifier_string.
	Rename cp_parser_cw_identifier to cp_parser_iasm_identifier.
	Rename cp_parser_cw_identifier_or_number to cp_parser_iasm_identifier_or_number.
	Rename cp_parser_cw_asm_maybe_prefix to cp_parser_iasm_maybe_prefix.
	Rename cp_parser_cw_asm_statement to cp_parser_iasm_statement.
	Rename cp_parser_cw_skip_to_next_asm to cp_parser_iasm_skip_to_next_asm.
	Rename cp_parser_cw_asm_operands to cp_parser_iasm_operands.
	Rename cp_parser_cw_asm_operand to cp_parser_iasm_operand.
	Rename cp_parser_cw_asm_relative_branch to cp_parser_iasm_relative_branch.
	Rename cp_parser_cw_asm_postfix_expression to cp_parser_iasm_postfix_expression.
	* semantics.c: Likewise.
	Rename cw_asm_cp_build_component_ref to iasm_cp_build_component_ref.

2006-04-17  Devang Patel  <dpatel@apple.com>

	Radar 4499790
	* parser.c (cp_parser_string_literal): Enable pascal strings for
	wchars.

2006-04-12  Mike Stump  <mrs@apple.com>

	Radar 4477426 4466768
	* parser.c (cw_build_identifier_string): Handle pseudo instructions bettter.

2006-03-13  Mike Stump  <mrs@apple.com>

	Radar 4230099
	* decl2.c (determine_visibility): Add suppport for
	-fvisibility-ms-compat.
	* decl.c (cxx_init_decl_processing): Likewise.

2006-02-08  Mike Stump  <mrs@apple.com>

	Radar 4407059
	* parser.c (cp_parser_unary_operator): Only recognize "offset"
	when doing x86 assembly.

2006-01-20  Mike Stump  <mrs@apple.com>

	Radar 4381918
	* decl.c (start_preparsed_function): Avoid warnings about lack of return
	in asm functions.

2005-12-14  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4278774
	* pt.c (cxx_sizeof_or_alignof_expr): Instantiate @endcode(T).
	* parser.c (cp_parser_objc_encode_expression): Build a templatized 
	parse tree for @encode(T).

2005-12-13  Mike Stump  <mrs@apple.com>

	* Revert 2005-12-07  Devang Patel  <dpatel@apple.com> Radar 4137741

2005-12-08  Mike Stump  <mrs@apple.com>

	Radar 4371551
	* parser.c (cp_parser_cw_asm_postfix_expression): Also handle
	exprs with no type.

2005-12-07  Devang Patel  <dpatel@apple.com>
   	    Ziemowit Laski  <zlaski@apple.com>

        Radar 4137741
        * cp-objcp-common.h: Revert Radar 4133801 changes.
        * cp-tree.h: Likewise.
        * decl2.c: Likewise.
        * parser.c: Likewise.
        (cp_lexer_handle_pragma): Rename to cp_lexer_handle_pragma_etc();
        handle CPP_BINCL and CPP_EINCL tokens in addition to CPP_PRAGMA.
        (cp_lexer_new_main): Set defer_file_change_debug_hooks flag
        in preprocessor.
        (cp_parser_statement, cp_parser_declaration_seq_opt,
        cp_parser_member_specification_opt, cp_parser_cw_asm_declaration_seq_opt,
        cp_parser_cw_asm_statement, cp_parser_objc_interstitial_code):
        Call cp_lexer_handle_pragma_etc() for CPP_BINCL and CPP_EINCL tokens
        also.

2005-11-08  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4330422

	* typeck.c (comp_ptr_ttypes_real): Remove the hack. un-volatize the
	artiificially 'volatized' type before doing pointer comparison.

2005-10-17  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4290840
	
	* parser.c (cp_parser_objc_method_keyword_params): Check for valid
	method parameters and issue error.
	(cp_parser_objc_method_definition_list): Check for invalid tokens
	which cannot start a function definition.

2005-10-14  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4294425

	* parser.c (cp_parser_objc_message_args): Check for missing message
	arguments and syntax error.

2005-10-13  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4261146

	* parser.c (cp_parser_objc_class_ivars): Check for @end/eof while
	looking for '}'.

2005-10-04  Devang Patel  <dpatel@apple.com>

        Radar 4278470
	* parser.c (cp_lexer_new_main): Initialized saved_pos.value.

2005-09-23  Mike Stump  <mrs@apple.com>
	
	Radar 4259442
	* parser.c (cp_parser_compound_statement): Handle opcode int.
	(cp_parser_asm_definition): Add statement_p parameter.
	Handle opcode int.
	(cp_parser_cw_identifier): Handle opcode int.
	(cw_asm_typename_or_reserved): Likewise.

2005-09-15  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4258924
	* cp/parser.c (cp_parser_cw_asm_postfix_expression): Add check for
	FUNCTION_DECL during lookahead.

2005-09-14  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4257049
	* cp/parser.c (cw_asm_typename_or_reserved): Check for typename.

2005-08-23  Mike Stump  <mrs@apple.com>

	Radar 4211971
	* parser.c (cp_parser_primary_expression): Add support for complex memory
	addressing.
	(cp_parser_cw_asm_postfix_expression): Likewise.
	* typeck.c (build_x_binary_op): Likewise.

2005-08-19  Mike Stump  <mrs@apple.com>

	Radar 4211947
	* parser.c (cp_parser_cw_maybe_skip_comments): Add support for
	; comments.
	(cp_parser_asm_definition): Likewise.
	(cp_parser_cw_skip_to_eol): Likewise.
	(cp_parser_cw_maybe_skip_comments): Likewise.
	(cp_parser_cw_asm_top_statement): Likewise.
	(cp_parser_cw_asm_statement_seq_opt): Likewise.
	(cp_parser_cw_asm_statement): Likewise.

2005-08-18  Mike Stump  <mrs@apple.com>

	Radar 4214021
	* parser.c (cp_parser_asm_definition): Add asm nop support.
	(cp_parser_cw_asm_top_statement): Likewise.
	(cp_parser_cw_asm_declaration_seq_opt): Likewise.
	(cp_parser_cw_asm_operands): Likewise.

2005-08-15  Ziemowit Laski  <zlaski@apple.com>

	Radar 4093475
	* parser.c (cp_parser_objc_interstitial_code): Catch stray
	'{' and '}' tokens and issue appropriate errors.
	(cp_parser_objc_method_prototype_list,
	cp_parser_objc_method_definition_list): Bail out if end-of-file
	is seen; issue error if trailing '@end' is not seen.

2005-07-25 Fariborz Jahanian <fjahanian@apple.com>

	Radar 4205577
	* cp/parser.c (cp_parser_cw_asm_postfix_expression) .align can also
	be preceeded by a label_decl (because of recent changes).
	
2005-07-25 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4187916
        * cp-tree.h (can_convert_arg, fn_type_unification): New argument.
        * call.c (add_template_candidate_real): Pass down 'flags' to
        fn_type_unification.
        (can_convert_arg): New 'flags' argument. Pass it to call to
        implicit_conversion instead of LOOKUP_NORMAL.
        * class.c (resolve_address_of_overloaded_function): Add
        LOOKUP_NORMAL in call to can_convert_arg.
        (resolve_address_of_overloaded_function): Ditto.
        * decl.c (reshape_init, check_default_argument): Ditto.
        * typeck.c (build_ptrmemfunc): Ditto.
        * typeck2.c (digest_init): Ditto.
        (unify): Add LOOKUP_NORMAL to call to type_unification_real.
        * pt.c (type_unification_real): Add 'flags' argument.
        (fn_type_unification): Pass 'flags' to type_unification_real.
        (type_unification_real): Pass new 'flags' argument to call to
        can_convert_arg.

2005-08-02  Ziemowit Laski  <zlaski@apple.com>

	Radar 4185810
	* parser.c (cp_parser_compound_statement): Continue
	parsing even if the initial '{' is missing; an error
	message is already being produced.
	(cp_parser_statement_seq_opt): In addition to '}' and
	end-of-file, a statement sequence may also be terminated
	by a stray 'else' or '@end'.

2005-07-22  Devang Patel  <dpatel@apple.com>

	Radar 4182972
	* name-lookup.c (pushtag): Do not set DECL_IGNORED_P bit.
	* decl.c (grokdeclarator): Do not generate debug info for anonymous 
	aggregate type when it receives real name.

2005-07-26  Ziemowit Laski  <zlaski@apple.com>

	Radar 4168392
	* decl.c (check_tag_decl): In '-fms-extensions' mode,
	turn anonymous fields of aggregate (struct or union) type
	into anonymous aggregates.  For structs, issue a warning
	if in '-pedantic' mode.

2005-07-25  Devang Patel  <dpatel@apple.com>

	Radar 4184203
	Undo PR c++/1016 patch.
	2005-03-13  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>

	* cp-tree.h (pushtag): Adjust declaration.
	* decl.c (lookup_and_check_tag): Call lookup_type_scope if
	lookup_name fails.
	(xref_tag): Adjust call to pushtag.  Make hidden class visible.
	(start_enum): Adjust call to pushtag.
	* name-lookup.c (ambiguous_decl): Ignore hidden names.
	(qualify_lookup): Change return type to bool.
	(hidden_name_p): New function.
	(lookup_namespace_name, unqualified_namespace_lookup,
	lookup_name_real): Use it.
	(lookup_type_scope): Update comments.
	(maybe_process_template_type_declaration): Change parameter name
	from globalize to is_friend.
	(pushtag): Change globalize parameter of type int to tag_scope.
	Hide name if introduced by friend declaration.
	* name-lookup.h (hidden_name_p): Add declaration.
	* parser.c (cp_parser_lookup_name): Don't deal with hidden name
	here.
	* pt.c (push_template_decl_real): Make hidden class template
	visible.
	(lookup_template_class, instantiate_class_template): Adjust call
	to pushtag.
	* semantics.c (begin_class_definition): Likewise.
	* rtti.c (init_rtti_processing, build_dynamic_cast_1, 
	tinfo_base_init, emit_support_tinfos): Use ts_current instead of
	ts_global.

2005-07-22  Devang Patel  <dpatel@apple.com>

	Radar 4167759
	* class.c (finish_struct_1): Limit debug info for ctors/dtors.
	(cp_set_decl_ignore_flag): New.
	* cp-tree.h (cp_set_decl_ignore_flag): New.
	* search.c (note_debug_info_needed): Limit debug info for ctors/dtors.

2005-07-22  Devang Patel  <dpatel@apple.com>

	Radar 4182972
	* name-lookup.c (pushtag): Update comment.
	* decl.c (grokdeclarator): Generate debug info for anonymous aggregate
	type when it receives real name.

2005-07-18  Ziemowit Laski  <zlaski@apple.com>

	Radar 4175534
	* call.c (standard_conversion): Do not issue warnings when
	comparing ObjC pointer types.

2005-06-30 Devang Patel  <dpatel@apple.com>

	* lang-specs.h: While making PCH, invoke as if -fsave-repository
	is used.

2005-06-22  Ziemowit Laski  <zlaski@apple.com>
	Radar 4154928
	* call.c (standard_conversion): Allow for a pointer conversion
	between any two ObjC pointer types.
	* typeck.c (composite_pointer_type): Determine common type
	for two ObjC pointer types.

2005-06-15  Devang Patel  <dpatel@apple.com>

        * parser.c (struct cp_lexer_file): Do not use GTY markers.
        * decl2.c (cp_finish_file): Flush lexer file stack before writing PCH.

2005-06-02  Devang Patel  <dpatel@apple.com>

	Radar 4133801
	* parser.c (struct cp_lexer_file): Decorate using GTY markers.
	(cp_lexer_new_main): Initialize fields of new tokens.

2005-06-02  Devang Patel  <dpatel@apple.com>

	Radar 4133801
	* cp-tree.h (cp_flush_lexer_file_stack): New.
	* parser.c (cp_flush_lexer_file_stack): New.
	(cp_lexer_file_stack, last_cp_lexer_file): Make static.
	(cp_add_lexer_file): Initialize next field.
	* decl2.c (cp_finish_file): Flush cp_lexer_file_stack.

2005-05-19  Ziemowit Laski  <zlaski@apple.com>

	Radar 4035492
	* class.c (layout_class_type): Do not issue C++ ABI warnings for
	ObjC structs.
	* decl.c (objc_mark_locals_volatile): Streamline by calling
	objc_volatilize_decl().
	* parser.c (cp_parser_objc_message_expression): Allow simple type
	specifiers (instead of merely type names) as message receivers.
	* pt.c (template_args_equal): Do not call objc_comptypes().
	* typeck.c (composite_pointer_type): If both pointers are ObjC-esque,
	arbitrarily choose the first; do not call objc_comptypes().
	(comp_array_types): Do not call objc_comptypes().
	(convert_for_assignment): Call objc_compare_types().
	(comp_ptr_ttypes_real): Call objc_type_quals_match() before
	concluding that types do not match.

2005-06-01  Devang Patel  <dpatel@apple.com>

	Radar 4133801
	* Make-lang.in (cp/parser.o): Depend on debug.h.
	* cp-objcp-common.h (LANG_HOOKS_START_SOURCE_FILE,
	LANG_HOOKS_END_SOURCE_FILE): New.
	* cp-tree.h (cp_start_source_file, cp_end_source_file): New.
	* parser.c (debug.h): Include.
	(enum cp_file_entry_kind): New.
	(struct cp_lexer_file): New.
	(cp_lexer_file_stack, last_cp_lexer_file): New.
	(cp_add_lexer_file, cp_lexer_copy_token, cp_parser_bincl_eincl): New.
	(cp_lexer_new_main): Insert new CPP_BINCL and CPP_EINCL tokens based
	on cp_lexer_file_stack.
	(cp_lexer_peek_nth_token): Skip CPP_BINCL and CPP_EINCL tokens.
	(cp_lexer_peek_token): Process CPP_BINCL and CPP_EINCL tokens.

2005-04-25  Ziemowit Laski  <zlaski@apple.com>

	Radar 4094385
	* semantics.c (finish_id_expression): Correctly retrieve function
	candidate from a BASELINK node, if one was provided.

2005-04-20  Mike Stump  <mrs@apple.com>

	Radar 4077104
	* parser.c (cp_parser_unary_expression): Handle -40(sp) in CW asms better.

2005-04-20 Devang Patel <dpatel@apple.com>

	Radar 4093536
	Undo PR libstdc++/10606 fix.
        2005-02-18  Richard Henderson  <rth@redhat.com>

        PR libstdc++/10606
        * except.c (do_get_exception_ptr): New.
        (expand_start_catch_block): Use it.

2005-04-08  Ziemowit Laski  <zlaski@apple.com>

	Radar 4055183
	* typeck.c (build_function_call): Call
	objc_rewrite_function_call() to handle casts.

2005-03-11  Ziemowit Laski  <zlaski@apple.com>

	Radar 3995882
	* decl.c (objc_mark_locals_volatile): Mark local variables and
	parameters 'volatile' in ways expected by the C++ front-end.

2005-03-07  Devang Patel  <dpatel@apple.com>

	* class.c (tree-iterator.h): Include.

2005-03-02  Robert Bowdidge <bowdidge@apple.com
	Radar 4025293
	* cp/typeck.c (convert_member_func_to_ptr) Ban casts from pointer-to-
        member-function to pointer-to-function whenever the -fapple-kext flag
	was passed to the compiler.  Behavior changed between 3.3 and 4.0 in
	incompatible ways, and the IOKit team wants all kexts to use a macro
	that provides the correct (3.3) behavior.

2005-02-21  Ziemowit Laski  <zlaski@apple.com>

	Radar 3809189
	* typeck2.c (digest_init): Factor out Pascal-ness of string
	initializer; allow NUL terminator to not fit into the array
	being initialized.

2005-02-18  Ziemowit Laski  <zlaski@apple.com>

	Radar 4011192
	* parser.c (cp_parser_objc_try_catch_finally_statement): When
	parsing '@finally' blocks, make sure the compound statement
	winds up in a special STATEMENT_LIST instead of current scope.
	(cp_parser_objc_synchronized_statement): Likewise for
	'@synchronized' blocks.

2005-02-17  Ziemowit Laski  <zlaski@apple.com>

	Radar 3635843, 3922342
	* tree.c (lvalue_or_else): Do not emit warning if
	'-Wno-non-lvalue-assign' has been specified.
	* typeck.c (build_modify_expr): Call
	objc_generate_write_barrier() if '-fobjc-gc' has been specified.

2005-02-16  Fariborz Jahanian <fjahanian@apple.com>

	Radar 3971074

	* parser.c (cp_parser_cw_asm_statement): Pass lineno to cw_asm_stmt.

2005-02-16  Fariborz Jahanian <fjahanian@apple.com>

        Radar 3970655

        * cp/parser.c (cw_build_identifier_string): New function.
        (cp_parser_cw_identifier): Build the tree for a '.'identifier.
        (cp_parser_cw_asm_postfix_expression): Some disambiguation case.

2005-02-10  Ziemowit Laski  <zlaski@apple.com>

	Radar 3993052
	* parser.c (cp_parser_objc_interstitial_code): New routine.
	(cp_parser_objc_method_prototype_list): Call
	cp_parser_objc_interstitial_code() instead of doing
	non-ObjC++ parsing locally.
	(cp_parser_objc_method_definition_list): Likewise.

2005-02-10  Ziemowit Laski  <zlaski@apple.com>

	Radar 3982256
	* cp-objcp-common.h (cxx_get_alias_set, 
	cxx_warn_unused_global_decl, cp_expr_size, cp_tree_size,
	cp_var_mod_type_p, cxx_initialize_diagnostics,
	cxx_types_compatible_p): Move prototypes ...
	* cp-tree.h: ... here.

2005-02-08  Ziemowit Laski  <zlaski@apple.com>

	Radar 3987120
	* parser.c (cp_parser_objc_encode_expression): Call
	'complete_type (cp_parser_type_id ())' instead of
	'cp_parser_objc_typename ()' to retrieve argument type.

2005-02-02  Ziemowit Laski  <zlaski@apple.com>

	Radar 3978104
	* parser.c (cp_parser_objc_method_prototype_list): Allow stray
	semicolons in between method signatures.

2005-01-31  Ziemowit Laski  <zlaski@apple.com>

	Radar 3978168
	* tree.c (lvalue_or_else): Allow certain non-lvalues
	as arguments to '&', and print appropriate warning.

2005-01-27  Ziemowit Laski  <zlaski@apple.com>

	Radar 3971244
	* typeck.c (composite_pointer_type): Check for 
	ObjC subtype relations.

2005-01-26  Matt Austern  <austern@apple.com>

	Radar 3972840
	* call.c (build_over_call): Set type of function node correctly.
	Type returned by build_vfn_ref_using_vtable is *not* what we
	want.
	* class.c (build_vfn_ref_using_vtable): Duplicate logic in 
	build_vfn_ref for setting attributes of vtable array ref node.
	
2005-01-26  Devang Patel  <dpatel@apple.com>

	Radar 3971329
	* parser.c (cp_parser_objc_method_definition_list): Parse extern
	linkage specification.

2005-01-24  Ziemowit Laski  <zlaski@apple.com>

	Radar 3968938
	* parser.c (cp_parser_simple_type_specifier): After
	constructing a protocol-qualified ObjC type, record
	it in the DECL_SPECS structure.

2005-01-23  Ziemowit Laski  <zlaski@apple.com>

	Radar 3961973
	* cp-tree.h (lvalue_or_else): Change type of first parameter
	from 'tree' to 'tree *'.
	* tree.c (lvalue_or_else): Change first parameter from
	'tree' to 'tree *'; handle conditional lvalues in addition
	to lvalue casts; when rewriting expressions, create a new
	tree instead of clobbering an existing one.
	* typeck.c (build_unary_op, build_modify_expr): Adjust
	calls to lvalue_or_else().

2005-01-19  Matt Austern  <austern@apple.com>

        Radar 3960754
	* typeck.c (comptypes): Handle return code from objc_comptypes
	correctly.

2005-01-18  Mike Stump  <mrs@apple.com>

	Radar 3956093
	* class.c (has_apple_kext_compatibility_attr_p): Avoid problems
	when there are no base classes.

2005-01-18  Ziemowit Laski  <zlaski@apple.com>

	* parser.c (cp_parser_cw_identifier): Reapply change
	just reverted.

2005-01-18  Ziemowit Laski  <zlaski@apple.com>

	* parser.c (cp_parser_cw_identifier): Revert change
	from 2005-01-14.

2005-01-17  Ziemowit Laski  <zlaski@apple.com>

	Radar 3955336
	* parser.c (cp_parser_objc_message_receiver): Try parsing
	receiver as an expression first; failing that, as a
	nested type.

2005-01-17  Ziemowit Laski  <zlaski@apple.com>

	Radar 3951689
	* parser.c (cp_parser_objc_try_catch_finally_statement,
	cp_parser_objc_synchronized_statement, cp_parser_objc_throw_statement
	cp_parser_objc_statement): New functions.
	(cp_parser_statement): Call cp_parser_objc_statement() to
	parse Objective-C statements.

2005-01-15  Geoffrey Keating  <geoffk@apple.com>

	* g++spec.c: Remove APPLE LOCAL changes involving
	macosx_version_min_required.

2005-01-14  Ziemowit Laski  <zlaski@apple.com>

	* parser.c (cp_parser_cw_identifier): Add a default:
	to squash compiler warnings.

2005-01-08  Ziemowit Laski  <zlaski@apple.com>

	Radar 3913725
	* tree.c (lvalue_or_else): If expression is not an lvalue,
	check if it is a cast of an lvalue; if so, and if the cast
	involves POD types with identical size and aligment,
	rewrite '(type)expr' into '*(type *)&expr' and allow the
	result as an lvalue.

2005-01-07  Devang Patel  <dpatel@apple.com>

	Radar 3943502
	* parser.c (cp_parser_objc_defs_expression): New.
	(cp_parser_member_declaration): Handle @defs.

2005-01-06  Robert Bowdidge <bowdidge@apple.com>

	Radar 3943783
	* class.c: change has_apple_kext_compatibility_attr_p to use
        BINFO_BASE_BINFO for walking class hierarchy.

2005-01-06  Devang Patel  <dpatel@apple.com>

	Radar 3941766
	* parser.c (cp_parser_objc_class_ivars): Add '}' check.

2005-01-05  Mark Mitchell  <mark@codesourcery.com>
            Matt Austern  <austern@apple.com>

        Radar 3934803
	PR c++/18369
	* init.c (build_new_1): Handle parenthesized type-ids that name an
	array type.  Tidy.

2004-12-20  Matt Austern  <austern@apple.com>

        Radar 3845716
	PR c++/19044
	* decl.c (make_rtl_for_nonlocal_decl): Use set_builtin_user_assembler_name

2004-12-10  Ziemowit Laski  <zlaski@apple.com>

	Radar 3640156, 3877958
	* decl.c (builtin_function_1): Do not require subsequent declarations
	for AltiVec PIM builtins.

2004-12-07  Mike Stump  <mrs@apple.com>

	Radar 3603833, 3896176, 3518821.
	* parser.c (cp_parser_binary_expression): Add support for lines
	that start with named operators such as and.
	(cp_parser_cw_identifier): Move reused code from here to
	cw_get_identifier.
	
2004-11-17  Mike Stump  <mrs@apple.com>

	Radar 3860322
	g++.dg/asm-block-3.C
	* parser.c (cp_parser_cw_identifier): Handle C++ keywords like
	and, or, xor in CW asm blocks.

2004-11-14  Ziemowit Laski  <zlaski@apple.com>

	Radar 3877761
	* parser.c (cp_parser_objc_class_ivars): Allow an optional
	trailing semicolon, per existing usage.

2004-11-10  Ziemowit Laski  <zlaski@apple.com>

	Radar 3761423
	* typeck.c (finish_class_member_access_expr): Insert call to
	objc_is_public() to check ObjC ivar access.

2004-11-08  Ziemowit Laski  <zlaski@apple.com>

	Radar 3869280
	* tree.c (lvalue_p_1): Determine lvalue-ness of CONST_DECLs the same
	way as for VAR_DECLs.

2004-11-03  Ziemowit Laski  <zlaski@apple.com>

	Radar 3863563 (fix from mainline)
	* cp-lang.c (cxx_types_compatible_p): Remove prototype and definition.
	(LANG_HOOKS_TYPES_COMPATIBLE_P): Move to cp-objcp-common.h.
	* cp-objcp-common.c (cxx_types_compatible_p): Moved definition here
	from cp-lang.c.
	* cp-objcp-common.h (cxx_types_compatible_p): Moved prototype here
	from cp-lang.c.
	(LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from cp-lang.c.

2004-11-01  Ziemowit Laski  <zlaski@apple.com>

	Radar 2810013
	* parser.c (cp_parser_primary_expression): Perform instace variable
	lookup in conjunction with C++ identifier expression lookup.
	(cp_parser_postfix_expression): Moved instance variable lookup
	to cp_parser_primary_expression().
	
2004-10-21  Ziemowit Laski  <zlaski@apple.com>

	Radar 3540965
	* parser.c (cp_parser_postfix_expression): Do not forget to parse
	the rhs of a postfix expression when the lhs is an instance variable.

2004-10-18  Robert Bowdidge <bowdidge@apple.com>

        Radar 3843618
        * gcc/cp/parser.c: Bring the change for PR/17829 over from mainline
        so that Finder_FE will build again.

2004-10-13  Ziemowit Laski  <zlaski@apple.com>

	Radar 3677258
	* cp-tree.h (struct lang_identifier): Add 'interface_value' field.

2004-09-14  Andrew Pinski  <apinski@apple.com>

	Rest of Radar 3753405
	* cp-tree.h (enum cp_decl_sepcs): Add ds_cw_asm.
	* decl.c (grokdeclarator): Rename cw_asm_specbit to cw_asm_p to mirror
	the other specbits.
	Access specbits for cw_asm.
	Add "asm" to decl_specs_names.
	Remove MERGE FIXME comment.
	* parser.c (cp_parser_decl_specifier_seq, <case RID_ASM>): Mirror the
	other decl spec bits.
	
2004-08-22 Andrew Pinski  <apinski@apple.com>

	Revert:
	2004-08-22  Andrew Pinski  <apinski@apple.com>
	PR c++/14029
	* typeck.c (build_unary_op): Use &a.b if the foldded lowered
	expression is not constant.

2004-08-22  Andrew Pinski  <apinski@apple.com>

	PR c++/14029
	* typeck.c (build_unary_op): Use &a.b if the foldded lowered
	expression is not constant.

2004-08-10  Devang Patel  <dpatel@apple.com>

	Remove Symbol Separation.
	Radar 3555440. Reviewed by Mike Stump.
        * decl2.c (finish_file): Do not write context.

2004-08-08  Andrew Pinski  <apinski@apple.com>

	* cp/lex.c (cxx_init): Remove APPLE LOCAL for setting -gused
	by default as it is handled in CC1_SPECs now.

2004-08-03  Stan Shebs  <shebs@apple.com>

	Support for CodeWarrior-style assembly language blocks and
	functions.  Radar 3368707.
	* cp-tree.h (cw_asm_cp_build_component_ref): Declare.
	* decl.c (grokdeclarator): Recognize asm keyword, set flag
        on function decl if seen.
	* parser.c (cp_lexer_get_preprocessor_token): Allow @-tokens
	if doing asm.
	(cp_parser_primary_expression): Recognize @-tokens in asm,
	replace with @-identifier (which will become a label) later.
	(cp_parser_unary_expression): Call asm-specific postfix
	expression handler.
	(cp_parser_compound_statement): Handle asm compound statements
	specially.
	(cp_parser_statement_seq_opt): Handle statement sequences in
	asm blocks specially.
	(cp_parser_simple_declaration): Leave instead of erroring out
	if apparent asm opcode is seen.
	(cp_parser_decl_specifier_seq,
	cp_parser_storage_class_specifier_opt): Accept RID_ASM as a specifier.
	(cp_parser_asm_definition): Detect asm blocks and handle.
	(cp_parser_cw_asm_compound_statement,
	cp_parser_cw_asm_declaration_seq_opt, cp_parser_cw_asm_line_seq_opt,
	cp_parser_cw_asm_line, cp_parser_cw_asm_statement_seq_opt,
	cp_parser_cw_asm_statement, cp_parser_cw_asm_operands,
	cp_parser_cw_asm_operand, cp_parser_cw_asm_postfix_expression,
	cw_asm_typename_or_reserved): New functions.
	semantics.c (finish_id_expression): Handle register names
	and labels in asm blocks specially.
	* typeck.c (cw_asm_cp_build_component_ref): New function.

2004-08-01  Devang Patel  <dpatel@apple.com>

         Re-implement -fwritable-strings support. 
         Radar : 3699482 

        * decl.c (cxx_init_decl_processing): Check flag_writable_strings.

2004-08-01  Geoffrey Keating  <geoffk@apple.com>

	* decl.c (grokdeclarator): Don't call warn_about_long_double.

2004-06-08  Fariborz Jahanian <fjahanian@apple.com>

	* decl2.c (maybe_emit_vtables, get_guard):
	Remove all APPLE LOCAL coalescing codes.
	(import_export_decl): Remove all APPLE LOCAL coalescing codes,
	except for one call to comdat_linkage.

2004-06-08  Fariborz Jahanian <fjahanian@apple.com>

        * decl2.c (maybe_emit_vtables, import_export_decl, get_guard):
        Resore various APPLE LOCAL coalescing codes.

2004-06-07  Fariborz Jahanian <fjahanian@apple.com>

	* decl2.c (maybe_emit_vtables, import_export_decl, get_guard):
	Remove various APPLE LOCAL coalescing codes. 

2004-04-02  Ziemowit Laski  <zlaski@apple.com>
        
        Remove APPLE LOCAL AltiVec code whenever possible; merge in
        AltiVec/VECTOR_TYPE-handling code from mainline.