Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 367371

Summary: unable to resolve int64_t overload
Product: [Tools] CDT Reporter: Matt Hargett <matt>
Component: cdt-parserAssignee: Project Inbox <cdt-parser-inbox>
Status: RESOLVED INVALID QA Contact: Markus Schorn <mschorn.eclipse>
Severity: major    
Priority: P3 CC: cdtdoug
Version: 8.1.0   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Matt Hargett CLA 2011-12-21 16:31:07 EST
Build Identifier: Build id: 20111215-0110

For this code, I am getting an error:
"Invalid arguments '
Candidates are:
bool To_signed64(? &)
bool To_signed64(char *, unsigned int, ? &)
'"


#include <stdint.h>

class String_ptr
{
public:
	char* SP_ptr;
	uint32_t SP_len;

	bool To_signed64(int64_t& value) const
	{
		return To_signed64(SP_ptr, SP_len, value); // problematic line
	}

	bool To_unsigned64(uint64_t& value) const
	{
		return To_unsigned64(SP_ptr, SP_len, value);
	}

	static bool To_signed64(char* str, uint32_t len, int64_t& value);

	static bool To_unsigned64(char* str, uint32_t len, uint64_t& value);
};


This may be a regression from Indigo. It's weird that it only happens on int64_t and not the uint64_t. This is on Ubuntu 11.10/amd64, with Discovery Options turned on. It looks like CDT is parsing the /usr/include/stdint.h correctly.

Reproducible: Always
Comment 1 Markus Schorn CLA 2011-12-22 04:14:34 EST
I cannot reproduce the issue. Please try the following:
* Rebuild the index
* Use 'Navigate Open Element...' and search for int64_t, what does it show.
* Create a parser log and attach it to this bug. 
  (Context menu of file in project explorer - Index - Create Parser Log).
Comment 2 Markus Schorn CLA 2012-01-27 06:23:21 EST
No response from submitter.