From: Nicola Pero Date: Sat, 19 Feb 2011 01:54:03 +0000 (+0000) Subject: Updated comments in objc-act.c X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6da97b7be46db2e3e27d3817b51833366360e7c2;p=gcc.git Updated comments in objc-act.c From-SVN: r170299 --- diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index 8e76292fd88..799cd408a66 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -1,3 +1,8 @@ +2011-01-19 Nicola Pero + + * objc-act.c (objc_init, generate_struct_by_value_array): Updated + comments. + 2011-01-19 Nicola Pero * objc-act.c: Updated comments. diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index 0e32c23515e..7a329219f38 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -330,8 +330,9 @@ generate_struct_by_value_array (void) int aggregate_in_mem[32]; int found = 0; - /* ??? as an example, m64/ppc/Darwin can pass up to 8*long+13*double in regs. - Presumably no platform passes 32 byte structures in a register. */ + /* Presumably no platform passes 32 byte structures in a register. */ + /* ??? As an example, m64/ppc/Darwin can pass up to 8*long+13*double + in registers. */ for (i = 1; i < 32; i++) { char buffer[5]; @@ -379,8 +380,24 @@ objc_init (void) #endif return false; + /* print_struct_values is triggered by -print-runtime-info (used + when building libobjc, with an empty file as input). It does not + require any ObjC setup, and it never returns. + + -fcompare-debug is used to check the compiler output; we are + executed twice, once with flag_compare_debug set, and once with + it not set. If the flag is used together with + -print-runtime-info, we want to print the runtime info only once, + else it would be output in duplicate. So we check + flag_compare_debug to output it in only one of the invocations. + + As a side effect, this also that means -fcompare-debug + -print-runtime-info will run the compiler twice, and compare the + generated assembler file; the first time the compiler exits + immediately (producing no file), and the second time it compiles + an empty file. This checks, as a side effect, that compiling an + empty file produces no assembler output. */ if (print_struct_values && !flag_compare_debug) - /* This routine does not require any ObjC set-up and never returns. */ generate_struct_by_value_array (); /* Set up stuff used by FE parser and all runtimes. */