Page 12 of 15
Posted: Thu Mar 20, 2008 14:43
by GuntherDW
i would say that you're free to look for other methods but that would be rude because you actually don't even support linux 100% in the first place
i've deleted the gzdoom folder, regot the sources (@r64 now)
but still get this one
Code: Select all
Compiling fmodsound.cpp: [OK]
src/svnrevision_gz.h is up to date at revision 64M.
make[1]: Entering directory `/GuntherDW/src/svn/gzdoom.orig'
src/svnrevision_gz.h is up to date at revision 64M.
Compiling fmodsound.cpp: [ERROR]
g++ -c -pipe -Wall -Wno-unused -O2 -fomit-frame-pointer -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -DHAVE_FILELENGTH -D__forceinline=inline -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DNEED_STRUPR -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp -Isrc/ -Isrc/g_doom/ -Isrc/g_heretic/ -Isrc/g_hexen/ -Isrc/g_raven/ -Isrc/g_shared/ -Isrc/g_strife/ -Isrc/oplsynth/ -Isrc/sound/ -Isrc/fragglescript/ -Isrc/thingdef/ -Isrc/Linux/ -Isrc/sdl/ -Isrc/gl/ -Isrc/gl/r_render/ -Isrc/textures/ -I/usr/local/include/fmodex/ -Isnes_spc/snes_spc -DUSEASM=1 -DNDEBUG -o releaseobj/fmodsound.o -c src/sound/fmodsound.cpp
================================================================================src/sound/fmodsound.cpp: In member function ‘virtual bool FMODStreamCapsule::Play(bool, float, bool)’:
src/sound/fmodsound.cpp:295: error: no matching function for call to ‘FMOD::Channel::addDSP(FMOD::DSP*&)’
/usr/local/include/fmodex/fmod.hpp:317: note: candidates are: FMOD_RESULT FMOD::Channel::addDSP(FMOD::DSP*, FMOD::DSPConnection**)
src/sound/fmodsound.cpp: In static member function ‘static FMOD_RESULT FMODStreamCapsule::PCMReadCallback(FMOD_SOUND*, void*, unsigned int)’:
src/sound/fmodsound.cpp:366: warning: dereferencing type-punned pointer will break strict-aliasing rules
src/sound/fmodsound.cpp: In member function ‘bool FMODSoundRenderer::Init()’:
src/sound/fmodsound.cpp:535: error: ‘FMOD_INIT_ENABLE_DSPNET’ was not declared in this scope
src/sound/fmodsound.cpp: In member function ‘virtual void FMODSoundRenderer::UpdateListener(AActor*)’:
src/sound/fmodsound.cpp:1095: warning: dereferencing type-punned pointer will break strict-aliasing rules
make[1]: *** [releaseobj/fmodsound.o] Error 1
make[1]: Leaving directory `/GuntherDW/src/svn/gzdoom.orig'
make: *** [deps] Error 2
(i still had to apply my patch from r60, which
still works correctly but is needed to compile

)
which version of fmodex should i get?
Posted: Thu Mar 20, 2008 22:16
by Torr Samaho
Graf Zahl wrote:I wish there'd be better project management tools for Linux/MinGW than the stone age method.
I heard
Eclipse has reached a quite usable state, never tried it myself though.
Posted: Mon Mar 24, 2008 8:23
by GuntherDW
owkey, i've "down"graded my fmodex install to v 4.11.03, so now the fmodex part compiles correctly, but i get an error at the xlatc part
(i thought you removed most of it from zdoom, is it still in gzdoom or not?)
[spoiler]
Code: Select all
g++ -lFLAC++ -lFLAC -lz -lmodplug -lfmod -lSDL -lpthread -ljpeg -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lGL -lGLU -lfmodex -Wl,-Map=gzdoom.map releaseobj/autostart.o releaseobj/a.o releaseobj/misc.o releaseobj/tmap2.o releaseobj/tmap3.o releaseobj/tmap.o releaseobj/am_map.o releaseobj/bbannouncer.o releaseobj/b_bot.o releaseobj/b_func.o releaseobj/b_game.o releaseobj/b_move.o releaseobj/b_think.o releaseobj/c_bind.o releaseobj/c_cmds.o releaseobj/c_console.o releaseobj/c_cvars.o releaseobj/c_dispatch.o releaseobj/c_expr.o releaseobj/cmdlib.o releaseobj/colormatcher.o releaseobj/configfile.o releaseobj/ct_chat.o releaseobj/d_dehacked.o releaseobj/decallib.o releaseobj/d_main.o releaseobj/d_net.o releaseobj/d_netinfo.o releaseobj/dobject.o releaseobj/dobjgc.o releaseobj/dobjtype.o releaseobj/doomdef.o releaseobj/doomstat.o releaseobj/d_protocol.o releaseobj/dsectoreffect.o releaseobj/dthinker.o releaseobj/empty.o releaseobj/farchive.o releaseobj/f_finale.o releaseobj/files.o releaseobj/f_wipe.o releaseobj/gameconfigfile.o releaseobj/g_game.o releaseobj/g_hub.o releaseobj/gi.o releaseobj/g_level.o releaseobj/hu_scores.o releaseobj/i_net.o releaseobj/info.o releaseobj/infodefaults.o releaseobj/lumpconfigfile.o releaseobj/m_alloc.o releaseobj/m_argv.o releaseobj/m_bbox.o releaseobj/m_cheat.o releaseobj/m_menu.o releaseobj/m_misc.o releaseobj/m_options.o releaseobj/m_png.o releaseobj/m_random.o releaseobj/mus2midi.o releaseobj/name.o releaseobj/nodebuild_classify_nosse2.o releaseobj/nodebuild_classify_sse2.o releaseobj/nodebuild.o releaseobj/nodebuild_events.o releaseobj/nodebuild_extract.o releaseobj/nodebuild_gl.o releaseobj/nodebuild_utility.o releaseobj/p_3dfloors.o releaseobj/p_3dmidtex.o releaseobj/p_acs.o releaseobj/p_buildmap.o releaseobj/p_ceiling.o releaseobj/p_conversation.o releaseobj/p_doors.o releaseobj/p_effect.o releaseobj/p_enemy_a_lookex.o releaseobj/p_enemy.o releaseobj/p_floor.o releaseobj/p_interaction.o releaseobj/p_lights.o releaseobj/p_linkedsectors.o releaseobj/p_lnspec.o releaseobj/p_map.o releaseobj/p_maputl.o releaseobj/p_mobj.o releaseobj/po_man.o releaseobj/p_pillar.o releaseobj/p_plats.o releaseobj/p_pspr.o releaseobj/p_saveg.o releaseobj/p_sectors.o releaseobj/p_setup.o releaseobj/p_sight.o releaseobj/p_spec.o releaseobj/p_switch.o releaseobj/p_teleport.o releaseobj/p_terrain.o releaseobj/p_things.o releaseobj/p_tick.o releaseobj/p_trace.o releaseobj/p_user.o releaseobj/p_writemap.o releaseobj/p_xlat.o releaseobj/r_anim.o releaseobj/r_bsp.o releaseobj/r_data.o releaseobj/r_draw.o releaseobj/r_drawt.o releaseobj/r_main.o releaseobj/r_plane.o releaseobj/r_polymost.o releaseobj/r_segs.o releaseobj/r_sky.o releaseobj/r_things.o releaseobj/r_translate.o releaseobj/s_advsound.o releaseobj/sc_man.o releaseobj/s_environment.o releaseobj/skins.o releaseobj/s_playlist.o releaseobj/s_sndseq.o releaseobj/s_sound.o releaseobj/stats.o releaseobj/stringtable.o releaseobj/st_stuff.o releaseobj/tables.o releaseobj/teaminfo.o releaseobj/tempfiles.o releaseobj/v_collection.o releaseobj/v_draw.o releaseobj/v_font.o releaseobj/v_palette.o releaseobj/v_pfx.o releaseobj/v_text.o releaseobj/v_video.o releaseobj/wi_stuff.o releaseobj/w_wad.o releaseobj/zstrformat.o releaseobj/zstring.o releaseobj/a_arachnotron.o releaseobj/a_archvile.o releaseobj/a_bossbrain.o releaseobj/a_bruiser.o releaseobj/a_cacodemon.o releaseobj/a_cyberdemon.o releaseobj/a_demon.o releaseobj/a_doomimp.o releaseobj/a_doommisc.o releaseobj/a_doomweaps.o releaseobj/a_fatso.o releaseobj/a_keen.o releaseobj/a_lostsoul.o releaseobj/a_painelemental.o releaseobj/a_possessed.o releaseobj/a_revenant.o releaseobj/a_scriptedmarine.o releaseobj/a_spidermaster.o releaseobj/doom_sbar.o releaseobj/a_chicken.o releaseobj/a_dsparil.o releaseobj/a_hereticartifacts.o releaseobj/a_hereticimp.o releaseobj/a_hereticmisc.o releaseobj/a_hereticweaps.o releaseobj/a_ironlich.o releaseobj/a_knight.o releaseobj/a_wizard.o releaseobj/heretic_sbar.o releaseobj/a_bats.o releaseobj/a_bishop.o releaseobj/a_blastradius.o releaseobj/a_boostarmor.o releaseobj/a_centaur.o releaseobj/a_clericboss.o releaseobj/a_clericflame.o releaseobj/a_clericholy.o releaseobj/a_clericmace.o releaseobj/a_clericstaff.o releaseobj/a_dragon.o releaseobj/a_fighteraxe.o releaseobj/a_fighterboss.o releaseobj/a_fighterhammer.o releaseobj/a_fighterplayer.o releaseobj/a_fighterquietus.o releaseobj/a_firedemon.o releaseobj/a_flechette.o releaseobj/a_fog.o releaseobj/a_healingradius.o releaseobj/a_heresiarch.o releaseobj/a_hexenspecialdecs.o releaseobj/a_iceguy.o releaseobj/a_korax.o releaseobj/a_mageboss.o releaseobj/a_magecone.o releaseobj/a_magelightning.o releaseobj/a_magestaff.o releaseobj/a_magewand.o releaseobj/a_pig.o releaseobj/a_serpent.o releaseobj/a_spike.o releaseobj/a_summon.o releaseobj/a_teleportother.o releaseobj/a_weaponpieces.o releaseobj/a_wraith.o releaseobj/hexen_sbar.o releaseobj/a_artitele.o releaseobj/a_minotaur.o releaseobj/a_action.o releaseobj/a_armor.o releaseobj/a_artifacts.o releaseobj/a_bridge.o releaseobj/a_camera.o releaseobj/a_debris.o releaseobj/a_decals.o releaseobj/a_flashfader.o releaseobj/a_fountain.o releaseobj/a_hatetarget.o releaseobj/a_keys.o releaseobj/a_lightning.o releaseobj/a_mapmarker.o releaseobj/a_morph.o releaseobj/a_movingcamera.o releaseobj/a_pickups.o releaseobj/a_puzzleitems.o releaseobj/a_quake.o releaseobj/a_secrettrigger.o releaseobj/a_sectoraction.o releaseobj/a_setcolor.o releaseobj/a_skies.o releaseobj/a_soundenvironment.o releaseobj/a_soundsequence.o releaseobj/a_spark.o releaseobj/a_waterzone.o releaseobj/a_weaponpiece.o releaseobj/a_weapons.o releaseobj/hudmessages.o releaseobj/sbarinfo_display.o releaseobj/sbarinfo_parser.o releaseobj/shared_hud.o releaseobj/shared_sbar.o releaseobj/a_acolyte.o releaseobj/a_alienspectres.o releaseobj/a_coin.o releaseobj/a_crusader.o releaseobj/a_entityboss.o releaseobj/a_inquisitor.o releaseobj/a_loremaster.o releaseobj/a_macil.o releaseobj/a_oracle.o releaseobj/a_programmer.o releaseobj/a_reaver.o releaseobj/a_rebels.o releaseobj/a_sentinel.o releaseobj/a_spectral.o releaseobj/a_stalker.o releaseobj/a_strifeitems.o releaseobj/a_strifestuff.o releaseobj/a_strifeweapons.o releaseobj/a_templar.o releaseobj/a_thingstoblowup.o releaseobj/strife_sbar.o releaseobj/fmopl.o releaseobj/mlkernel.o releaseobj/mlopl.o releaseobj/mlopl_io.o releaseobj/opl_mus_player.o releaseobj/fmodsound.o releaseobj/i_music.o releaseobj/i_sound.o releaseobj/music_cd.o releaseobj/music_midi_base.o releaseobj/music_midi_midiout.o releaseobj/music_midistream.o releaseobj/music_midi_timidity.o releaseobj/music_modplug.o releaseobj/music_mus_midiout.o releaseobj/music_mus_opl.o releaseobj/music_spc.o releaseobj/music_stream.o releaseobj/music_win_mididevice.o releaseobj/t_cmd.o releaseobj/t_fspic.o releaseobj/t_func.o releaseobj/t_load.o releaseobj/t_oper.o releaseobj/t_parse.o releaseobj/t_prepro.o releaseobj/t_script.o releaseobj/t_spec.o releaseobj/t_variable.o releaseobj/olddecorations.o releaseobj/thingdef_codeptr.o releaseobj/thingdef.o releaseobj/thingdef_exp.o releaseobj/thingdef_main.o releaseobj/thingdef_properties.o releaseobj/thingdef_states.o releaseobj/hardware.o releaseobj/i_cd.o releaseobj/i_input.o releaseobj/i_main.o releaseobj/i_movie.o releaseobj/i_system.o releaseobj/sdlglvideo.o releaseobj/sdlvideo.o releaseobj/st_start.o releaseobj/a_dynlight.o releaseobj/gfxfuncs.o releaseobj/gl_bsp.o releaseobj/gl_clipper.o releaseobj/gl_cycler.o releaseobj/gl_data.o releaseobj/gl_decal.o releaseobj/gl_drawinfo.o releaseobj/gl_dynlight.o releaseobj/gl_fakeflat.o releaseobj/gl_flats.o releaseobj/gl_framebuffer.o releaseobj/gl_geometric.o releaseobj/gl_glow.o releaseobj/gl_hirestex.o releaseobj/gl_light.o releaseobj/gl_menu.o releaseobj/gl_missinglines.o releaseobj/gl_missingtexture.o releaseobj/gl_models.o releaseobj/gl_models_md2.o releaseobj/gl_models_md3.o releaseobj/gl_nodes.o releaseobj/gl_portal.o releaseobj/gl_scene.o releaseobj/gl_shader.o releaseobj/gl_sky.o releaseobj/gl_skydome.o releaseobj/gl_sprite.o releaseobj/gl_swshaders.o releaseobj/gl_texture.o releaseobj/gltexture.o releaseobj/gl_translate.o releaseobj/gl_vertex.o releaseobj/gl_walls.o releaseobj/gl_walls_draw.o releaseobj/gl_weapon.o releaseobj/gl_wipe.o releaseobj/r_opengl.o releaseobj/automaptexture.o releaseobj/buildtexture.o releaseobj/canvastexture.o releaseobj/ddstexture.o releaseobj/flattexture.o releaseobj/imgztexture.o releaseobj/jpegtexture.o releaseobj/multipatchtexture.o releaseobj/patchtexture.o releaseobj/pcxtexture.o releaseobj/pngtexture.o releaseobj/rawpagetexture.o releaseobj/texture.o releaseobj/texturemanager.o releaseobj/tgatexture.o releaseobj/warptexture.o releaseobj/crashcatcher.o releaseobj/autozend.o -o gzdoom snes_spc/libsnes_spc.a
releaseobj/tempfiles.o: In function `FTempFileName::FTempFileName(char const*)':
tempfiles.cpp:(.text+0x73): warning: the use of `tempnam' is dangerous, better use `mkstemp'
releaseobj/p_setup.o: In function `P_SetupLevel(char*, int)':
p_setup.cpp:(.text+0x79e9): undefined reference to `P_LoadTranslator(char const*)'
releaseobj/p_xlat.o: In function `P_TranslateLineDef(line_t*, maplinedef_t*)':
p_xlat.cpp:(.text+0x166): undefined reference to `SimpleLineTranslations'
p_xlat.cpp:(.text+0x172): undefined reference to `NumBoomish'
p_xlat.cpp:(.text+0x188): undefined reference to `Boomish'
p_xlat.cpp:(.text+0x18f): undefined reference to `Boomish'
p_xlat.cpp:(.text+0x203): undefined reference to `SimpleLineTranslations'
releaseobj/p_xlat.o: In function `P_TranslateSectorSpecial(int)':
p_xlat.cpp:(.text+0x5f9): undefined reference to `SectorMasks'
p_xlat.cpp:(.text+0x60d): undefined reference to `SectorMasks'
p_xlat.cpp:(.text+0x659): undefined reference to `SectorTranslations'
p_xlat.cpp:(.text+0x692): undefined reference to `SectorTranslations'
releaseobj/t_load.o: In function `T_LoadScripts(MapData*)':
t_load.cpp:(.text+0x89e): undefined reference to `SimpleLineTranslations'
collect2: ld returned 1 exit status
[/spoiler]
i still had to apply my patch for r60 since it's still not applied to the upstream svn code
Code: Select all
patching file src/sound/i_sound.cpp
patching file src/sdl/i_system.cpp
patching file src/sdl/hardware.cpp
patching file src/actor.h
Hunk #1 succeeded at 768 (offset 1 line).
patching file src/gl/gl_menu.cpp
patching file src/fragglescript/t_func.cpp
Hunk #9 succeeded at 3438 (offset -8 lines).
Hunk #10 succeeded at 3465 (offset -8 lines).
Hunk #11 succeeded at 3502 (offset -8 lines).
Hunk #12 succeeded at 3551 (offset -8 lines).
Hunk #13 succeeded at 3580 (offset -8 lines).
Hunk #14 succeeded at 3792 (offset -8 lines).
patching file src/fragglescript/t_load.cpp
Hunk #1 succeeded at 328 (offset 40 lines).
patching file src/fragglescript/t_variable.cpp
patching file src/fragglescript/t_script.h
Hunk #1 succeeded at 655 with fuzz 1.
patching file src/sound/sample_flac.h
patching file snes_spc/Makefile
patching file Makefile.linux
but i also had to dos2unix fmodsound.cpp for g++ to correctly find it
Posted: Tue Mar 25, 2008 2:51
by Costja
GuntherDW, try this patch. I moved lemon .y-file to xlat2 dir, so make should not try to yacc it. The patch is not as clean as usual, because I used dos2unix too much to fix 'no source files' errors.
I think SNES_SPC and modplug library/implementation and include files should be separated.
Btw, does it compile gzdoom for you without -lmodplug? It compiled for me in both cases, but I didn't carefully check that with make clean; make, so I'm not sure.
Posted: Thu Mar 27, 2008 21:50
by GuntherDW
it compiles correctly now, but i can no longer use brightmaps apperantly, don't know if it's my drivers or gzdoom though
couldn't enable it again after i disabled it, noticed it wasn't enabled (or gzdoom was just damn dark) and after that i just could put it back on
gzdoom also hogs my CPU so much my entire PC just freezes for a couple of seconds, when i'm looking at a certain point in a level, and it doesn't even have to be a user made level
(for ex KDiZD has this one a lot, especially in for ex Z1M3 in the room with the "fly" bug, or the one with the stairs with the 'secret' (?) attic
when i look upwards it happens a lot, with only 0.15 to 0.2 secs of "move" frames
this bug is irritating as hell though
also, (but this also occurs with zdoom), fmodex doesn't like my install apperantly, some sounds seem to crash zdoom and i have to run zdoom with -nomusic, because otherwise i'd just get a black screen and i have to kill -9 zdoom
Posted: Fri Mar 28, 2008 1:00
by Costja
Made another patch based on
Jim's one
Differences between this patch and Jim's one:
- Small snes_spc/Makefile fix
- Fixed and renamed tools/lemon/Makefile.mgw to Makefile
- Small tools/updaterevision/Makefile fix
- wadsrc/Makefile cleaned zdoom.pk3 instead of gzdoom.pk3, fixed
- Modplug compilation fixes
- Brightmaps and lights pk3 are now compiled via main makefile
- distclean target now should remove all generated files
- $(ZDOOMBIN) target should now have complete dependencies
I changed some makefiles so compilation on Mingw should be rechecked.
ADDED: Brightmaps definitely work for me (To test them I use 'summon cyberdemon' in start area of the Entryway and then go to the hallway with god mode enabled).
I can't play gzdoom without -nomusic too and it seems to be
known zdoom bug.
Posted: Fri Mar 28, 2008 9:51
by Graf Zahl
Just for the record: I won't install any more Linux compile fixes unless someone seriously tries to make one that is based as closely on ZDoom's makefile as possible. As long as there are larger differences I can't just make simple updates because my comparison tools are of no help if the differences are too large - which would mean you'd have to do it over and over again.
Posted: Fri Mar 28, 2008 14:03
by Costja
Ok, are only makefiles must be as close to ZDoom's ones as possible or other files too? If not only makefiles must, I think I should stop using dos2unix util.
Could someone explain current differences between not patched zdoom's and not patched gzdoom's linux makefiles, especially the RESTART thing?
On what zdoom revisions are GZ1.1.02r0 and r78 based on?
Posted: Fri Mar 28, 2008 15:01
by Graf Zahl
If you really want to help, please fix the makefile for the latest revision (r82), which is based on ZDoom r862. Please note that the DEHSUPP compiler is not present in the GZDoom project and I won't add it again because it's too much of a hassle to keep it around. Unfortunately Randy disagrees and prefers to keep this instead of fixing the Dehacked code...

Posted: Fri Mar 28, 2008 23:41
by Costja
The patch contains minimal changes needed compile on my Ubuntu + few modifications to make Makefile.linux closer to zdoom's one.
As updaterevision tool didn't recognized my changes to Makefile.linux I decided to change the corresponding line:
Code: Select all
- tools/updaterevision/updaterevision src src/svnrevision_gz.h
+ @tools/updaterevision/updaterevision . src/svnrevision_gz.h
ADDED1: forgot to mention: tools/lemon/Makefile.mgw should be deleted
ADDED2: patch_r82_1.dif contains more aggressive changes to Makefile.linux (for example the whole RESTART thing is removed) and a small change to snes_spc/Makefile
Posted: Sat Apr 12, 2008 15:05
by Costja
Graf Zahl, was any part of patch_r82_1.dif (TEST/agressive patch) useful?
Patch for r89 attached.
Posted: Sat Apr 12, 2008 17:44
by Graf Zahl
Patch applied - after removing the parts that changed source code files. My local copy is always up to date with the latest ZDoom revision so this was already fixed.
Posted: Sun Apr 13, 2008 16:57
by Costja
Little patch for r92:
UPDATED2: Not working patch removed. Full patch is below.
Graf Zahl, should I do additional changes to the makefile to make it easier for automatic updates from zdoom's one? For example should I make GZDoom additions to be in their own lines rather than being appended to ZDoom's original lines?
ADDED: It seems I posted a patch too early. GZDoom crashes for me, crashlog attached
UPDATED: Debug build crashlog
UPDATED2: Crash fixed, see details below
Posted: Sun Apr 13, 2008 18:10
by Costja
Sorry, I couldn't find reasons of the crash and I don't have time to investigate it better. I didn't saw anything strange within extp and extensions vars via gdb (actually via graphical interface to it - insight).
As I said in the previous post, I replaced release build crashlog within debug build crashlog. I hope someone who has more knowledge can easily fix this crash.
Posted: Mon Apr 14, 2008 17:05
by Costja
Fixed the crash. It was
Code: Select all
src/gl/gl_hirestex.cpp: In member function ‘int FGLTexture::CheckExternalFile(bool&)’:
src/gl/gl_hirestex.cpp:314: warning: cannot pass objects of non-POD type ‘class FString’ through ‘...’; call will abort at runtime
The patch is attached.
Copied to be not missed:
Graf Zahl, should I do additional changes to the makefile to make it easier for automatic updates from zdoom's one? For example should I make GZDoom additions to be in their own lines rather than being appended to ZDoom's original lines?
ADDED:
Damn,
nonPODWarn.cc:6: warning: cannot pass objects of non-POD type `struct
std::string' through `...'; call will abort at runtime
This warning should IMHO really be turned into an error. The diagnostic ends
with "... call will abort at runtime", which sounds pretty severe to me!
It cannot be as it is only undefined behavior and the C++ (and C standard by the way) says that
undefined behavior cannot be an error only a warning.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |INVALID