Hi.


+/* To track if code will use .bss and/or .data */
+static int avr_need_clear_bss_p = 0;
+static int avr_need_copy_data_p = 0;

Change type avr_need_clear_bss_p and avr_need_copy_data_p vars to bool.



-#define ASM_OUTPUT_COMMON(STREAM, NAME, SIZE, ROUNDED)    \
-do {    \
-     fputs ("\t.comm ", (STREAM));    \
-     assemble_name ((STREAM), (NAME));    \
-     fprintf ((STREAM), ",%lu,1\n", (unsigned long)(SIZE));    \
-} while (0)
+#define ASM_OUTPUT_COMMON(STREAM, NAME, SIZE, ROUNDED)  \
+  avr_asm_output_common (STREAM, NAME, SIZE, ROUNDED)


Use ASM_OUTPUT_ALIGNED_DECL_COMMON macro instead of ASM_OUTPUT_COMMON.


-#define ASM_OUTPUT_LOCAL(STREAM, NAME, SIZE, ROUNDED) \
-do { \
-     fputs ("\t.lcomm ", (STREAM)); \
-     assemble_name ((STREAM), (NAME)); \
-     fprintf ((STREAM), ",%d\n", (int)(SIZE)); \
-} while (0)
+#define ASM_OUTPUT_LOCAL(STREAM, NAME, SIZE, ROUNDED)   \
+  avr_asm_output_local (STREAM, NAME, SIZE, ROUNDED)


Use ASM_OUTPUT_ALIGNED_DECL_LOCAL macro instead of ASM_OUTPUT_LOCAL.

Anatoly.

Reply via email to