* ensure that the correct amount of parameters is used for an operator overload (this is essentially important for unary operators that were declared with two arguments)
........
* fix for Mantis #35348: correctly handle symbols that aren't parameter types (e.g. default values)
+ added test
........
git-svn-id: branches/fixes_3_2@47587 -
U compiler/ninl.pas
--- Recording mergeinfo for merge of r40180 into '.':
U .
--- Merging r40216 into '.':
U compiler/htypechk.pas
G compiler/ninl.pas
U tests/tbf/tb0258.pp
A tests/tbf/tb0259.pp
A tests/tbf/tb0260.pp
A tests/tbs/tb0653.pp
--- Recording mergeinfo for merge of r40216 into '.':
G .
--- Merging r40217 into '.':
U compiler/systems/t_bsd.pas
--- Recording mergeinfo for merge of r40217 into '.':
G .
--- Merging r40218 into '.':
G compiler/systems/t_bsd.pas
--- Recording mergeinfo for merge of r40218 into '.':
G .
git-svn-id: branches/fixes_3_2@44000 -
U compiler/msg/errore.msg
--- Recording mergeinfo for merge of r40654 into '.':
U .
--- Merging r40656 into '.':
U compiler/pdecvar.pas
A tests/tbf/tb0266a.pp
A tests/tbf/tb0266b.pp
--- Recording mergeinfo for merge of r40656 into '.':
G .
--- Merging r41308 into '.':
U tests/webtbs/tw35027.pp
--- Recording mergeinfo for merge of r41308 into '.':
G .
--- Merging r41829 into '.':
U compiler/htypechk.pas
U compiler/ncal.pas
A tests/tbs/tb0656.pp
--- Recording mergeinfo for merge of r41829 into '.':
G .
--- Merging r42511 into '.':
U packages/rtl-objpas/src/inc/rtti.pp
U rtl/objpas/typinfo.pp
U tests/test/trtti19.pp
--- Recording mergeinfo for merge of r42511 into '.':
G .
# revisions: 40654,40656,41308,41829,42511
git-svn-id: branches/fixes_3_2@43410 -
U utils/fpcmkcfg/fpcmkcfg.pp
U utils/fpcmkcfg/fpccfg.inc
U utils/fpcmkcfg/fpc.cft
--- Recording mergeinfo for merge of r39844 into '.':
U .
--- Merging r39949 into '.':
U compiler/ncnv.pas
U compiler/avr/cgcpu.pas
U compiler/symconst.pas
U compiler/defutil.pas
U compiler/nadd.pas
U compiler/ncgrtti.pas
U compiler/llvm/llvmdef.pas
U compiler/llvm/hlcgllvm.pas
U compiler/dbgstabs.pas
U compiler/ppcgen/cgppc.pas
U compiler/ppcgen/ngppcadd.pas
U compiler/psystem.pas
U compiler/jvm/jvmdef.pas
U compiler/jvm/njvminl.pas
U compiler/jvm/njvmcnv.pas
U compiler/jvm/hlcgcpu.pas
U compiler/dbgdwarf.pas
U compiler/sparcgen/cgsparc.pas
U compiler/nmat.pas
U compiler/nset.pas
U compiler/symdef.pas
U compiler/ngtcon.pas
U compiler/scanner.pas
U compiler/i8086/n8086add.pas
U compiler/arm/narmadd.pas
U compiler/arm/cgcpu.pas
U compiler/ninl.pas
U compiler/ptype.pas
U compiler/nflw.pas
U compiler/defcmp.pas
U compiler/x86/cgx86.pas
U compiler/x86_64/cpupara.pas
U compiler/utils/ppuutils/ppudump.pp
U compiler/htypechk.pas
U compiler/pdecvar.pas
U compiler/ncal.pas
U compiler/m68k/cgcpu.pas
U rtl/inc/systemh.inc
--- Recording mergeinfo for merge of r39949 into '.':
G .
--- Merging r39950 into '.':
U rtl/inc/objcbase.pp
U rtl/inc/objcnf.inc
U rtl/inc/objc1.inc
U packages/cocoaint/src/CocoaAll.pas
U packages/cocoaint/src/quartzcore/CIPlugIn.inc
U packages/cocoaint/src/quartzcore/CAEmitterLayer.inc
U packages/cocoaint/src/quartzcore/CAAnimation.inc
U packages/cocoaint/src/quartzcore/CAOpenGLLayer.inc
U packages/cocoaint/src/quartzcore/CAMediaTiming.inc
U packages/cocoaint/src/quartzcore/CIImage.inc
U packages/cocoaint/src/quartzcore/CIFilterGenerator.inc
U packages/cocoaint/src/quartzcore/CAEmitterCell.inc
U packages/cocoaint/src/quartzcore/CALayer.inc
U packages/cocoaint/src/quartzcore/CIFilterShape.inc
U packages/cocoaint/src/quartzcore/CATextLayer.inc
U packages/cocoaint/src/quartzcore/CATransaction.inc
U packages/cocoaint/src/quartzcore/CIPlugInInterface.inc
U packages/cocoaint/src/quartzcore/CACIFilterAdditions.inc
U packages/cocoaint/src/quartzcore/CAReplicatorLayer.inc
U packages/cocoaint/src/foundation/NSURL.inc
U packages/cocoaint/src/foundation/NSDictionary.inc
U packages/cocoaint/src/foundation/NSObject.inc
U packages/cocoaint/src/foundation/NSSpellServer.inc
U packages/cocoaint/src/foundation/NSString.inc
U packages/cocoaint/src/foundation/NSCalendar.inc
U packages/cocoaint/src/foundation/NSURLRequest.inc
U packages/cocoaint/src/foundation/NSZone.inc
U packages/cocoaint/src/foundation/NSURLHandle.inc
U packages/cocoaint/src/foundation/NSPropertyList.inc
U packages/cocoaint/src/foundation/NSTimer.inc
U packages/cocoaint/src/foundation/NSIndexSet.inc
U packages/cocoaint/src/foundation/NSPathUtilities.inc
U packages/cocoaint/src/foundation/NSDistributedNotificationCenter.inc
U packages/cocoaint/src/foundation/NSSet.inc
U packages/cocoaint/src/foundation/NSAppleEventManager.inc
U packages/cocoaint/src/foundation/NSRunLoop.inc
U packages/cocoaint/src/foundation/NSScriptClassDescription.inc
U packages/cocoaint/src/foundation/NSOperation.inc
U packages/cocoaint/src/foundation/NSUndoManager.inc
U packages/cocoaint/src/foundation/NSMethodSignature.inc
U packages/cocoaint/src/foundation/NSArchiver.inc
U packages/cocoaint/src/foundation/NSUserDefaults.inc
U packages/cocoaint/src/foundation/NSXMLNode.inc
U packages/cocoaint/src/foundation/NSScriptCommandDescription.inc
U packages/cocoaint/src/foundation/NSScriptObjectSpecifiers.inc
U packages/cocoaint/src/foundation/NSInvocation.inc
U packages/cocoaint/src/foundation/NSXMLParser.inc
U packages/cocoaint/src/foundation/NSArray.inc
U packages/cocoaint/src/foundation/NSMetadata.inc
U packages/cocoaint/src/foundation/NSMapTable.inc
U packages/cocoaint/src/foundation/NSURLDownload.inc
U packages/cocoaint/src/foundation/NSHashTable.inc
U packages/cocoaint/src/foundation/NSXMLDTD.inc
U packages/cocoaint/src/foundation/NSURLCredential.inc
U packages/cocoaint/src/foundation/NSValueTransformer.inc
U packages/cocoaint/src/foundation/NSPredicate.inc
U packages/cocoaint/src/foundation/NSPortCoder.inc
U packages/cocoaint/src/foundation/NSXMLDTDNode.inc
U packages/cocoaint/src/foundation/NSAppleEventDescriptor.inc
U packages/cocoaint/src/foundation/NSScriptCommand.inc
U packages/cocoaint/src/foundation/NSCache.inc
U packages/cocoaint/src/foundation/NSKeyValueObserving.inc
U packages/cocoaint/src/foundation/NSDecimalNumber.inc
U packages/cocoaint/src/foundation/NSScriptSuiteRegistry.inc
U packages/cocoaint/src/foundation/NSKeyValueCoding.inc
U packages/cocoaint/src/foundation/NSBundle.inc
U packages/cocoaint/src/foundation/NSPointerFunctions.inc
U packages/cocoaint/src/foundation/NSXMLElement.inc
U packages/cocoaint/src/foundation/NSValue.inc
U packages/cocoaint/src/foundation/NSPort.inc
U packages/cocoaint/src/foundation/NSAppleScript.inc
U packages/cocoaint/src/foundation/NSSortDescriptor.inc
U packages/cocoaint/src/foundation/NSLock.inc
U packages/cocoaint/src/foundation/NSScanner.inc
U packages/cocoaint/src/foundation/NSStream.inc
U packages/cocoaint/src/foundation/NSGeometry.inc
U packages/cocoaint/src/foundation/NSScriptWhoseTests.inc
U packages/cocoaint/src/foundation/NSXMLDocument.inc
U packages/cocoaint/src/foundation/NSConnection.inc
U packages/cocoaint/src/foundation/NSDateFormatter.inc
U packages/cocoaint/src/foundation/NSTask.inc
U packages/cocoaint/src/foundation/NSFormatter.inc
U packages/cocoaint/src/foundation/NSThread.inc
U packages/cocoaint/src/foundation/NSCharacterSet.inc
U packages/cocoaint/src/foundation/NSData.inc
U packages/cocoaint/src/foundation/NSHTTPCookie.inc
U packages/cocoaint/src/foundation/NSFileManager.inc
U packages/cocoaint/src/foundation/NSPortNameServer.inc
U packages/cocoaint/src/foundation/NSNumberFormatter.inc
U packages/cocoaint/src/foundation/NSDate.inc
U packages/cocoaint/src/foundation/NSHost.inc
U packages/cocoaint/src/foundation/NSProxy.inc
U packages/cocoaint/src/foundation/NSURLConnection.inc
U packages/cocoaint/src/foundation/NSURLProtocol.inc
U packages/cocoaint/src/foundation/NSURLProtectionSpace.inc
U packages/cocoaint/src/foundation/NSKeyedArchiver.inc
U packages/cocoaint/src/foundation/NSPortMessage.inc
U packages/cocoaint/src/foundation/NSError.inc
U packages/cocoaint/src/foundation/NSNetServices.inc
U packages/cocoaint/src/foundation/NSTimeZone.inc
U packages/cocoaint/src/foundation/NSFileHandle.inc
U packages/cocoaint/src/foundation/NSDistributedLock.inc
U packages/cocoaint/src/foundation/NSCoder.inc
U packages/cocoaint/src/foundation/NSGarbageCollector.inc
U packages/cocoaint/src/InlineFunctions.inc
U packages/cocoaint/src/coredata/NSPersistentStore.inc
U packages/cocoaint/src/coredata/NSEntityDescription.inc
U packages/cocoaint/src/coredata/NSPersistentStoreCoordinator.inc
U packages/cocoaint/src/coredata/NSFetchRequestExpression.inc
U packages/cocoaint/src/coredata/NSManagedObject.inc
U packages/cocoaint/src/coredata/NSMigrationManager.inc
U packages/cocoaint/src/coredata/NSPropertyDescription.inc
U packages/cocoaint/src/coredata/NSManagedObjectContext.inc
U packages/cocoaint/src/coredata/NSAtomicStore.inc
U packages/cocoaint/src/coredata/NSManagedObjectID.inc
U packages/cocoaint/src/coredata/NSFetchRequest.inc
U packages/cocoaint/src/coredata/NSManagedObjectModel.inc
U packages/cocoaint/src/coredata/NSRelationshipDescription.inc
U packages/cocoaint/src/coredata/NSEntityMigrationPolicy.inc
U packages/cocoaint/src/webkit/DOMEventTarget.inc
U packages/cocoaint/src/webkit/DOMMouseEvent.inc
U packages/cocoaint/src/webkit/DOMHTMLStyleElement.inc
U packages/cocoaint/src/webkit/DOMWheelEvent.inc
U packages/cocoaint/src/webkit/WebUIDelegate.inc
U packages/cocoaint/src/webkit/WebView.inc
U packages/cocoaint/src/webkit/DOMAttr.inc
U packages/cocoaint/src/webkit/WebDocument.inc
U packages/cocoaint/src/webkit/DOMNode.inc
U packages/cocoaint/src/webkit/DOMStyleSheet.inc
U packages/cocoaint/src/webkit/DOMHTMLLinkElement.inc
U packages/cocoaint/src/webkit/DOMHTMLDocument.inc
U packages/cocoaint/src/webkit/DOMHTMLMenuElement.inc
U packages/cocoaint/src/webkit/DOMHTMLAreaElement.inc
U packages/cocoaint/src/webkit/DOMHTMLHRElement.inc
U packages/cocoaint/src/webkit/DOMEvent.inc
U packages/cocoaint/src/webkit/WebFrameView.inc
U packages/cocoaint/src/webkit/DOMXPathResult.inc
U packages/cocoaint/src/webkit/DOMHTMLInputElement.inc
U packages/cocoaint/src/webkit/DOMDocument.inc
U packages/cocoaint/src/webkit/DOMHTMLOptGroupElement.inc
U packages/cocoaint/src/webkit/DOMHTMLImageElement.inc
U packages/cocoaint/src/webkit/DOMMutationEvent.inc
U packages/cocoaint/src/webkit/WebEditingDelegate.inc
U packages/cocoaint/src/webkit/WebBackForwardList.inc
U packages/cocoaint/src/webkit/DOMHTMLTableCellElement.inc
U packages/cocoaint/src/webkit/WebScriptObject.inc
U packages/cocoaint/src/webkit/DOMHTMLFrameElement.inc
U packages/cocoaint/src/webkit/DOMHTMLOListElement.inc
U packages/cocoaint/src/webkit/DOMHTMLScriptElement.inc
U packages/cocoaint/src/webkit/DOMHTMLObjectElement.inc
U packages/cocoaint/src/webkit/DOMCSSStyleDeclaration.inc
U packages/cocoaint/src/webkit/DOMElement.inc
U packages/cocoaint/src/webkit/DOMRange.inc
U packages/cocoaint/src/webkit/DOMNodeIterator.inc
U packages/cocoaint/src/webkit/DOMKeyboardEvent.inc
U packages/cocoaint/src/webkit/DOMTreeWalker.inc
U packages/cocoaint/src/webkit/DOMHTMLOptionElement.inc
U packages/cocoaint/src/webkit/DOMHTMLSelectElement.inc
U packages/cocoaint/src/webkit/WebPlugin.inc
U packages/cocoaint/src/webkit/DOMHTMLUListElement.inc
U packages/cocoaint/src/webkit/WebHistory.inc
U packages/cocoaint/src/webkit/WebPreferences.inc
U packages/cocoaint/src/webkit/DOMHTMLDListElement.inc
U packages/cocoaint/src/webkit/DOMHTMLElement.inc
U packages/cocoaint/src/webkit/DOMImplementation.inc
U packages/cocoaint/src/webkit/DOMHTMLPreElement.inc
U packages/cocoaint/src/webkit/WebDataSource.inc
U packages/cocoaint/src/webkit/DOMHTMLDirectoryElement.inc
U packages/cocoaint/src/webkit/DOMOverflowEvent.inc
U packages/cocoaint/src/webkit/DOMProgressEvent.inc
U packages/cocoaint/src/webkit/DOMHTMLButtonElement.inc
U packages/cocoaint/src/webkit/DOMHTMLTextAreaElement.inc
U packages/cocoaint/src/webkit/DOMUIEvent.inc
U packages/cocoaint/src/Foundation.pas
U packages/cocoaint/src/appkit/NSPrinter.inc
U packages/cocoaint/src/appkit/NSColorPicking.inc
U packages/cocoaint/src/appkit/NSHelpManager.inc
U packages/cocoaint/src/appkit/NSRulerView.inc
U packages/cocoaint/src/appkit/NSCollectionView.inc
U packages/cocoaint/src/appkit/NSBox.inc
U packages/cocoaint/src/appkit/NSPathCell.inc
U packages/cocoaint/src/appkit/NSPathControl.inc
U packages/cocoaint/src/appkit/NSWorkspace.inc
U packages/cocoaint/src/appkit/NSMenuView.inc
U packages/cocoaint/src/appkit/NSUserInterfaceItemSearching.inc
U packages/cocoaint/src/appkit/NSWindow.inc
U packages/cocoaint/src/appkit/NSDictionaryController.inc
U packages/cocoaint/src/appkit/NSView.inc
U packages/cocoaint/src/appkit/NSButtonCell.inc
U packages/cocoaint/src/appkit/NSDocument.inc
U packages/cocoaint/src/appkit/NSAnimation.inc
U packages/cocoaint/src/appkit/NSSpeechSynthesizer.inc
U packages/cocoaint/src/appkit/NSStepperCell.inc
U packages/cocoaint/src/appkit/NSQuickDrawView.inc
U packages/cocoaint/src/appkit/NSSplitView.inc
U packages/cocoaint/src/appkit/NSScrollView.inc
U packages/cocoaint/src/appkit/NSImageRep.inc
U packages/cocoaint/src/appkit/NSRulerMarker.inc
U packages/cocoaint/src/appkit/NSPersistentDocument.inc
U packages/cocoaint/src/appkit/NSPanel.inc
U packages/cocoaint/src/appkit/NSSpeechRecognizer.inc
U packages/cocoaint/src/appkit/NSProgressIndicator.inc
U packages/cocoaint/src/appkit/NSColorWell.inc
U packages/cocoaint/src/appkit/NSAlert.inc
U packages/cocoaint/src/appkit/NSPrintInfo.inc
U packages/cocoaint/src/appkit/NSNib.inc
U packages/cocoaint/src/appkit/NSMovieView.inc
U packages/cocoaint/src/appkit/NSUserInterfaceValidation.inc
U packages/cocoaint/src/appkit/NSButton.inc
U packages/cocoaint/src/appkit/NSSavePanel.inc
U packages/cocoaint/src/appkit/NSColor.inc
U packages/cocoaint/src/appkit/NSViewController.inc
U packages/cocoaint/src/appkit/NSCell.inc
U packages/cocoaint/src/appkit/NSArrayController.inc
U packages/cocoaint/src/appkit/NSDocumentController.inc
U packages/cocoaint/src/appkit/NSTokenField.inc
U packages/cocoaint/src/appkit/NSTextField.inc
U packages/cocoaint/src/appkit/NSDockTile.inc
U packages/cocoaint/src/appkit/NSAttributedString.inc
U packages/cocoaint/src/appkit/NSSecureTextField.inc
U packages/cocoaint/src/appkit/NSFontManager.inc
U packages/cocoaint/src/appkit/NSMatrix.inc
U packages/cocoaint/src/appkit/NSNibLoading.inc
U packages/cocoaint/src/appkit/NSStatusBar.inc
U packages/cocoaint/src/appkit/NSComboBoxCell.inc
U packages/cocoaint/src/appkit/NSObjectController.inc
U packages/cocoaint/src/appkit/NSControl.inc
U packages/cocoaint/src/appkit/NSClipView.inc
U packages/cocoaint/src/appkit/NSSlider.inc
U packages/cocoaint/src/appkit/NSScroller.inc
U packages/cocoaint/src/appkit/NSAccessibility.inc
U packages/cocoaint/src/appkit/NSSound.inc
U packages/cocoaint/src/appkit/NSWindowScripting.inc
U packages/cocoaint/src/appkit/NSTextAttachment.inc
U packages/cocoaint/src/appkit/NSColorPanel.inc
U packages/cocoaint/src/appkit/NSTreeController.inc
U packages/cocoaint/src/appkit/NSTableColumn.inc
U packages/cocoaint/src/appkit/NSUserDefaultsController.inc
U packages/cocoaint/src/appkit/NSWindowController.inc
U packages/cocoaint/src/appkit/NSSegmentedControl.inc
U packages/cocoaint/src/appkit/NSRuleEditor.inc
U packages/cocoaint/src/appkit/NSMovie.inc
U packages/cocoaint/src/appkit/NSFileWrapper.inc
U packages/cocoaint/src/appkit/NSTabViewItem.inc
U packages/cocoaint/src/appkit/NSEvent.inc
U packages/cocoaint/src/appkit/NSTouch.inc
U packages/cocoaint/src/appkit/NSBrowserCell.inc
U packages/cocoaint/src/appkit/NSPasteboard.inc
U packages/cocoaint/src/appkit/NSTextContainer.inc
U packages/cocoaint/src/appkit/NSTextTable.inc
U packages/cocoaint/src/appkit/NSStatusItem.inc
U packages/cocoaint/src/appkit/NSPasteboardItem.inc
U packages/cocoaint/src/appkit/NSFormCell.inc
U packages/cocoaint/src/appkit/NSSpellChecker.inc
U packages/cocoaint/src/appkit/NSTreeNode.inc
U packages/cocoaint/src/appkit/NSLayoutManager.inc
U packages/cocoaint/src/appkit/NSTypesetter.inc
U packages/cocoaint/src/appkit/NSSearchFieldCell.inc
U packages/cocoaint/src/appkit/NSDatePickerCell.inc
U packages/cocoaint/src/appkit/NSImage.inc
U packages/cocoaint/src/appkit/NSBrowser.inc
U packages/cocoaint/src/appkit/NSTokenFieldCell.inc
U packages/cocoaint/src/appkit/NSInputServer.inc
U packages/cocoaint/src/appkit/NSTextFieldCell.inc
U packages/cocoaint/src/appkit/NSInputManager.inc
U packages/cocoaint/src/appkit/NSBezierPath.inc
U packages/cocoaint/src/appkit/NSPopUpButtonCell.inc
U packages/cocoaint/src/appkit/NSRunningApplication.inc
U packages/cocoaint/src/appkit/NSGraphicsContext.inc
U packages/cocoaint/src/appkit/NSFont.inc
U packages/cocoaint/src/appkit/NSTextStorage.inc
U packages/cocoaint/src/appkit/NSDatePicker.inc
U packages/cocoaint/src/appkit/NSKeyValueBinding.inc
U packages/cocoaint/src/appkit/NSCachedImageRep.inc
U packages/cocoaint/src/appkit/NSOpenPanel.inc
U packages/cocoaint/src/appkit/NSTableView.inc
U packages/cocoaint/src/appkit/NSStepper.inc
U packages/cocoaint/src/appkit/NSDragging.inc
U packages/cocoaint/src/appkit/NSSliderCell.inc
U packages/cocoaint/src/appkit/NSController.inc
U packages/cocoaint/src/appkit/NSMenuItemCell.inc
U packages/cocoaint/src/appkit/NSText.inc
U packages/cocoaint/src/appkit/NSDrawer.inc
U packages/cocoaint/src/appkit/NSApplicationScripting.inc
U packages/cocoaint/src/appkit/NSTableHeaderView.inc
U packages/cocoaint/src/appkit/NSPopUpButton.inc
U packages/cocoaint/src/appkit/NSToolbar.inc
U packages/cocoaint/src/appkit/NSTextInputClient.inc
U packages/cocoaint/src/appkit/NSMenu.inc
U packages/cocoaint/src/appkit/NSCursor.inc
U packages/cocoaint/src/appkit/NSImageView.inc
U packages/cocoaint/src/appkit/NSPrintOperation.inc
U packages/cocoaint/src/appkit/NSATSTypesetter.inc
U packages/cocoaint/src/appkit/NSToolbarItem.inc
U packages/cocoaint/src/appkit/NSMenuItem.inc
U packages/cocoaint/src/appkit/NSFontPanel.inc
U packages/cocoaint/src/appkit/NSBitmapImageRep.inc
U packages/cocoaint/src/appkit/NSTableHeaderCell.inc
U packages/cocoaint/src/appkit/NSGraphics.inc
U packages/cocoaint/src/appkit/NSTabView.inc
U packages/cocoaint/src/appkit/NSResponder.inc
U packages/cocoaint/src/appkit/NSApplication.inc
U packages/cocoaint/src/appkit/NSComboBox.inc
U packages/cocoaint/src/appkit/NSTextInputContext.inc
U packages/cocoaint/src/appkit/NSOutlineView.inc
U packages/cocoaint/src/appkit/NSColorList.inc
U packages/cocoaint/src/appkit/NSTextView.inc
--- Recording mergeinfo for merge of r39950 into '.':
G .
--- Merging r40008 into '.':
G compiler/ncal.pas
A tests/webtbs/tw34442.pp
--- Recording mergeinfo for merge of r40008 into '.':
G .
--- Merging r40009 into '.':
G compiler/defcmp.pas
G compiler/ncnv.pas
U compiler/pexpr.pas
A tests/webtbs/tw33875.pp
--- Recording mergeinfo for merge of r40009 into '.':
G .
--- Merging r40010 into '.':
A tests/webtbs/tw34055.pp
G compiler/ngtcon.pas
--- Recording mergeinfo for merge of r40010 into '.':
G .
--- Merging r40012 into '.':
G compiler/defcmp.pas
G compiler/htypechk.pas
A tests/webtbs/tw32179.pp
--- Recording mergeinfo for merge of r40012 into '.':
G .
--- Merging r40367 into '.':
U compiler/optcse.pas
--- Recording mergeinfo for merge of r40367 into '.':
G .
--- Merging r40373 into '.':
U compiler/hlcgobj.pas
--- Recording mergeinfo for merge of r40373 into '.':
G .
--- Merging r40374 into '.':
U compiler/ncgld.pas
--- Recording mergeinfo for merge of r40374 into '.':
G .
--- Merging r40375 into '.':
G compiler/hlcgobj.pas
--- Recording mergeinfo for merge of r40375 into '.':
G .
--- Merging r40384 into '.':
U compiler/psub.pas
--- Recording mergeinfo for merge of r40384 into '.':
G .
--- Merging r40386 into '.':
U compiler/ngenutil.pas
U compiler/jvm/njvmutil.pas
--- Recording mergeinfo for merge of r40386 into '.':
G .
--- Merging r40442 into '.':
U compiler/ppu.pas
G compiler/symdef.pas
--- Recording mergeinfo for merge of r40442 into '.':
G .
--- Merging r40443 into '.':
U compiler/systems/i_bsd.pas
U compiler/systems/i_linux.pas
U compiler/systems/i_sunos.pas
U compiler/systems/i_embed.pas
U compiler/systems/i_android.pas
U compiler/systems/i_aros.pas
--- Recording mergeinfo for merge of r40443 into '.':
G .
--- Merging r40499 into '.':
G compiler/llvm/hlcgllvm.pas
--- Recording mergeinfo for merge of r40499 into '.':
G .
--- Merging r40630 into '.':
U compiler/ncgnstld.pas
G compiler/ninl.pas
--- Recording mergeinfo for merge of r40630 into '.':
G .
--- Merging r40633 into '.':
G compiler/hlcgobj.pas
U compiler/hlcg2ll.pas
--- Recording mergeinfo for merge of r40633 into '.':
G .
--- Merging r40634 into '.':
U compiler/ncgcnv.pas
G compiler/symdef.pas
U compiler/llvm/nllvmcnv.pas
U compiler/llvm/nllvmld.pas
U compiler/i386/symcpu.pas
G compiler/ncnv.pas
U compiler/symcreat.pas
U compiler/jvm/pjvm.pas
U compiler/arm/symcpu.pas
U compiler/powerpc/symcpu.pas
U compiler/m68k/symcpu.pas
U compiler/x86_64/symcpu.pas
U compiler/blockutl.pas
U compiler/i8086/symcpu.pas
--- Recording mergeinfo for merge of r40634 into '.':
G .
--- Merging r40645 into '.':
U compiler/nobj.pas
--- Recording mergeinfo for merge of r40645 into '.':
G .
--- Merging r40648 into '.':
G compiler/symcreat.pas
--- Recording mergeinfo for merge of r40648 into '.':
G .
--- Merging r40683 into '.':
A tests/tbf/tb0267.pp
U tests/webtbs/tw27349.pp
A tests/tbs/tb0654.pp
G compiler/nobj.pas
--- Recording mergeinfo for merge of r40683 into '.':
G .
--- Recording mergeinfo for merge of r40729 into '.':
G .
--- Merging r40771 into '.':
U rtl/darwin/x86/x86hnd.inc
--- Recording mergeinfo for merge of r40771 into '.':
G .
--- Merging r40772 into '.':
G compiler/nflw.pas
U compiler/pmodules.pas
U compiler/pdecsub.pas
U compiler/pparautl.pas
G compiler/ptype.pas
U compiler/pdecobj.pas
U compiler/pgenutil.pas
U compiler/pdecl.pas
U compiler/jvm/symcpu.pas
G compiler/pdecvar.pas
--- Recording mergeinfo for merge of r40772 into '.':
G .
--- Merging r40773 into '.':
G compiler/pdecsub.pas
U compiler/ncgnstmm.pas
G compiler/symcreat.pas
G compiler/pdecl.pas
G compiler/pmodules.pas
G compiler/pdecobj.pas
G compiler/psub.pas
G compiler/symdef.pas
G compiler/pparautl.pas
A compiler/procdefutil.pas
G compiler/pgenutil.pas
G compiler/jvm/symcpu.pas
G compiler/jvm/jvmdef.pas
G compiler/jvm/pjvm.pas
G compiler/nflw.pas
U compiler/symutil.pas
G compiler/pdecvar.pas
G compiler/ptype.pas
U compiler/i386/n386flw.pas
G compiler/ncgnstld.pas
U compiler/x86_64/nx64flw.pas
U compiler/procinfo.pas
--- Recording mergeinfo for merge of r40773 into '.':
G .
--- Merging r40777 into '.':
G compiler/ppu.pas
U compiler/optconstprop.pas
U compiler/pstatmnt.pas
U compiler/optutils.pas
U compiler/pass_2.pas
U compiler/node.pas
U compiler/ncgmem.pas
U compiler/nmem.pas
G compiler/psystem.pas
--- Recording mergeinfo for merge of r40777 into '.':
G .
--- Merging r40778 into '.':
G rtl/darwin/x86/x86hnd.inc
--- Recording mergeinfo for merge of r40778 into '.':
G .
--- Merging r40785 into '.':
U compiler/msgidx.inc
G compiler/pexpr.pas
U compiler/msg/errore.msg
U compiler/msgtxt.inc
A tests/webtbf/tw34821.pp
--- Recording mergeinfo for merge of r40785 into '.':
G .
--- Merging r40810 into '.':
G compiler/hlcg2ll.pas
--- Recording mergeinfo for merge of r40810 into '.':
G .
--- Merging r41161 into '.':
G compiler/symdef.pas
A tests/webtbs/tw34971.pp
--- Recording mergeinfo for merge of r41161 into '.':
G .
--- Merging r41164 into '.':
U tests/test/tinterlocked64mt.pp
U tests/test/tinterlockedmt.pp
--- Recording mergeinfo for merge of r41164 into '.':
G .
--- Merging r41165 into '.':
U tests/test/units/sysutils/trwsync.pp
--- Recording mergeinfo for merge of r41165 into '.':
G .
--- Merging r41166 into '.':
U rtl/objpas/sysutils/sysuthrd.inc
--- Recording mergeinfo for merge of r41166 into '.':
G .
git-svn-id: branches/fixes_3_2@41249 -
------------------------------------------------------------------------
r40521 | pierre | 2018-12-11 08:47:59 +0000 (Tue, 11 Dec 2018) | 1 line
Modify tbs/tb0588.pp to check that a warning is issued about non-initialized return value, moved to tbf directory
------------------------------------------------------------------------
--- Merging r40521 into '.':
D tests/tbs/tb0588.pp
A tests/tbf/tb0588.pp
--- Recording mergeinfo for merge of r40521 into '.':
U .
git-svn-id: branches/fixes_3_2@40840 -
U compiler/pdecvar.pas
--- Recording mergeinfo for merge of r40284 into '.':
U .
--- Merging r40285 into '.':
D tests/webtbs/tw27880.pp
A tests/webtbf/tw27880.pp
A tests/tbf/tb0261.pp
A tests/tbf/tb0262.pp
A tests/tbf/tb0263.pp
A tests/tbf/tb0264.pp
A tests/tbf/tb0265.pp
U compiler/pdecl.pas
--- Recording mergeinfo for merge of r40285 into '.':
G .
# revisions: 40284,40285
git-svn-id: branches/fixes_3_2@40289 -
nutils.pas, handle_staticfield_access:
* generics don't have staticvarsyms for their static fieldvarsyms so we need to simulate a non-static access to avoid 1) an exception and 2) incorrect errors that instance methods can't be accessed
+ added tests
git-svn-id: trunk@29484 -
Please note that this warning won't be triggered if an instance of that class is created using a class variable of that class type as the compiler can not know the type contained in the variable at compile time (see also the added test).
+ msg/errore.msg: added disabled message which informs about the instantiation of an abstract class
* pexpr.pas, do_member_read: generate the message if we have a constructor call for an abstract class using a loadvmtaddrnode (thus the type name is used and not a class variable)
* msg{idx,txt}.inc: updated
+ added test
git-svn-id: trunk@28127 -
For partial specialization only the declaration is reparsed, but not method bodies.
The way generic parameters are passed around inside the compiler is changed: instead of creating new type symbols we keep a (name,def) pair so that the code in insert_generic_parameter_types can decide whether it needs to add a type symbol (for new undefined defs) or not (for real types and undefined defs that were passed on from the parent generic). This required the tfpobjectlist type of the genericlist variables/parameters to be changed to tfphashobjectlist.
For correctly parsing Delphi specializations as parameters in functions of records (or objects) the relationship between the def and its typesym must already be established during the parsing. For this the checks for forcing a "type is not completely defined" message needed to be adjusted to correctly handle nested types as well. This should as a sideeffect also allow the usage of nested constants, etc like was fixed for classes some months ago.
ToDo:
- if a generic is specialized with only fully defined types then we could generate the in the unit where it's used. This is not yet done.
- currently we don't specialize generics that are currently parsed; maybe this could be improved in the future for better type compatibility checks
- check whether the pausing of token recording for partial specializations works correct in context of hint modifiers
pgenutil.pas:
* parse_generic_parameters: return a tfphashobjectlist instead of a tfpobjectlist (requires a few type adjustments in various other declarations)
* maybe_insert_generic_rename_symbol, insert_generic_parameter_types: change genericlist from tfpobjectlist to tfphashobjectlist
* parse_generic_specialization_types_internal: use is_generic instead of checking for df_generic
* generate_specialization:
+ add a nested function to disable the requirement to check for method bodies
* use the "simple" parameter parsing only for error recovery
* instead of already creating a new type symbol for a parameter we use the found symbol's name and its def and maybe create it later on (therefor the type of tfpobjectlist was changed to tfphashobjectlist)
* a partial specialization is specialized into the symtable of the def it is specialized in instead of one of the two global symtables
* for now we handle partial specializations of generics we are currently parsing like before
* don't continue recording generic tokens while we do a partial specialization
* use the new unset_forwarddef function on the newly created defs
* insert_generic_parameter_types: only create a new type symbol if the found type symbol does not yet have an owner (thus was freshly created for this generic declaration)
pdecobj.pas, object_dec:
* change type of genericlist from tfpobjectlist to tfphashobjectlist
* set the type sym for all object types that can be generic or inside a generic (needed for correctly parsing Delphi style generic declarations)
pdecsub.pas, parse_proc_head:
* consume_generic_interface: always generate the specialization name as now all generics are "specialized" inside a generic
* the assumption that the def index numbers are the same is no longer true as the genericdef might contain the defs of partial specializations which are not generated for full specializations
pdecvar.pas, read_record_fields:
* we also need to check nested types whether they contain a not yet completely parsed record or object
ptype.pas:
* read_named_type:
* change genericlist from tfpobjectlist to tfphashobjectlist
* pass the typesymbol along to record_dec
* resolve_forward_types: use is_generic instead of checking for df_generic
* single_type:
* use is_generic instead of checking for df_generic
* no need to check generic parameters
* parse_record_members:
+ add parameter for the record's type symbol
* setup the typesym <=> def relationship
+ record_dec: add parameter for the type symbol and pass it to parse_record_members
* read_named_type, expr_type: use is_generic instead of checking for df_generic
* array_dec & procvar_dec: change genericlist from tfpobjectlist to tfphashobjectlist
symdef.pas, tstoreddef:
* improve the checks used in is_generic and is_specialization to really only work on true generics and true (and partial) specializations respectively
* don't search the type parameters in the symtable, but store them in the PPU and load them from there
- remove fillgenericparas method (including the calls in the descendants tarraydef, tprocvardef, tobjectdef and trecorddef)
defcmp.pas, compare_defs_ext:
* handle partial specializations: specializations with only undefineddefs are compatible to generic defs
pdecl.pas, types_dec:
* switch generictypelist from tfpobjectlist to tfphashobjectlist
ppu.pas:
* increase PPU version
+ added tests that ensure that "not completely defined" checks for records (and objects) still work correctly
git-svn-id: trunk@27861 -
scandir.pas:
+ add function "get_peflag_const" to retrieve the value of a constant
* dir_setpeflags & dir_setpeoptflags: first check for an identifier (value is retrieved through "get_peflag_const") and then read a value
+ added messages for illegal parameters for SetPEFlags and SetPEOptFlags respectively
+ added tests
git-svn-id: trunk@24887 -
pdecsub.pas, pd_static:
* check whether the given pd is an operator or a class method not inside an Object and generate an error if either of these is true
msg/errore.msg, msgidx.inc, msgtxt.inc:
* add a message to inform that a certain procedure directive is not allowed
+ added tests
git-svn-id: trunk@23944 -
Note: the error messages for incorrect "misstyled" floating point numbers (e.g. "2e10foo") have changed because of this.
scanner.pas, tscannerfile.readtoken:
instead of tokenizing "2.", "2.e10", "2.e+10" and "2.e-10" as "_REALNUMBER" tokenize them as "_INTCONST _POINT", "_INTCONST _POINT _ID", "_INTCONST _POINT _ID _PLUS _INTCONST" "_INTCONST _POINT _ID _PLUS _INTCONST"; tokenizing of normal floating constants is not changed
pexpr.pas:
factor:
* extract the code for creating a new constant floating point from "factor" into a new function "real_const_node_from_pattern"
+ allow the parsing of postfixoperators for integer constants if a "." is encountered
+ postfixoperators: check for a "misstyled" floating point number if an ordinal const (not an enum and not a boolean) is encountered (the code is already partially prepared for type helper support)
+ Added tests
git-svn-id: trunk@23356 -
pdecvar.pas, read_record_fields:
* if the def of the field is a static array then use the array's element def (the final element def if it is a multi dimensional array) to check for whether this is the current record type
+ added tests
git-svn-id: trunk@23352 -
implementation (Delphi-compatible in case multiple overloads exist in
the current unit, and in other cases avoids compiler crashes in case
of circular implementation dependencies)
* ignore other symbol options (deprecated, legacy, platform, ...) as far as
the interface crc is concerned to avoid trouble in case they appear in the
implementation but not in the interface (to prevent compiler crashes)
git-svn-id: trunk@19492 -
- add tarraysymtable to store generic type symbols
- process generic and specialize declarations similar to generic records and classes
- fix insert_generic_parameter_types to use def passed in argument instead of current_structdef because generic array type can't be assigned to the current_structdef variable
- increase ppu version because of arraydef changes
- tests
git-svn-id: trunk@16681 -
(mantis #14940 and #14941)
* only turn var/our shortstring parameters with a length of 255 into
openstring parameters with {$p+} (new tbf/tb0217.pp)
git-svn-id: trunk@14602 -
can create ambiguities for the parser in case the field names also exist
as modifiers (TP- and Delphi-compatible, mantis #13971) + tests
* fixed tests that broke because of this change
git-svn-id: trunk@13334 -
case the getter is a function, the result is that first the getter is
called, and subsequently the temp holding the function result is
overwritten (thus not changing anything). This is Delphi-compatible,
and fixes tests/tbf/tb0214*
git-svn-id: trunk@13320 -
sized integer (succeed for Delphi, fail for objfpc)
* fixed compiler so it only allows typecasting a class/interface to a
differently sized integer in Delphi mode
git-svn-id: trunk@13152 -