Where can I get copyright assignment/disclaimer forms for contribution to gcc ?

2017-09-08 Thread lhmouse
Dear GCC developers, I have created a patch for enabling diagnostic colors on Windows. In order to allow the patch to be integrate with GCC, I need the copyright assignment/disclaimer forms, according to . Our MinGW target maintainer, jon_y, is also interes

Re: use of exceptions in GCC

2016-11-16 Thread lhmouse
> GCC is built with -fno-exceptions. I assume that's mainly to avoid > having to catch and handle exceptions in what was originally C code. > I also assume that also means that there's a policy or convention in > place against throwing exceptions in GCC or making use of constructs > that might thr

Re: Re: Make GCC emit ASM instructions in 'gcc/except.c' for i686 MinGW targets ?

2016-10-17 Thread lhmouse
> I'd probably create a new exception handling model and conditionalize > whatever code you need based on that. That would require copy-n-paste of tons of code... All this remains contingent on Microsoft's generosity because they don't provide APIs for SEH on x86, unlike on x64. So I have to reu

Make GCC emit ASM instructions in 'gcc/except.c' for i686 MinGW targets ?

2016-10-16 Thread lhmouse
Hi there, I come up with an idea about implementing stack unwinding for the i686-w64-mingw32 target using native Windows Structured Exception Handling (a.k.a SEH) for efficiency reasons. Unlike DWARF and SEH for x64, SEH for x86 is stack-based and works like the SJLJ exception model: The operatin

Re: fxsrintrin.h

2016-08-18 Thread lhmouse
Given the `_fxsave()` function returning `void`, it is invalid C but valid C++: # WG14 N1256 (C99) / N1570 (C11) 6.8.6.4 The return statement Constraints 1 A return statement with an expression shall not appear in a function whose return type is void. ... # WG21 N1804 (C++03) 6.6.3 The return sta

Re: Possible missed optimization opportunity with const?

2016-08-17 Thread lhmouse
In your example the compiler is not given the guarantee that the object 'foo' in question can only be modified through the pointer. We can make such guarantee by adding the `restrict` qualifier to the pointer, like this: const int *restrict pfoo = &foo; With -O3 on GCC 6.1 the modified code