1260014Spfg006-02-15   Fariborz Jahanian <fjahanian@apple.com>
2260014Spfg
3260014Spfg	Radar 4445586
4260014Spfg	* c-common.def (DO_STMT): Takes an extra argument.
5260014Spfg
6260014Spfg/* APPLE LOCAL merge marger */
7260014Spfg/* Stuff under is in fsf mainline, but not in the 4.2 branch */
8260014Spfg
9260014Spfg2007-08-02  Geoffrey Keating  <geoffk@apple.com>
10260014Spfg
11260014Spfg	Radar 3274130, 5295549
12260014Spfg	* c-parser.c (c_parser_while_statement): Handle attributes.
13260014Spfg	(c_parser_do_statement): Handle attributes.
14260014Spfg	(c_parser_for_statement): Handle attributes.
15260014Spfg	* c-common.c (handle_unused_attribute): Warn if a statement
16260014Spfg	is marked as unused.
17260014Spfg	* c-tree.h (c_finish_loop): Add extra parameter.
18260014Spfg	* c-typeck.c (c_finish_loop): Handle attributes.
19260014Spfg	* doc/extend.texi (Attribute Syntax): Document statement attributes.
20260014Spfg	(Label Attributes): Explain how they apply to statements.
21260014Spfg	* tree-cfg.c (cleanup_dead_labels): Preserve labels with
22260014Spfg	user-specified alignment or attributes.
23260014Spfg	* stmt.c (expand_label): Update and correct documentation.
24260014Spfg
25260014Spfg	* c-common.c (handle_aligned_attribute): Handle LABEL_DECL.
26260014Spfg	* rtl.def (CODE_LABEL): Add 8th operand.
27260014Spfg	* rtl.h (LABEL_ALIGN_LOG): New.
28260014Spfg	(LABEL_MAX_SKIP): New.
29260014Spfg	(SET_LABEL_ALIGN): New.
30260014Spfg	* emit-rtl.c (gen_label_rtx): Adjust.
31260014Spfg	* print-rtl.c (print_rtx): Print LABEL_ALIGN_LOG.
32260014Spfg	* stmt.c (label_rtx): Set CODE_LABEL's alignment from DECL_ALIGN.
33260014Spfg	(expand_label): Update documentation.
34260014Spfg	* final.c (struct label_alignment): Delete.
35260014Spfg	(label_align): Delete.
36260014Spfg	(min_labelno): Delete.
37260014Spfg	(max_labelno): Delete.
38260014Spfg	(LABEL_TO_ALIGNMENT): Delete.
39260014Spfg	(LABEL_TO_MAX_SKIP): Delete.
40260014Spfg	(label_to_alignment): Adjust for LABEL_ALIGN_LOG.
41260014Spfg	(align_fuzz): Likewise.
42260014Spfg	(compute_alignments): Likewise.
43260014Spfg	(shorten_branches): Remove code to set up label_align.
44260014Spfg	Adjust for LABEL_ALIGN_LOG.
45260014Spfg	(final_scan_insn): Adjust for LABEL_ALIGN_LOG.
46260014Spfg	* doc/extend.texi (C Extensions): Add 'Label Attributes' to menu.
47260014Spfg	(Attribute Syntax): Move label content to Label Attributes.
48260014Spfg	(Function Attributes): Mention label attributes.
49260014Spfg	(Variable Attributes): Mention label attributes.
50260014Spfg	(Type Attributes): Mention label attributes.
51260014Spfg	(Label Attributes): New.
52