public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/18829] New: Error signale on an unexisting line
@ 2004-12-04 14:03 federicotomassetti at yahoo dot it
2004-12-04 14:08 ` [Bug c++/18829] " pinskia at gcc dot gnu dot org
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: federicotomassetti at yahoo dot it @ 2004-12-04 14:03 UTC (permalink / raw)
To: gcc-bugs
Gcc speaks about an error at line 438 on a file that have only 22x lines...
Report:
gcc-output,
incriminated source file
In file included from surface.hpp:28,
from types.hpp:29,
from scene.hpp:28,
from scene_intro.hpp:31,
from scene_intro.cpp:26:
connecter.hpp:43: warning: `sigc::signal<T_return, T_arg1, T_arg2, T_arg3,
T_arg4, T_arg5, T_arg6, T_arg7>::slot_type' is implicitly a typename
connecter.hpp:43: warning: implicit typename is deprecated, please see the
documentation for details
/usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h: In member function `
typename sigc::functor_trait<T_functor,
sigc::is_base_and_derived<sigc::functor_base,
T_functor>::value>::result_type
sigc::adaptor_functor<T_functor>::operator()() const [with T_functor =
sigc::bound_mem_functor1<void, IntroScene, bool>]':
/usr/include/sigc++-2.0/sigc++/functors/slot.h:89: instantiated from `static
T_return
sigc::internal::slot_call0<T_functor,T_return>::call_it(sigc::internal::slot_rep*)
[with T_functor = sigc::bound_mem_functor1<void, IntroScene, bool>, T_return =
void]'
/usr/include/sigc++-2.0/sigc++/functors/slot.h:96: instantiated from `static
void*(* sigc::internal::slot_call0<T_functor, T_return>::address())(void*) [with
T_functor = sigc::bound_mem_functor1<void, IntroScene, bool>, T_return = void]'
[LOOK HERE]
scene_intro.cpp:438: instantiated from here
[LOOK HERE]
/usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251: error: no match
for call to `(sigc::bound_mem_functor1<void, IntroScene, bool>) ()'
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1838: error: candidates are:
T_return sigc::bound_mem_functor1<T_return, T_obj,
T_arg1>::operator()(typename sigc::type_trait<T_arg3>::take) const [with
T_return = void, T_obj = IntroScene, T_arg1 = bool]
/usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251: error: return-statement
with a value, in function declared with a void return type
cc -c -o scene_intro.o `sdl-config --cflags` `pkg-config sigc++-2.0
--cflags`-I../SDL_Flic/ -I/usr/local/include/ -O scene_intro.cpp
Then come the file scene_intro.cpp:
/***************************************************************************
* *
* This file is part of the Domini Terrae project *
* *
* Copyright (C) 2004 by Federico Tomassetti *
* federicotomassetti@yahoo.it *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <cmath>
#include <SDL_image.h>
#include "scene_intro.hpp"
#include "scene_play.hpp"
#include "sdlutil.hpp"
#include "sdlttfutil.hpp"
#include "strutil.hpp"
#include "debug.hpp"
#include "global.hpp"
#include "datafinder.hpp"
#include "app.hpp"
#include "game.hpp"
#include "exit_codes.hpp"
#include "blink.hpp"
#include <iostream>
using namespace std;
static const int line_gap = 40;
IntroScene::IntroScene( unsigned int num_actions,
const boost::signal<std::string ( unsigned int )>::slot_type& slot_get_text,
const boost::signal<bool ( unsigned int )>::slot_type& slot_do_action,
const boost::signal<void ()>::slot_type& slot_all_done )
try : to_update_( true ), background_( NULL ),
font_( NULL ), blinking_text_( NULL ), blink_( NULL ),
done_( false ), completed_actions_( 0 ), num_actions_( num_actions ),
img_done_( NULL )
{
sig_need_text_.connect( slot_get_text );
sig_do_action_.connect( slot_do_action );
sig_all_done_.connect( slot_all_done );
// load the background
background_ = IMGCK_Load( Glob::datafinder()->find( "intro_background" ) );
SDL_Color color = color_create( 0x10, 0x15, 0xb5 );
// blit lines & semi transparent texts on background
SDL_Surface * img_line = IMGCK_Load( Glob::datafinder()->find( "intro_line" ) );
font_ = TTFCK_OpenFont( Glob::datafinder()->find( "intro_font"), 20 );
for ( int i=0;i<num_actions_;i++ ) {
// blit the line
SDL_Rect dstrect_line = rect_create( 230, 200 + (line_gap*i),
0, 0 );
SDLCK_BlitSurface( img_line, NULL, background_, &dstrect_line );
// obtain the string
string text = sig_need_text_( i );
// render the string
SDL_Surface * rendered = TTFCK_RenderText_Blended( font_, text.c_str(), color );
// save it as opaque
opaque_texts_.push_back( rendered );
// copy & alphize it
SDL_Surface * alphized = surface_copy( rendered );
if ( !surface_alphize( alphized, 90 ) ) {
App::prog_warning( "Text not alphized" );
}
// blit it alphized
SDL_Rect dstrect_text = rect_create( 240, 215 + (line_gap*i),
0, 0 );
SDLCK_BlitSurface( alphized, NULL, background_, &dstrect_text );
SDL_FreeSurface( alphized );
}
SDL_FreeSurface( img_line );
img_done_ = IMGCK_Load( Glob::datafinder()->find( "intro_done" ) );
blinking_text_ = new Surface( TTFCK_RenderText_Blended( font_,
"press any key to start the game",
color_create( 0xff, 0, 0 ) ) );
} catch ( const SDL_Failure& ex ) {
App::debug_info( "SDL_Failure creating IntroScene" );
throw;
}
IntroScene::~IntroScene()
{
if ( blinking_text_ ) delete blinking_text_;
if ( blink_ ) delete blink_;
if ( img_done_ ) SDL_FreeSurface( img_done_ );
if ( font_ ) TTF_CloseFont( font_ );
if ( background_ ) SDL_FreeSurface( background_ );
}
void IntroScene::key_pressed( SDLKey key )
{
static bool done_sent = false;
if ( done_ && !done_sent ) {
sig_all_done_();
done_sent = true;
}
}
void IntroScene::mouse_pressed( Uint8 button, uint mouse_x, uint mouse_y )
{
}
void IntroScene::mouse_released( Uint8 button, uint mouse_x, uint mouse_y )
{
}
void IntroScene::mouse_moved( uint mouse_x, uint mouse_y )
{
}
void IntroScene::key_released( SDLKey )
{
}
RectsVector IntroScene::update()
try {
RectsVector rects;
// if we don't need to update, nothing to do
if ( !to_update_ ) return rects;
IAMHERE;
SDL_Surface * fb = Video::inst()->get_framebuffer();
IAMHERE;
SDLCK_BlitSurface( background_, NULL, fb, NULL );
IAMHERE;
rects.push_back( rect_create( 0, 0, fb->w, fb->h ) );
IAMHERE;
to_update_ = false;
return rects;
} catch ( const SDL_Failure& ex ) {
App::comunicate_error( string( "IntroScene::update(): An SDL function failed: " )
+ ex.function_ + string( " error: " ) + ex.error_ );
}
void IntroScene::act()
try {
if ( completed_actions_ < num_actions_ ) {
SDL_Surface * fb = Video::inst()->get_framebuffer();
SDL_Rect dstrect_text = rect_create( 240, 215 + (line_gap*completed_actions_),
0, 0 );
SDL_Rect dstrect_done = rect_create( 500, 200 + (line_gap*completed_actions_),
0, 0 );
// blit opaque text
SDLCK_BlitSurface( opaque_texts_[ completed_actions_ ], NULL, fb, &dstrect_text );
SDL_FreeSurface( opaque_texts_[ completed_actions_ ] );
sig_do_action_( completed_actions_ );
// blit done img
SDLCK_BlitSurface( img_done_, NULL, fb, &dstrect_done );
completed_actions_++;
} else if ( completed_actions_== num_actions_ ) {
// start blink
SDL_Color color = color_create( 0xD0, 0x35, 0x35 );
blinking_text_ = new Surface( TTFCK_RenderText_Blended( font_, "Press a key to
continue",
color ) );
blink_ = new Blink( blinking_text_, 400 );
SDL_Rect saved_rect = rect_create( 400 - (blinking_text_->get()->w/2), 450,
400 + (blinking_text_->get()->w/2), blinking_text_->get()->h );
saved_.save( background_, &saved_rect );
sigc::slot<void> slot = sigc::mem_fun( this, &IntroScene::slot_blink );
blink_->conn_changed_.connect( slot );
// set done flag
done_ = true;
}
} catch ( const SDL_Failure& ex ) {
App::comunicate_error( string( "IntroScene::act(): An SDL function failed: " )
+ ex.function_ + string( " error: " ) + ex.error_ );
}
void IntroScene::slot_blink( bool blitted )
{
SDL_Rect rect = rect_create( 400 - (blinking_text_->get()->w/2), 450,
400 + (blinking_text_->get()->w/2), blinking_text_->get()->h );
if ( blitted ) {
SDLCK_BlitSurface( background_, &rect, blinking_text_->get(), NULL );
} else {
saved_.restore( background_, &rect );
}
to_update_ = true;
}
--
Summary: Error signale on an unexisting line
Product: gcc
Version: 3.3.4
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: federicotomassetti at yahoo dot it
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18829
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/18829] Error signale on an unexisting line
2004-12-04 14:03 [Bug c++/18829] New: Error signale on an unexisting line federicotomassetti at yahoo dot it
@ 2004-12-04 14:08 ` pinskia at gcc dot gnu dot org
2004-12-06 5:15 ` pinskia at gcc dot gnu dot org
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-12-04 14:08 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-04 14:08 -------
Can you try 3.4.x, this is most likely fixed there.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18829
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/18829] Error signale on an unexisting line
2004-12-04 14:03 [Bug c++/18829] New: Error signale on an unexisting line federicotomassetti at yahoo dot it
2004-12-04 14:08 ` [Bug c++/18829] " pinskia at gcc dot gnu dot org
@ 2004-12-06 5:15 ` pinskia at gcc dot gnu dot org
2004-12-06 17:50 ` federicotomassetti at yahoo dot it
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-12-06 5:15 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-06 05:15 -------
Also can you read http://gcc.gnu.org/bugs.html and provide the preprocessed source?
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu dot
| |org
Status|UNCONFIRMED |WAITING
Keywords| |diagnostic
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18829
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/18829] Error signale on an unexisting line
2004-12-04 14:03 [Bug c++/18829] New: Error signale on an unexisting line federicotomassetti at yahoo dot it
2004-12-04 14:08 ` [Bug c++/18829] " pinskia at gcc dot gnu dot org
2004-12-06 5:15 ` pinskia at gcc dot gnu dot org
@ 2004-12-06 17:50 ` federicotomassetti at yahoo dot it
2004-12-06 21:42 ` pinskia at gcc dot gnu dot org
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: federicotomassetti at yahoo dot it @ 2004-12-06 17:50 UTC (permalink / raw)
To: gcc-bugs
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1345 bytes --]
------- Additional Comments From federicotomassetti at yahoo dot it 2004-12-06 17:50 -------
Subject: Re: Error signale on an unexisting line
--- pinskia at gcc dot gnu dot org
<gcc-bugzilla@gcc.gnu.org> ha scritto:
>
> ------- Additional Comments From pinskia at gcc dot
> gnu dot org 2004-12-06 05:15 -------
> Also can you read http://gcc.gnu.org/bugs.html and
> provide the preprocessed source?
I'm afraid I can't, I modifie that code and don't have
an exact backup... I learned the lesson for the next
time...
>
> --
> What |Removed
> |Added
>
----------------------------------------------------------------------------
> CC|
> |pinskia at gcc dot gnu dot
> | |org
> Status|UNCONFIRMED
> |WAITING
> Keywords|
> |diagnostic
>
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18829
>
> ------- You are receiving this mail because: -------
> You reported the bug, or are watching the reporter.
>
___________________________________
Nuovo Yahoo! Messenger: E' molto più divertente: Audibles, Avatar, Webcam, Giochi, Rubrica
Scaricalo ora!
http://it.messenger.yahoo.it
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18829
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/18829] Error signale on an unexisting line
2004-12-04 14:03 [Bug c++/18829] New: Error signale on an unexisting line federicotomassetti at yahoo dot it
` (2 preceding siblings ...)
2004-12-06 17:50 ` federicotomassetti at yahoo dot it
@ 2004-12-06 21:42 ` pinskia at gcc dot gnu dot org
2004-12-16 18:31 ` federicotomassetti at yahoo dot it
2004-12-17 12:55 ` pinskia at gcc dot gnu dot org
5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-12-06 21:42 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-06 21:42 -------
So lets close this now, I think there was a bug like this already fixed on the mainline also.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |RESOLVED
Resolution| |INVALID
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18829
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/18829] Error signale on an unexisting line
2004-12-04 14:03 [Bug c++/18829] New: Error signale on an unexisting line federicotomassetti at yahoo dot it
` (3 preceding siblings ...)
2004-12-06 21:42 ` pinskia at gcc dot gnu dot org
@ 2004-12-16 18:31 ` federicotomassetti at yahoo dot it
2004-12-17 12:55 ` pinskia at gcc dot gnu dot org
5 siblings, 0 replies; 7+ messages in thread
From: federicotomassetti at yahoo dot it @ 2004-12-16 18:31 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From federicotomassetti at yahoo dot it 2004-12-16 18:31 -------
No I provided info needed to analyze this bug
--
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |UNCONFIRMED
Resolution|INVALID |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18829
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/18829] Error signale on an unexisting line
2004-12-04 14:03 [Bug c++/18829] New: Error signale on an unexisting line federicotomassetti at yahoo dot it
` (4 preceding siblings ...)
2004-12-16 18:31 ` federicotomassetti at yahoo dot it
@ 2004-12-17 12:55 ` pinskia at gcc dot gnu dot org
5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-12-17 12:55 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-17 12:55 -------
/usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h: In member function 'typename sigc::
adaptor_functor<T_functor>::result_type sigc::adaptor_functor<T_functor>::operator()() const [with
T_functor = sigc::bound_mem_functor1<void, IntroScene, bool>]':
/usr/include/sigc++-2.0/sigc++/functors/slot.h:89: instantiated from 'static T_return sigc::internal::
slot_call0<T_functor, T_return>::call_it(sigc::internal::slot_rep*) [with T_functor = sigc::
bound_mem_functor1<void, IntroScene, bool>, T_return = void]'
/usr/include/sigc++-2.0/sigc++/functors/slot.h:96: instantiated from 'static void* (* sigc::internal::
slot_call0<T_functor, T_return>::address())(void*) [with T_functor = sigc::bound_mem_functor1<void,
IntroScene, bool>, T_return = void]'
/usr/include/sigc++-2.0/sigc++/functors/slot.h:438: instantiated from 'sigc::slot0<T_return>::
slot0(const T_functor&) [with T_functor = sigc::bound_mem_functor1<void, IntroScene, bool>, T_return
= void]'
/usr/include/sigc++-2.0/sigc++/functors/slot.h:1090: instantiated from 'sigc::slot<T_return, sigc::
nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::slot(const T_functor&) [with T_functor =
sigc::bound_mem_functor1<void, IntroScene, bool>, T_return = void]'
scene_intro.cpp:203: instantiated from here
/usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251: error: no match for call to '(sigc::
bound_mem_functor1<void, IntroScene, bool>) ()'
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1837: note: candidates are: T_return sigc::
bound_mem_functor1<T_return, T_obj, T_arg1>::operator()(typename sigc::type_trait<T_arg3>::take)
const [with T_return = void, T_obj = IntroScene, T_arg1 = bool]
/usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251: error: return-statement with a value,
in function returning 'void'
mainly this:
scene_intro.cpp:203: instantiated from here
So fixed so closing as such.
Also this is a most likely a dup of bug 11616.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
Target Milestone|--- |3.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18829
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2004-12-17 12:55 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-12-04 14:03 [Bug c++/18829] New: Error signale on an unexisting line federicotomassetti at yahoo dot it
2004-12-04 14:08 ` [Bug c++/18829] " pinskia at gcc dot gnu dot org
2004-12-06 5:15 ` pinskia at gcc dot gnu dot org
2004-12-06 17:50 ` federicotomassetti at yahoo dot it
2004-12-06 21:42 ` pinskia at gcc dot gnu dot org
2004-12-16 18:31 ` federicotomassetti at yahoo dot it
2004-12-17 12:55 ` pinskia at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).