mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-26 05:11:37 +01:00 
			
		
		
		
	* handle postfix type declations in typedefs properly
* small indention fixes * omit empty lines after TypeName git-svn-id: trunk@13822 -
This commit is contained in:
		
							parent
							
								
									48e259876b
								
							
						
					
					
						commit
						e17d6c1624
					
				| @ -1970,7 +1970,9 @@ begin | ||||
|          writeln(outfile); | ||||
|          writeln(outfile,aktspace,'type'); | ||||
|          block_type:=bt_type; | ||||
|          end; | ||||
|          end | ||||
|          else | ||||
|          writeln(outfile); | ||||
|          no_pop:=assigned(yyv[yysp-2]) and (yyv[yysp-2]^.str='no_pop'); | ||||
|          shift(3); | ||||
|          (* Get the name to write the type definition for, try | ||||
| @ -1987,7 +1989,6 @@ begin | ||||
|          end; | ||||
|          (* write type definition *) | ||||
|          is_procvar:=false; | ||||
|          writeln(outfile); | ||||
|          TN:=TypeName(ph^.p); | ||||
|          PN:=PointerName(ph^.p); | ||||
|          if UsePPointers and (Uppercase(tn)<>Uppercase(pn)) and | ||||
| @ -1996,7 +1997,7 @@ begin | ||||
|          (* write new type name *) | ||||
|          write(outfile,aktspace,TN,' = '); | ||||
|          shift(2); | ||||
|          write_type_specifier(outfile,yyv[yysp-3]); | ||||
|          write_p_a_def(outfile,yyv[yysp-1]^.p1^.p1,yyv[yysp-3]); | ||||
|          popshift; | ||||
|          (* if no_pop it is normal fpc calling convention *) | ||||
|          if is_procvar and | ||||
| @ -2047,10 +2048,11 @@ begin | ||||
|          writeln(outfile); | ||||
|          writeln(outfile,aktspace,'type'); | ||||
|          block_type:=bt_type; | ||||
|          end; | ||||
|          end | ||||
|          else | ||||
|          writeln(outfile); | ||||
|          shift(3); | ||||
|          (* write as pointer *) | ||||
|          writeln(outfile); | ||||
|          writeln(outfile,'(* generic typedef  *)'); | ||||
|          writeln(outfile,aktspace,yyv[yysp-1]^.p,' = pointer;'); | ||||
|          flush(outfile); | ||||
|  | ||||
| @ -1887,7 +1887,9 @@ declaration : | ||||
|               writeln(outfile); | ||||
|             writeln(outfile,aktspace,'type'); | ||||
|             block_type:=bt_type; | ||||
|          end; | ||||
|          end | ||||
|        else | ||||
|          writeln(outfile); | ||||
|        no_pop:=assigned($3) and ($3^.str='no_pop'); | ||||
|        shift(3); | ||||
|        (* Get the name to write the type definition for, try | ||||
| @ -1904,7 +1906,6 @@ declaration : | ||||
|         end; | ||||
|        (* write type definition *) | ||||
|        is_procvar:=false; | ||||
|        writeln(outfile); | ||||
|        TN:=TypeName(ph^.p); | ||||
|        PN:=PointerName(ph^.p); | ||||
|        if UsePPointers and (Uppercase(tn)<>Uppercase(pn)) and | ||||
| @ -1913,7 +1914,7 @@ declaration : | ||||
|        (* write new type name *) | ||||
|        write(outfile,aktspace,TN,' = '); | ||||
|        shift(2); | ||||
|        write_type_specifier(outfile,$2); | ||||
|        write_p_a_def(outfile,$4^.p1^.p1,$2); | ||||
|        popshift; | ||||
|        (* if no_pop it is normal fpc calling convention *) | ||||
|        if is_procvar and | ||||
| @ -1963,10 +1964,11 @@ declaration : | ||||
|               writeln(outfile); | ||||
|             writeln(outfile,aktspace,'type'); | ||||
|             block_type:=bt_type; | ||||
|          end; | ||||
|          end | ||||
|        else | ||||
|          writeln(outfile); | ||||
|        shift(3); | ||||
|        (* write as pointer *) | ||||
|        writeln(outfile); | ||||
|        writeln(outfile,'(* generic typedef  *)'); | ||||
|        writeln(outfile,aktspace,$2^.p,' = pointer;'); | ||||
|        flush(outfile); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 florian
						florian