- 17 Feb, 2014 1 commit
-
-
Sergei Trofimovich authored
This fixes most of implicit function declarations emitted C codegen in UNREG mode. Found by adding the following to mk/build.mk: SRC_CC_OPTS += -Werror=implicit-function-declaration SRC_HC_OPTS += -optc-Werror=implicit-function-declaration Issue #8748 Signed-off-by:
Sergei Trofimovich <slyfox@gentoo.org> Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
- 01 Oct, 2013 1 commit
-
-
Simon Marlow authored
-
- 13 Dec, 2012 1 commit
-
-
Simon Marlow authored
it was only needed for registerised compilation.
-
- 06 Aug, 2012 1 commit
-
-
ian@well-typed.com authored
No functional differences yet
-
- 23 Mar, 2012 1 commit
-
-
Ian Lynagh authored
We were comparing ALIGNMENT_DOUBLE to ALIGNMENT_LONG, but really we cared about W_ values, and sizeof(long) /= sizeof(void *) on Win64
-
- 11 Mar, 2012 1 commit
-
-
Ian Lynagh authored
-
- 22 Nov, 2011 1 commit
-
-
dterei authored
-
- 19 Oct, 2011 1 commit
-
-
Ian Lynagh authored
-
- 07 Oct, 2011 1 commit
-
-
dmp authored
LLVM does not support the __thread attribute for thread local storage and may generate incorrect code for global register variables. We want to allow building the runtime with LLVM-based compilers such as llvm-gcc and clang, particularly for MacOS. This patch changes the gct variable used by the garbage collector to use pthread_getspecific() for thread local storage when an llvm based compiler is used to build the runtime.
-
- 10 Aug, 2011 1 commit
-
-
When the bootstrap compiler does not include this patch, you must add this line to mk/build.mk, otherwise the ARM architecture cannot be detected due to a -undef option given to the C pre-processor. SRC_HC_OPTS = -pgmP 'gcc -E -traditional'
-
- 27 Jan, 2010 1 commit
-
-
Simon Marlow authored
-
- 10 Sep, 2009 1 commit
-
-
Simon Marlow authored
-
- 25 Aug, 2009 1 commit
-
-
Simon Marlow authored
I've updated the wiki page about the RTS headers http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes to reflect the new layout and explain some of the rationale. All the header files now point to this page.
-
- 02 Aug, 2009 1 commit
-
-
Simon Marlow authored
The first phase of this tidyup is focussed on the header files, and in particular making sure we are exposinng publicly exactly what we need to, and no more. - Rts.h now includes everything that the RTS exposes publicly, rather than a random subset of it. - Most of the public header files have moved into subdirectories, and many of them have been renamed. But clients should not need to include any of the other headers directly, just #include the main public headers: Rts.h, HsFFI.h, RtsAPI.h. - All the headers needed for via-C compilation have moved into the stg subdirectory, which is self-contained. Most of the headers for the rest of the RTS APIs have moved into the rts subdirectory. - I left MachDeps.h where it is, because it is so widely used in Haskell code. - I left a deprecated stub for RtsFlags.h in place. The flag structures are now exposed by Rts.h. - Various internal APIs are no longer exposed by public header files. - Various bits of dead code and declarations have been removed - More gcc warnings are turned on, and the RTS code is more warning-clean. - More source files #include "PosixSource.h", and hence only use standard POSIX (1003.1c-1995) interfaces. There is a lot more tidying up still to do, this is just the first pass. I also intend to standardise the names for external RTS APIs (e.g use the rts_ prefix consistently), and declare the internal APIs as hidden for shared libraries.
-
- 09 Jun, 2009 1 commit
-
-
Ian Lynagh authored
This means that, on Linux, we get functions like gamma defined when we #include math.h
-
- 02 Jun, 2009 1 commit
-
-
Simon Marlow authored
-
- 26 Apr, 2009 1 commit
-
-
Ian Lynagh authored
-
- 02 Dec, 2008 1 commit
-
-
Simon Marlow authored
Fixes crashes on Windows and Sparc
-
- 06 Oct, 2008 1 commit
-
-
Ian Lynagh authored
It's no longer needed, as base no longer #includes it
-
- 18 Sep, 2008 1 commit
-
-
Simon Marlow authored
-
- 16 Sep, 2008 1 commit
-
-
Simon Marlow authored
gcc has changed the meaning of "extern inline" when certain flags are on (e.g. --std=gnu99), and this broke our use of it in the header files.
-
- 04 Sep, 2008 1 commit
-
-
Ian Lynagh authored
This means S_ISSOCK gets defined on Linux
-
- 19 Jun, 2008 1 commit
-
-
Simon Marlow authored
gcc 4.3 emits warnings for static inline functions that its heuristics decided not to inline. The workaround is to either mark appropriate functions as "hot" (a new attribute in gcc 4.3), or sometimes to use "extern inline" instead. With this fix I can validate with gcc 4.3 on Fedora 9.
-
- 12 May, 2008 1 commit
-
-
Simon Marlow authored
-
- 25 Apr, 2008 1 commit
-
-
Ian Lynagh authored
Include TickyCounters.h in Stg.h if we are doing Ticky Ticky.
-
- 02 Apr, 2008 1 commit
-
-
Simon Marlow authored
This has several advantages: - -fvia-C is consistent with -fasm with respect to FFI declarations: both bind to the ABI, not the API. - foreign calls can now be inlined freely across module boundaries, since a header file is not required when compiling the call. - bootstrapping via C will be more reliable, because this difference in behavour between the two backends has been removed. There is one disadvantage: - we get no checking by the C compiler that the FFI declaration is correct. So now, the c-includes field in a .cabal file is always ignored by GHC, as are header files specified in an FFI declaration. This was previously the case only for -fasm compilations, now it is also the case for -fvia-C too.
-
- 24 Oct, 2006 1 commit
-
-
Simon Marlow authored
In preparation for parallel GC, split up the monolithic GC.c file into smaller parts. Also in this patch (and difficult to separate, unfortunatley): - Don't include Stable.h in Rts.h, instead just include it where necessary. - consistently use STATIC_INLINE in source files, and INLINE_HEADER in header files. STATIC_INLINE is now turned off when DEBUG is on, to make debugging easier. - The GC no longer takes the get_roots function as an argument. We weren't making use of this generalisation.
-
- 28 Sep, 2006 1 commit
-
-
Ian Lynagh authored
We were assuming we could multiply 2 32-bit numbers without overflowing a 64-bit number, but we can't as the top bit is the sign bit.
-
- 09 Sep, 2006 1 commit
-
-
Ian Lynagh authored
-
- 07 Apr, 2006 1 commit
-
-
Simon Marlow authored
Most of the other users of the fptools build system have migrated to Cabal, and with the move to darcs we can now flatten the source tree without losing history, so here goes. The main change is that the ghc/ subdir is gone, and most of what it contained is now at the top level. The build system now makes no pretense at being multi-project, it is just the GHC build system. No doubt this will break many things, and there will be a period of instability while we fix the dependencies. A straightforward build should work, but I haven't yet fixed binary/source distributions. Changes to the Building Guide will follow, too.
-
- 18 Nov, 2005 1 commit
-
-
simonmar authored
Add wcStore(), a write-combining store if supported (I tried using it in the update code and only succeeded in making things slower, but it might come in handy in the future)
-
- 14 Jul, 2005 1 commit
-
-
simonmar authored
Fix mulMayOflo() on 64-bit archs. This fixes the arith003 failures on x86_64.
-
- 27 Mar, 2005 1 commit
-
-
panne authored
* Some preprocessors don't like the C99/C++ '//' comments after a directive, so use '/* */' instead. For consistency, a lot of '//' in the include files were converted, too. * UnDOSified libraries/base/cbits/runProcess.c. * My favourite sport: Killed $Id$s.
-
- 01 Feb, 2005 1 commit
-
-
simonmar authored
Add __attribute__((used)) to static functions, as gcc 3.4 -O2 is in the habit of throwing them away.
-
- 28 Jan, 2005 1 commit
-
-
simonmar authored
Rationalise the BUILD,HOST,TARGET defines. Recall that: - build is the platform we're building on - host is the platform we're running on - target is the platform we're generating code for The change is that now we take these definitions as applying from the point of view of the particular source code being built, rather than the point of view of the whole build tree. For example, in RTS and library code, we were previously testing the TARGET platform. But under the new rule, the platform on which this code is going to run is the HOST platform. TARGET only makes sense in the compiler sources. In practical terms, this means that the values of BUILD, HOST & TARGET may vary depending on which part of the build tree we are in. Actual changes: - new file: includes/ghcplatform.h contains platform defines for the RTS and library code. - new file: includes/ghcautoconf.h contains the autoconf settings only (HAVE_BLAH). This is so that we can get hold of these settings independently of the platform defines when necessary (eg. in GHC). - ghcconfig.h now #includes both ghcplatform.h and ghcautoconf.h. - MachRegs.h, which is included into both the compiler and the RTS, now has to cope with the fact that it might need to test either _TARGET_ or _HOST_ depending on the context. - the compiler's Makefile now generates stage{1,2,3}/ghc_boot_platform.h which contains platform defines for the compiler. These differ depending on the stage, of course: in stage2, the HOST is the TARGET of stage1. This was wrong before. - The compiler doesn't get platform info from Config.hs any more. Previously it did (sometimes), but unless we want to generate a new Config.hs for each stage we can't do this. - GHC now helpfully defines *_{BUILD,HOST}_{OS,ARCH} automatically in CPP'd Haskell source. - ghcplatform.h defines *_TARGET_* for backwards compatibility (ghcplatform.h is included by ghcconfig.h, which is included by config.h, so code which still #includes config.h will get the TARGET settings as before). - The Users's Guide is updated to mention *_HOST_* rather than *_TARGET_*. - coding-style.html in the commentary now contains a section on platform defines. There are further doc updates to come. Thanks to Wolfgang Thaller for pointing me in the right direction.
-
- 13 Jan, 2005 1 commit
-
-
simonmar authored
Instead of defining NO_REGS when IN_STG_CODE==0, define NO_GLOBAL_REG_DECLS instead. This means that in non-STG code we can still get at the values of REG_R1 & co., even though the global register decls are turned off. This is necessary because we sometimes need to set up different stack layouts depending on REG_R1.
-
- 02 Sep, 2004 1 commit
-
-
simonmar authored
Rearrange so that Regs.h include comes before inline function definitions. I'm guessing that newer versions of gcc are less picky about this, which is why we hadn't noticed it.
-
- 13 Aug, 2004 1 commit
-
-
simonmar authored
Merge backend-hacking-branch onto HEAD. Yay!
-
- 23 Mar, 2004 1 commit
-
-
simonmar authored
Add GNUC3_ATTRIBUTE() macro Submitted by: Duncan Coutts <duncan.coutts@worcester.oxford.ac.uk>
-
- 08 Mar, 2004 1 commit
-
-
stolz authored
INLINEs for Intel's icc
-